Firefly开源社区

标题: Rkmpp硬解码测试失败:mpp_dec_test [打印本页]

作者: 四月天    时间: 2021-4-2 09:50
标题: Rkmpp硬解码测试失败:mpp_dec_test
详细问题记录在这个里边: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内核兼容问题。在安卓版本上没有问题。









欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1