Toybrick

关于mpp的问题

wujialiang

注册会员

积分
120
发表于 2020-4-23 10:10:23    查看: 9773|回复: 6 | [复制链接]    打印 | 显示全部楼层
请问mpp在处理h.264解码的出错的时候会打印
mpp_log: decoder_get_frame get err info:1 discard:0.
或者
[ 6404.445147] rk_vcodec: vpu2_dec task: 0 ms
[ 6404.445606] rk-vcodec ffb80000.vpu_service: resetting...
[ 6404.445669] rk-vcodec ffb80000.vpu_service: reset done
[ 6404.445727] rk-vcodec ffb80000.vpu_service: reset done



请问是什么情况下才会导致解码器打印上述的日志信息?请求解答
回复

使用道具 举报

jefferyzhang

版主

积分
13204
发表于 2020-4-23 10:22:47 | 显示全部楼层
送给硬件解码器的包有问题,就会触发解码失败,然后reset全部寄存器。
如果你是网络流,丢包情况造成解码失败是很正常的。。
回复

使用道具 举报

wujialiang

注册会员

积分
120
 楼主| 发表于 2020-4-23 13:47:20 | 显示全部楼层
jefferyzhang 发表于 2020-4-23 10:22
送给硬件解码器的包有问题,就会触发解码失败,然后reset全部寄存器。
如果你是网络流,丢包情况造成解码失 ...

关于文档上的说明

/*
* bit definition for mode flag in MppFrame
*/
/* progressive frame */
#define MPP_FRAME_FLAG_FRAME            (0x00000000)
/* top field only */
#define MPP_FRAME_FLAG_TOP_FIELD        (0x00000001)
/* bottom field only */
#define MPP_FRAME_FLAG_BOT_FIELD        (0x00000002)
/* paired field */
#define MPP_FRAME_FLAG_PAIRED_FIELD     (MPP_FRAME_FLAG_TOP_FIELD|MPP_FRAME_FLAG_BOT_FIELD)
/* paired field with field order of top first */
#define MPP_FRAME_FLAG_TOP_FIRST        (0x00000004)
/* paired field with field order of bottom first */
#define MPP_FRAME_FLAG_BOT_FIRST        (0x00000008)
/* paired field with unknown field order (MBAFF) */
#define MPP_FRAME_FLAG_DEINTERLACED     (MPP_FRAME_FLAG_TOP_FIRST|MPP_FRAME_FLAG_BOT_FIRST)
#define MPP_FRAME_FLAG_FIELD_ORDER_MASK (0x0000000C)
// for multiview stream
#define MPP_FRAME_FLAG_VIEW_ID_MASK     (0x000000f0)




这些标志位具体是什么含义呢?文档没有说清楚,可以解释一下?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

wujialiang

注册会员

积分
120
 楼主| 发表于 2020-4-24 09:11:17 | 显示全部楼层
本帖最后由 wujialiang 于 2020-4-24 09:12 编辑
jefferyzhang 发表于 2020-4-23 10:22
送给硬件解码器的包有问题,就会触发解码失败,然后reset全部寄存器。
如果你是网络流,丢包情况造成解码失 ...

大神可以回复一下吗?应问,当出现上述的错误
mpp_log: decoder_get_frame get err info:1 discard:0.
然后系统一直打印
[89163.617573] rk_vcodec: vpu2_dec task: 0 ms
[89163.617951] rk-vcodec ffb80000.vpu_service: resetting...
[89163.618056] rk-vcodec ffb80000.vpu_service: reset done
[89163.618156] rk-vcodec ffb80000.vpu_service: reset done



这时候应该如何处理?
回复

使用道具 举报

jefferyzhang

版主

积分
13204
发表于 2020-4-24 14:23:25 | 显示全部楼层
wujialiang 发表于 2020-4-24 09:11
大神可以回复一下吗?应问,当出现上述的错误
mpp_log: decoder_get_frame get err info:1 discard:0.
然 ...

这个只能检查你自己代码。硬件是死的,只有你人是活的。送给硬件解码器的码流不对,难道你还希望硬件自己给纠正了不成

其他你说的那些东西我不是很懂,这个涉及到比较专业的编解码问题,你应该能从网络上获取一些信息。名词都不是我们能编的出来的,如果你也不懂,就别去设置他就好了。默认值都是ok的。
回复

使用道具 举报

wujialiang

注册会员

积分
120
 楼主| 发表于 2020-4-27 22:01:01 | 显示全部楼层
jefferyzhang 发表于 2020-4-24 14:23
这个只能检查你自己代码。硬件是死的,只有你人是活的。送给硬件解码器的码流不对,难道你还希望硬件自己 ...

我已经搞定了,但是还是比较在意那个重置的问题,要时序速度方面控制平衡才行,一方面速度时序控制不好都容易出错,因为都是局域网接到同一个交换机,不存在丢帧或者数据包错误的问题或者说丢包帧不完整的概率很小
回复

使用道具 举报

kispr

注册会员

积分
125
发表于 2020-7-3 18:50:38 | 显示全部楼层
wujialiang 发表于 2020-4-27 22:01
我已经搞定了,但是还是比较在意那个重置的问题,要时序速度方面控制平衡才行,一方面速度时序控制不好都 ...

大佬你好 我这边也出现了同样的情况,当开多路视频多个mpp解码时就会出现大量解码失败情况,怎么调整的呢?

忘不吝赐教!!谢谢
回复

使用道具 举报

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

本版积分规则

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


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