This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DM365 解码器buffer使用的疑难问题求解

尊敬的ti专家您好,我们使用dm365的解码器完成h264视频流播放。

由于输入的264码流因传输环境的影响,可能存在误码的问题。我们发现在译码器运行过程中,

经常有Dmai_EBITERROR错误,并发现解码器占用中间结果buffer没有释放的情况。

具体如下:

             ret = Vdec2_process(hVd2, hInBuf, hDstBuf);                                                    // 调用解码器对输入数据解码

            if (ret == Dmai_EBITERROR && Buffer_getNumBytesUsed(hInBuf) == 0)   // EBITERROR应该是非致命错误

            {

                     ...

            }

             bufsSent = handleCodecBufs(hVd2, envp->hDisplayInFifo);                          // 每次解码后,将解码器的显示buffer和释放的buffer分离出来

     

   解码器由于输入数据的原因占用的中间数据buffer越占越大,最后导致无buffer可用的情况。

     请问上述问题,是否有手段强制解码器释放中间buffer? 

或者,有什么办法可用避免解码器出现中间buffer不断膨胀的情况?


问题已经困扰我们很久了,请百忙中给与回复,非常感谢!

                                                                      zhaohg 20130401

  • 我也遇到了类似的问题,事实上只要网络传输过程中出现丢帧,就会出现类似的问题,解码器似乎不能处理视频帧不连续的情况,最终会导致解码器锁死,请问楼上的这个问题最终解决没有?