1.我使用xvid mpeg-4 codec filter编码后网络发送数据、从网络接收数据后用xvid mpeg-4 video decoder filter解码.就算编码参数使用默认值,只要有b帧,解码时当出现第2个i帧时就会出现Division by zero的错误.把max_bframes设为0则不会出现任何问题,其实这也是禁止编码b帧.解码时能够保证是从i帖开始解码、并且数据没有错误.
2.当我不使用xvid filter,而直接使用xvidcore.dll提供的api解压缩数据时则会出现Access violation的错误.错误就发生在xvidcore的
decoder_bframe(dec, &bs, quant, fcode_forward, fcode_backward)这个函数中,
并且是
MACROBLOCK *mb = &dec-> mbs[y * dec-> mb_width + x];
MACROBLOCK *last_mb = &dec-> last_mbs[y * dec-> mb_width + x];
mb,last_mb里面的某些变量没有设置值.
请问这些该如何解决,大家提示下.
谢谢了.
------解决方案--------------------------------------------------------
先排除网络问题!单纯的把编码出来的数据给解码器,看看是否有问题!
------解决方案--------------------------------------------------------
自己写的程序有bug,或者xvid设定有问题