解码器帧存大小以及参考帧个数设置过小,VDEC视频解码卡住
问题现象
解码卡住,日志中提示无法申请帧存的相关错误。
Device侧日志示例如下:
pid 0 usr chn 0 device 0 chn 0, user set frame buffer size(1000 Byte) and ref frame num(5) is not enough for actual frame buffer size(2000 Byte) and actual ref frame num(7), pic width = 1280, height = 720, bit_width =8
原因分析
解码器内部需要申请一定个数的帧存,在进行帧存自适应时,如果用户创建通道时设置的帧存大小*帧存个数小于实际所需要的帧存大小*帧存个数,则解码时会失败。
解决方法
在调用hi_mpi_vdec_create_chn接口创建解码通道时,调整传入的帧存大小和帧存个数的值,即attr->frame_buf_size、attr->frame_buf_cnt参数,或者直接这两个参数设置为0,由解码器内部自适应。
父主题: JPEGD图片解码/VDEC视频解码