四月天 发表于 2021-4-2 09:50:11

Rkmpp硬解码测试失败:mpp_dec_test

详细问题记录在这个里边:https://github.com/rockchip-linux/mpp/issues/188
代码分支:release

解码过程中解码一帧日志信息:
./mpi_dec_test -i /home/test.h264 -t 7 -o test.yuv -w 1920 -h 1080mpp: h264d_api: is_avcC=0, in_pts=0, pkt_eos=1, len=3649, pkt_no=239
mpp: h264d_parse: SliceSTATE_ResetSlice
mpp: h264d_parse: SliceSTATE_ReadNalu
mpp: h264d_parse: nalu_type=SLICE.
mpp: h264d_sps: dpb_size=3, mvc_flag=0, dpb_size=0
mpp: h264d_slice: type=0, layer_id=0,sps_id=0, pps_id=0, struct=3, frame_num=102
mpp: h264d_parse: SliceSTATE_ParseNalu
mpp: h264d_init: g_framecnt=239, com_flag=0, mark_idx=2, slot_idx=2, slice_type=0, struct=3, lay_id=0
mpp: h264d_init: cur_slot_idx=2
mpp: h264d_init: ref_slot_idx=3
mpp: h264d_init: ref_slot_idx=1
mpp: h264d_init: ref_slot_idx=0
mpp: h264d_init: slot_idx=2, top_used=1, bot_used=1, out_flag=1, fd=0xff
mpp: h264d_init: ---------- cur_slot=2 --------------------
mpp: h264d_init: slot_idx=0, dpb_err=1
mpp: h264d_init: slot_idx=1, dpb_err=1
mpp: h264d_init: slot_idx=3, dpb_err=1
mpp: h264d_init: list0 dpb: cur_err_flag=1, pps_refs=1, over_flag=1, num_ref_l0=3
mpp: h264d_parse: SliceSTATE_InitPicture
mpp: h264d_parse: SliceSTATE_GetSliceData
mpp: h264d_parse: SliceSTATE_RegisterOneFrame
mpp: h264d_dpb: p_Dpb->used_size=3
mpp: h264d_dpb: warning: max_dec_frame_buffering(3) is less than dpb_size(4) calculated from Profile/Level.
mpp: h264d_api: g_no=240, out_idx=2, dpberr=1, harderr=1, ref_flag=1, errinfo=1, discard=0
mpp: mpi_dec_test: 0x7f663620 decode get frame 239 err 1 discard 0
mpp: mpi_dec_test: 0x7f663620 found last packet
mpp: mpi_dec_test: 0x7f663620 input 2034 pkt output 241 frm decode 240 frames
mpp: h264d_dpb: warning: max_dec_frame_buffering(3) is less than dpb_size(4) calculated from Profile/Level.
mpp: mpi_dec_test: test success max memory 14.34 MB

输出结果:
-rw-r--r--1 root root      0 Apr2 09:45 test.yuv
内核信息:
root@rk3288:/home/code/mpp/build_mpp/osal/test# ./mpp_platform_test
mpp: mpp_plat_test: chip name: rockchip,rk3288-firefly rockchip,rk3288
mpp: mpp_plat_test:
mpp: mpp_plat_test: chip vcodec type 00020101
mpp: mpp_plat_test: found vpu1 codec
mpp: mpp_plat_test: found rk hevc decoder
mpp: mpp_plat_test:
mpp: mpp_plat_test: start probing decoder device name:
mpp: mpp_plat_test: H.264 decoder: /dev/vpu-service
mpp: mpp_plat_test: H.265 decoder: /dev/hevc-service
mpp: mpp_plat_test: MJPEG decoder: /dev/vpu-service
mpp: mpp_plat_test: VP9   decoder: /dev/vpu-service
mpp: mpp_plat_test: avs   decoder: /dev/vpu-service
mpp: mpp_plat_test:
mpp: mpp_plat_test: start probing encoder device name:
mpp: mpp_plat_test: H.264 encoder: /dev/vpu-service
mpp: mpp_plat_test: H.265 encoder: /dev/vpu-service
mpp: mpp_plat_test: MJPEG encoder: /dev/vpu-service
mpp: mpp_plat_test: mpp platform test done
根据在git上的回复,是与rk3288内核兼容问题。在安卓版本上没有问题。




页: [1]
查看完整版本: Rkmpp硬解码测试失败:mpp_dec_test