Firefly开源社区

[应用开发] rv1126通过v4l2拉取usb摄像头mjpeg流解码耗时很长

197

积分

0

威望

0

贡献

技术小白

积分
197
发表于 5 天前     
在rv1126上拉取usb摄像头1080p分辨率的视频流的时候,默认情况下拉取的是yuv格式的,并且拉取1080p的时候帧率是5fps,如果要拉取25或者30fps的,需要拉取mjpeg编码的才行,通过v4l2拉取到了mjpeg的视频流,保存文件测试确认分辨率是1080p,而且帧率也是够的,然后参考mpi_dec_test测试文件添加解码部分,通过计算发现调用mpp的解码接口,耗时平均一帧500ms左右,但是我打开了mpp的调试信息,发现硬解码的时间都不到20ms,应用上参考mpi_dec_test封装的解码接口的耗时如下:
mpp[993]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
write frame to file 8
decode 8 frame neet time 593 ms
mpp[993]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
write frame to file 9
decode 9 frame neet time 597 ms
mpp[993]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
write frame to file 10
decode 10 frame neet time 600 ms
mpp[993]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
write frame to file 11
decode 11 frame neet time 599 ms
mpp[993]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0

上面log中的时间,是解码第几帧时的耗时。另外mpp硬解码耗时log如下:
[228278.710354] ffb90400.vdpu: pid: 993, session: 7aafb89e, time: 22230 us
[228279.307964] ffb90400.vdpu: pid: 993, session: 7aafb89e, time: 22182 us
[228279.906292] ffb90400.vdpu: pid: 993, session: 7aafb89e, time: 22133 us
[228280.508154] ffb90400.vdpu: pid: 993, session: 7aafb89e, time: 22141 us

请问,有大佬碰到过类似问题吗?给下建议,谢谢。
回复

使用道具 举报

197

积分

0

威望

0

贡献

技术小白

积分
197
发表于 5 天前     
分析解码里面的接口,发现是mApi->poll(mCtx, MPP_PORT_OUTPUT, MPP_POLL_BLOCK);这个地方等待了好长时间。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表