当前位置: 代码迷 >> 多媒体/流媒体开发 >> xvid解码时提示Division by zero或Access violation的异常该怎么解决
  详细解决方案

xvid解码时提示Division by zero或Access violation的异常该怎么解决

热度:2458   发布时间:2013-02-26 00:00:00.0
xvid解码时提示Division by zero或Access violation的错误该如何解决?
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设定有问题
  相关解决方案