Toybrick

调用mpp进行h264解码报错

入门小白

中级会员

积分
252
发表于 2021-3-22 10:25:00    查看: 12039|回复: 5 | [复制链接]    打印 | 显示全部楼层
如题,调用mpph264解码----检测识别,运行一段时间后报错如下:
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.
[h264_rkmpp @ 0x62a2ea0] Received a errinfo frame.

使用命令dmesg查看:
[   83.134653] rk_vcodec: vpu_service_ioctl:2147: error: unknown vpu service ioctl cmd 40086c01
[ 1406.526408] Open pcie misc device success
[ 1435.370691] rk_vcodec: vpu_service_ioctl:2147: error: unknown vpu service ioctl cmd 40086c01
[ 2334.790657] rk_vcodec: vpu_service_ioctl:2147: error: unknown vpu service ioctl cmd 40086c01
[ 2380.209892] rk-vcodec ff660000.rkvdec: resetting...
[ 2380.210742] rk-vcodec ff660000.rkvdec: reset done
[ 2380.211433] rk-vcodec ff660000.rkvdec: reset done
[ 2661.323233] invalid destination resolution act_w = 0, act_h = 0
[ 2661.323789] rga: req argument is inval

请问一下这个问题怎么解决?


回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2021-3-22 14:33:43 | 显示全部楼层
log显示进来的不是264帧,VPU解不了。
回复

使用道具 举报

入门小白

中级会员

积分
252
 楼主| 发表于 2021-3-22 14:41:36 | 显示全部楼层
jefferyzhang 发表于 2021-3-22 14:33
log显示进来的不是264帧,VPU解不了。

那为什么程序运行开始不会出错大概几分钟后,才会出现这个问题?难道在运行过程中会改变编码类型?我用的是网络摄像头,单独解码播放视频是ok的,解码+检测识别只能运行一段时间就会报这个错了
回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2021-3-22 14:47:49 | 显示全部楼层
入门小白 发表于 2021-3-22 14:41
那为什么程序运行开始不会出错大概几分钟后,才会出现这个问题?难道在运行过程中会改变编码类型?我用的 ...

最常见原因就是丢包。
不用去怀疑mpp有bug,这个一定是上层应用没处理好。
回复

使用道具 举报

入门小白

中级会员

积分
252
 楼主| 发表于 2021-3-22 14:54:12 | 显示全部楼层
jefferyzhang 发表于 2021-3-22 14:47
最常见原因就是丢包。
不用去怀疑mpp有bug,这个一定是上层应用没处理好。 ...

再问一句啊,如果丢包的话,要怎么处理呢?
回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2021-3-22 15:00:39 | 显示全部楼层
入门小白 发表于 2021-3-22 14:54
再问一句啊,如果丢包的话,要怎么处理呢?

应用要判断丢的是什么包,如果懒得处理,就全部往mpp送就是了,顶多就是解不了mpp会重制寄存器。
如果写得好的,要判断丢的那个slice的整个frame都不能往mpp送。如果丢的是p帧,就损失一帧,如果丢的是I帧,后面的p帧就都不能要。
回复

使用道具 举报

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

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表