输入码流给VDEC进行解码,得到的解码数据不正确,产生花屏现象,如图1所示。并且日志中存在类似“decode error”、“input stream error, can't decode, report to user”、“num_ref_idx_l0_active(30) out of range(0,16)”信息。
输入的码流中某些帧数据不完整、存在坏帧,导致硬件解码产生花屏。
针对可能原因分析,参考以下步骤处理:
使用第三方工具(如:eseye u等)对输入码流进行解码播放,查看是否存在花屏,若不花屏则进行步骤2;若花屏则替换输入码流。
如果sample 解码正常,那就是开发代码有问题,可以参考《应用软件开发指南(C&C++)》中的VDEC示例代码,找到对应的视频解码的代码参考优化。