你好,前端输入H264数据,H264是验证过的,没问题,通过6467解码,如果只播放I帧解码的数据,显示正常,但是播放I帧和P帧,显示错乱,不正常了,我觉得是P帧解码错误,然后查看调试信息,发现有错误,错误代码0x841
Chris Meng:
你好,
请问你使用的DM6467 h264dec的版本?请问你提供的错误代码是IVIDDEC2_Status.extendedError的打印么?
如果是,你可以通过DM6467 h264dec user guide上找到错误的原因。0x41表示HDVICP decodes lesser MBs than required for the slice – indicates less MB data available or Slice Lost, 0x800表示Data problem/corruption (XDM_ErrorBit)。错误原因是提供解码的数据过少。
jin xin:
回复 Chris Meng:
你好,H264是通过网络传入的,可能会对数据有影响,所以每秒25帧,会有1帧或2帧产生错误,错误代码0xa41,解压一段时间后会卡住PROCESS函数中。
分辨率为1024*1024,params.maxBitRate = 10000000;这个变量是不是根据H264的BitRate设置,还有就是H264会产生1个I帧,14个P帧,P帧的数量是不是太多
Chris Meng:
回复 jin xin:
你好,
maxBitRate = 10000000;这个变量是不是根据H264的BitRate设置
【Chris】对于解码,码率是由码流本身决定的。
H264会产生1个I帧,14个P帧,P帧的数量是不是太多
【Chris】很正常。25/30个帧有一个I帧,或者50/60个帧有一个I帧都是正常的。请问你使用的是网上最新的解码器软件么?
jin xin:
回复 Chris Meng:
解码器版本H264DEC.version.01.10.04.00.wizardversion.0.5.2
Chris Meng:
回复 jin xin:
你好,
请到下面的链接下载最新的解码器,再尝试一下。
http://software-dl.ti.com/dsps/dsps_public_sw/codecs/DM6467/index_FDS.html
jin xin:
回复 Chris Meng:
你好,我把解码库换了,死机的情况没有发现,但是图像花屏严重的问题没有解决,拍摄静态时图像不花屏,但是动态就花了,CE_DEBUG 信息显示,每秒种有2-3次0xa41,不知如何解决
Chris Meng:
回复 jin xin:
你好,
你能否确认是否本地解码就不会报错?也即是错误是因为网络丢数据?如果确认是网络的问题,能否从这个角度来想方法改善?
0xA41,里面的bit9,表示解码库已经在纠错了,但纠错的方法是把前一帧的相关数据copy过来,但如果有运动,前一帧的数据和当前帧是不一样的,看起来就不好了。
Bit 9 1 – applied concealment 0 – Ignore
Does the TI decoder support Error Resiliency/Concealment?Yes, the decoder supports Error Resilience and Concealment. The Error Resiliency feature is very robust; the decoder is tested with ~9000 Error streams. For Concealment, if the current picture is in error, the pixels are copied from the previously decoded picture.
jin xin:
回复 Chris Meng:
你好,之前解码错误确实和网络有关系,目前解码无错误,但是显示任然花屏,我用的是sii9134,dvi输出,接的是电脑显示器,我真的不知道怀疑哪里的问题,希望给点意见。
Chris Meng:
回复 jin xin:
你好,
需要确认一下问题是出现在解码侧还是显示侧。
找一个在PC上解码正常的码流,然后再板子上尝试本地文件解码(PC上解码正常的),然后解码后的数据存成一个文件,拿到电脑上看看,解码后的数据是否花屏。
jin xin:
回复 Chris Meng:
我把接收H264的数据通过fwrite函数保存下来,然后通过Elecard StreamEye播放,显示正常,还有就是H264分辨率是1024*1024,解码器会不会不支持这个分辨率,谢谢