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