Toybrick

使用MPP引起vpu_service复位

15992605143

中级会员

积分
303
发表于 2019-10-15 14:52:08    查看: 19324|回复: 15 | [复制链接]    打印 | 显示全部楼层
使用MPP解码H264视频,运行3-5分钟左右,发生下面的错误,导致解码中断。软件恢复以后运行一段时间又会重复发生。
基本上每间隔几分钟就会发生复位,在发生复位以前,也没有报什么错误。请问怎么解决?

出错信息:
[NULL @ 0x3b3ca2e0] nal_unit_type: 7, nal_ref_idc: 3
[NULL @ 0x3b3ca2e0] nal_unit_type: 8, nal_ref_idc: 3
[h264_rkmpp @ 0x3b3c9e50] Wrote 59031 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 3032 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 2564 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 2601 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[  182.145538] rk-vcodec ffb80000.vpu_service: resetting...
[  182.145599] rk-vcodec ffb80000.vpu_service: reset done
[  182.145658Aug  5 10:07:31 rk1808 user.info kernel: [  182.145538] rk-vcodec ffb80000.vpu_service: resetting...
Aug  5 10:07:31 rk1808 user.info kernel: [  182.145599] rk-vcodec ffb80000.vpu_service: reset done
Aug  5 10:07:31 rk1808 user.info kernel: [  182.145658] rk-vcodec ffb80000.vpu_service: reset done
] rk-vcodec ffb80000.vpu_service: reset done
[h264_rkmpp @ 0x3b3c9e50] Wrote 5181 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 2110 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4509 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 2143 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4260 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4282 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.


补充:
程序初始化启动时输出的信息如下:
mpi: mpp version: Without VCS info
[   70.809393] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01
Aug  5 09:03:41 rk1808 user.err kernel: [   70.809393] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpp: deprecated block control, use timeout control instead
mpp: deprecated block control, use timeout control instead

本帖子中包含更多资源

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

x
回复

使用道具 举报

jefferyzhang

版主

积分
12923
发表于 2019-10-15 16:13:45 | 显示全部楼层
1. 你发的log里没有看出任何错误,开始时候前几行error并不是错误,而是mpp在找适配的硬件。mpp是所有rk平台通用的。
2. 你说的reset原因是丢包或包不完整,mpp解不了,所以重置了vpu寄存器。这都是正常现象。
回复

使用道具 举报

15992605143

中级会员

积分
303
 楼主| 发表于 2019-10-16 13:44:23 | 显示全部楼层
一般出现这种情况怎么处理呢?
回复

使用道具 举报

jefferyzhang

版主

积分
12923
发表于 2019-10-16 14:11:23 | 显示全部楼层
15992605143 发表于 2019-10-16 13:44
一般出现这种情况怎么处理呢?

不处理,网络本来就有不稳定性。丢一两个包又不碍事。。。
要是一个包丢不能丢,那你就用tcp连接就好了
回复

使用道具 举报

15992605143

中级会员

积分
303
 楼主| 发表于 2019-10-16 14:32:45 | 显示全部楼层
不处理的话,后续会接收到数量不少的error frame(3个到50个之间),表现在程序上就是画面会卡顿。有没有方法较快速恢复正常解码。
回复

使用道具 举报

yjr1220

注册会员

积分
86
发表于 2019-10-17 22:30:36 | 显示全部楼层
我在3328的硬件解码中也碰到类似的问题,解码每隔几分钟就reset , 导致画面卡顿,请问楼主怎么解决?
回复

使用道具 举报

yjr1220

注册会员

积分
86
发表于 2019-10-17 22:35:32 | 显示全部楼层
我专门检测了数据,没有丢包,但解码器仍旧隔几分钟reset, 不知道那个环节出错了,请问楼主,喂给解码器的数据包大小是否有要求? 还有喂给解码器数据的时间间隔是否有要求? 我们在使用的时候要注意什么问题? 能否指点一下!!! 多谢!
回复

使用道具 举报

yjr1220

注册会员

