下载
EN
注册

解码器帧存大小以及参考帧个数设置过小,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,由解码器内部自适应。