Hi3559多路解码时报HI_ERR_VDEC_BUF_FULL错误
Posted kasader
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hi3559多路解码时报HI_ERR_VDEC_BUF_FULL错误相关的知识,希望对你有一定的参考价值。
s32Ret = HI_MPI_VDEC_SendStream(s32ChnId, &stStream, 0); // 参数3 ,0 表示非阻塞输入
if ((HI_SUCCESS != s32Ret))
{
printf("error type is 0x%#x", s32Ret);
usleep(s32IntervalTime);
}
终端输出 error type is 0xa005800f
简单来说通路有问题,解码完成的数据没有及时拿走。
解码流程一般为: 原数据 -> VDEC -> VPSS -> VO
项目中由于不需要VO输出 所以绑定就去掉了VO绑定VPSS操作,开始解码后过一会就回出现 HI_ERR_VDEC_BUF_FULL错误,检查后发现是由于从VPSS取数据操作不及时导致。具体原理还没有彻底搞明白,但是测试结果是 只要取数据即时就不会出现这个问题。
取解码完的视频图像HI_S32 HI_MPI_VPSS_GetChnFrame(VpssGrp, VpssChn,pstVideoFrame, s32MilliSec);
还需要注意输入与输出的频率。避免出现取数据不及时问题。
以上是关于Hi3559多路解码时报HI_ERR_VDEC_BUF_FULL错误的主要内容,如果未能解决你的问题,请参考以下文章