积分
86
发表于 2019-10-17 22:52:36 | 显示全部楼层
我的log 是:
mpi: mpp version: Without VCS info
[  105.082378] rk_vcodec: vpu_service_ioctl:1894: error: unknown vpu service ioctl cmd 40086c01
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
[  115.303070] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  115.313993] rk-vcodec ff360000.rkvdec: reset done
[  115.318804] rk-vcodec ff360000.rkvdec: reset done
[  116.298924] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  116.309876] rk-vcodec ff360000.rkvdec: reset done
[  116.314712] rk-vcodec ff360000.rkvdec: reset done
[  117.299392] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  117.310301] rk-vcodec ff360000.rkvdec: reset done
[  117.315128] rk-vcodec ff360000.rkvdec: reset done
[  118.306827] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  118.317751] rk-vcodec ff360000.rkvdec: reset done
[  118.322565] rk-vcodec ff360000.rkvdec: reset done
[  119.296326] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  119.307284] rk-vcodec ff360000.rkvdec: reset done
[  119.312117] rk-vcodec ff360000.rkvdec: reset done
[  120.301059] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  120.311954] rk-vcodec ff360000.rkvdec: reset done
[  120.316771] rk-vcodec ff360000.rkvdec: reset done
[  121.301842] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  121.312636] rk-vcodec ff360000.rkvdec: reset done
[  121.317496] rk-vcodec ff360000.rkvdec: reset done
[  122.306047] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  122.316959] rk-vcodec ff360000.rkvdec: reset done
[  122.321787] rk-vcodec ff360000.rkvdec: reset done
[  123.306950] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  123.317820] rk-vcodec ff360000.rkvdec: reset done
[  123.322652] rk-vcodec ff360000.rkvdec: reset done
[  124.310390] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  124.321352] rk-vcodec ff360000.rkvdec: reset done
[  124.326165] rk-vcodec ff360000.rkvdec: reset done
[  125.313844] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  125.324624] rk-vcodec ff360000.rkvdec: reset done
[  125.329482] rk-vcodec ff360000.rkvdec: reset done
[  126.314485] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  126.325259] rk-vcodec ff360000.rkvdec: reset done
[  126.330058] rk-vcodec ff360000.rkvdec: reset done
[  127.318822] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  127.329780] rk-vcodec ff360000.rkvdec: reset done
[  127.334594] rk-vcodec ff360000.rkvdec: reset done
[  128.315759] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  128.326661] rk-vcodec ff360000.rkvdec: reset done
[  128.331512] rk-vcodec ff360000.rkvdec: reset done
[  129.314084] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  129.324973] rk-vcodec ff360000.rkvdec: reset done
[  129.329794] rk-vcodec ff360000.rkvdec: reset done
[  130.318005] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  130.328925] rk-vcodec ff360000.rkvdec: reset done
[  130.333752] rk-vcodec ff360000.rkvdec: reset done
[  131.317598] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  131.328451] rk-vcodec ff360000.rkvdec: reset done
[  131.333278] rk-vcodec ff360000.rkvdec: reset done
[  132.314773] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  132.325683] rk-vcodec ff360000.rkvdec: reset done
[  132.330537] rk-vcodec ff360000.rkvdec: reset done
[  133.319846] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  133.330750] rk-vcodec ff360000.rkvdec: reset done
[  133.335559] rk-vcodec ff360000.rkvdec: reset done
[  134.318572] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  134.329473] rk-vcodec ff360000.rkvdec: reset done
[  134.334297] rk-vcodec ff360000.rkvdec: reset done
[  135.323654] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  135.334525] rk-vcodec ff360000.rkvdec: reset done
[  135.339361] rk-vcodec ff360000.rkvdec: reset done
[  136.331009] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  136.341876] rk-vcodec ff360000.rkvdec: reset done
[  136.346694] rk-vcodec ff360000.rkvdec: reset done
[  137.328402] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  137.339311] rk-vcodec ff360000.rkvdec: reset done
[  137.344145] rk-vcodec ff360000.rkvdec: reset done
[  138.331349] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  138.342275] rk-vcodec ff360000.rkvdec: reset done
[  138.347098] rk-vcodec ff360000.rkvdec: reset done
[  139.327303] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  139.338263] rk-vcodec ff360000.rkvdec: reset done
[  139.343090] rk-vcodec ff360000.rkvdec: reset done
[  140.334784] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  140.345665] rk-vcodec ff360000.rkvdec: reset done
[  140.350519] rk-vcodec ff360000.rkvdec: reset done
[  141.328773] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  141.339633] rk-vcodec ff360000.rkvdec: reset done
[  141.344496] rk-vcodec ff360000.rkvdec: reset done
[  142.332043] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  142.342987] rk-vcodec ff360000.rkvdec: reset done
[  142.347809] rk-vcodec ff360000.rkvdec: reset done
[  143.330912] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  143.341829] rk-vcodec ff360000.rkvdec: reset done
[  143.346649] rk-vcodec ff360000.rkvdec: reset done
[  144.337273] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  144.348142] rk-vcodec ff360000.rkvdec: reset done
[  144.352962] rk-vcodec ff360000.rkvdec: reset done
[  145.330155] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  145.341015] rk-vcodec ff360000.rkvdec: reset done
[  145.345843] rk-vcodec ff360000.rkvdec: reset done
[  146.341648] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  146.352567] rk-vcodec ff360000.rkvdec: reset done
[  146.357387] rk-vcodec ff360000.rkvdec: reset done
[  147.336517] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  147.347477] rk-vcodec ff360000.rkvdec: reset done
[  147.352301] rk-vcodec ff360000.rkvdec: reset done
[  148.336659] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  148.347578] rk-vcodec ff360000.rkvdec: reset done
[  148.352401] rk-vcodec ff360000.rkvdec: reset done
[  149.338660] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  149.349585] rk-vcodec ff360000.rkvdec: reset done
[  149.354405] rk-vcodec ff360000.rkvdec: reset done
[  150.339762] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  150.350665] rk-vcodec ff360000.rkvdec: reset done
[  150.355518] rk-vcodec ff360000.rkvdec: reset done
[  151.337034] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  151.347927] rk-vcodec ff360000.rkvdec: reset done
[  151.352757] rk-vcodec ff360000.rkvdec: reset done
[  152.343466] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  152.354325] rk-vcodec ff360000.rkvdec: reset done
[  152.359122] rk-vcodec ff360000.rkvdec: reset done
^C

   
回复

使用道具 举报

yjr1220

注册会员

积分
86
发表于 2019-10-17 22:57:25 | 显示全部楼层
难道是解码器在图像没有变化是就休眠了?
回复

使用道具 举报

yjr1220

注册会员

积分
86
发表于 2019-10-17 22:58:50 | 显示全部楼层
当我在摄像头前面晃动物体时,就不再reset, 好像有这个规律!  楼主请帮忙分析分析。
回复

使用道具 举报

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

本版积分规则

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


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