rv1108-evb-v12 sdk的视频拍照的流程 (2)

上一篇分析了当飞机空中端接收用户地面端发送的拍照命令后,软件回调的执行。但是还没有说明图片的存储和传送这块还没有分析到。所以接下来就是分析图片的存储和发送流程。


通过终端的调试打印信息来看,当接收到地面端的拍照指令后,执行文件app\video\process\nv12_process.cpp中的类NV12_MJPG中的公有成员方法StreamPUBase中的函数processFrame。主要是获取拍照的分辨率然后根据分辨率分配ion内存的大小。
 

bool processFrame(shared_ptr<BufferBase> inBuf,  shared_ptr<BufferBase> outBuf)

    video_rga_photo_process(video, inBuf->getFd(), inBuf->getWidth(), inBuf->getHeight(), inBuf->getVirtAddr());
        video_ion_alloc(&video->photo.rga_photo, width, height)
            video_ion_alloc_rational(video_ion, width, height, 3, 2);
                video_ion_alloc_buf(video_ion);
        vpu_nv12_encode_jpeg_doing(&video->photo.encode[video->photo.num],
                               buffer, fd, size_ext);

分配了ion内存后,调用vpu_nv12_encode_jpeg_doing(&video->photo.encode_ext[video->photo.num], buffer_ext, fd_ext, size_ext);就开始执行驱动部分的代码 kernel/arch/arm/mach-rockchip/vcodec_service.c。这里应该就是调用了底层的摄像头硬件作出牌照操作。

pr_info("%s: power on\n", dev_name(pservice->dev));对应的log信息:vcodec_service: 30000000.vpu_service: power on


 

rk1108\app\video\process\video.cpp

video_record_addvideo(int id,struct ui_frame* front,struct ui_frame* back,struct ui_frame* cif,char rec_immediately,char check_record_init)
    pthread_create(&video->record_id, &attr, video_record, video)
        static void* video_record(void* arg)
            {
                ...
                 while (v
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: rv1108 mini evb是一款基于颗粒RK1108芯片的嵌入式开发板。RK1108芯片采用了高性能的Cortex-A7架构,并搭载了强大的图像处理单元(VPU)和图像信号处理单元(ISP),能够实现高效的图像处理和视频编码功能。 rv1108 mini evb板载了丰富的外设接口,包括USB Host、USB OTG、HDMI、以太网等,提供了便捷的扩展和连接方式。它还支持多种存储介质,如SD卡、eMMC等。此外,rv1108 mini evb还提供了蓝牙和Wi-Fi模块,使其具备了无线通信功能。 rv1108 mini evb适用于多种场景和应用,比如智能家居、智能安防、智能交通等。它可以处理高清视频流,支持人脸识别、车牌识别等复杂的图像处理算法。同时,它还具备低功耗和高性能的特点,适合于资源受限的嵌入式环境。 对于开发者来说,rv1108 mini evb提供了丰富的软件开发支持,包括基于Linux的开发环境和SDK,使他们可以快速开发和调试应用程序。同时,rv1108 mini evb还提供了丰富的开发文档和示例代码,帮助开发者更好地理解和使用这款开发板。 总之,rv1108 mini evb是一款性能强大、功能丰富的嵌入式开发板,适合用于各种图像处理和视频编码应用。它的高性能和低功耗特点,以及丰富的软件开发支持,使得它成为开发者进行嵌入式开发的理想选择。 ### 回答2: RV1108 Mini EVB是一款基于Rockchip RV1108芯片的开发板。RV1108芯片是一种高性能、低功耗的嵌入式处理器,主要用于智能家居、智能监控、机器人等领域。 RV1108 Mini EVB开发板采用了紧凑的设计,尺寸小巧便于携带和使用。开发板上搭载了丰富的硬件接口,包括USB、HDMI、以太网、音频输出等,方便开发者进行外围设备的连接和扩展。 此外,RV1108 Mini EVB还支持WiFi和蓝牙无线通信,方便开发者进行远程控制和数据传输。它还配备了TF卡插槽,可以方便地进行存储扩展和固件升级。 开发者可以使用RV1108 Mini EVB进行软件开发、系统调试和性能优化。它支持Linux和Android操作系统,提供了丰富的软件开发工具和SDK供开发者使用。 RV1108 Mini EVB具有较低的功耗和高性能,可以满足多种应用场景的需求。它还有较好的稳定性和可靠性,可长时间运行,适用于各种工业和商业应用。 总之,RV1108 Mini EVB是一款功能强大、易于使用的开发板,为开发者提供了丰富的硬件接口和软件开发工具,可广泛应用于智能家居、智能监控等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值