Firefly开源社区

打印 上一主题 下一主题

[Linux] Rkmpp硬解码测试失败:mpp_dec_test

13

积分

0

威望

0

贡献

技术小白

积分
13

Rkmpp硬解码测试失败:mpp_dec_test

发表于 2021-4-2 09:50:11      浏览:11607 | 回复:0        打印      只看该作者   [复制链接] 楼主
详细问题记录在这个里边:https://github.com/rockchip-linux/mpp/issues/188
代码分支:release

解码过程中解码一帧日志信息:
  1. ./mpi_dec_test -i /home/test.h264 -t 7 -o test.yuv -w 1920 -h 1080
复制代码
  1. mpp[4052]: h264d_api: [pkt_in_timeUs] is_avcC=0, in_pts=0, pkt_eos=1, len=3649, pkt_no=239
  2. mpp[4052]: h264d_parse: SliceSTATE_ResetSlice
  3. mpp[4052]: h264d_parse: SliceSTATE_ReadNalu
  4. mpp[4052]: h264d_parse: nalu_type=SLICE.
  5. mpp[4052]: h264d_sps: [DPB_size] dpb_size[0]=3, mvc_flag=0, dpb_size[1]=0
  6. mpp[4052]: h264d_slice: [SLICE_HEAD] type=0, layer_id=0,sps_id=0, pps_id=0, struct=3, frame_num=102
  7. mpp[4052]: h264d_parse: SliceSTATE_ParseNalu
  8. mpp[4052]: h264d_init: [DPB_malloc] g_framecnt=239, com_flag=0, mark_idx=2, slot_idx=2, slice_type=0, struct=3, lay_id=0
  9. mpp[4052]: h264d_init: [DPB_INFO] cur_slot_idx=2
  10. mpp[4052]: h264d_init: [DPB_INFO] ref_slot_idx[0]=3
  11. mpp[4052]: h264d_init: [DPB_INFO] ref_slot_idx[1]=1
  12. mpp[4052]: h264d_init: [DPB_INFO] ref_slot_idx[2]=0
  13. mpp[4052]: h264d_init: [DPB_MARK_INFO] slot_idx=2, top_used=1, bot_used=1, out_flag=1, fd=0xff
  14. mpp[4052]: h264d_init: [DPB_MARK_INFO] ---------- cur_slot=2 --------------------
  15. mpp[4052]: h264d_init: [DPB_REF_ERR] slot_idx=0, dpb_err[0]=1
  16. mpp[4052]: h264d_init: [DPB_REF_ERR] slot_idx=1, dpb_err[1]=1
  17. mpp[4052]: h264d_init: [DPB_REF_ERR] slot_idx=3, dpb_err[2]=1
  18. mpp[4052]: h264d_init: list0 dpb: cur_err_flag=1, pps_refs=1, over_flag=1, num_ref_l0=3
  19. mpp[4052]: h264d_parse: SliceSTATE_InitPicture
  20. mpp[4052]: h264d_parse: SliceSTATE_GetSliceData
  21. mpp[4052]: h264d_parse: SliceSTATE_RegisterOneFrame
  22. mpp[4052]: h264d_dpb: [DPB_size] p_Dpb->used_size=3
  23. mpp[4052]: h264d_dpb: warning: max_dec_frame_buffering(3) is less than dpb_size(4) calculated from Profile/Level.
  24. mpp[4052]: h264d_api: [CALLBACK] g_no=240, out_idx=2, dpberr=1, harderr=1, ref_flag=1, errinfo=1, discard=0
  25. mpp[4052]: mpi_dec_test: 0x7f663620 decode get frame 239 err 1 discard 0
  26. mpp[4052]: mpi_dec_test: 0x7f663620 found last packet
  27. mpp[4052]: mpi_dec_test: 0x7f663620 input 2034 pkt output 241 frm decode 240 frames
  28. mpp[4052]: h264d_dpb: warning: max_dec_frame_buffering(3) is less than dpb_size(4) calculated from Profile/Level.
  29. mpp[4052]: mpi_dec_test: test success max memory 14.34 MB
复制代码

输出结果:
  1. -rw-r--r--  1 root root      0 Apr  2 09:45 test.yuv
复制代码

内核信息:
  1. root@rk3288:/home/code/mpp/build_mpp/osal/test# ./mpp_platform_test
  2. mpp[4024]: mpp_plat_test: chip name: rockchip,rk3288-firefly rockchip,rk3288
  3. mpp[4024]: mpp_plat_test:
  4. mpp[4024]: mpp_plat_test: chip vcodec type 00020101
  5. mpp[4024]: mpp_plat_test: found vpu1 codec
  6. mpp[4024]: mpp_plat_test: found rk hevc decoder
  7. mpp[4024]: mpp_plat_test:
  8. mpp[4024]: mpp_plat_test: start probing decoder device name:
  9. mpp[4024]: mpp_plat_test: H.264 decoder: /dev/vpu-service
  10. mpp[4024]: mpp_plat_test: H.265 decoder: /dev/hevc-service
  11. mpp[4024]: mpp_plat_test: MJPEG decoder: /dev/vpu-service
  12. mpp[4024]: mpp_plat_test: VP9   decoder: /dev/vpu-service
  13. mpp[4024]: mpp_plat_test: avs   decoder: /dev/vpu-service
  14. mpp[4024]: mpp_plat_test:
  15. mpp[4024]: mpp_plat_test: start probing encoder device name:
  16. mpp[4024]: mpp_plat_test: H.264 encoder: /dev/vpu-service
  17. mpp[4024]: mpp_plat_test: H.265 encoder: /dev/vpu-service
  18. mpp[4024]: mpp_plat_test: MJPEG encoder: /dev/vpu-service
  19. mpp[4024]: mpp_plat_test: mpp platform test done
复制代码

根据在git上的回复,是与rk3288内核兼容问题。在安卓版本上没有问题。




回复

使用道具 举报

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

本版积分规则

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