[XviD-devel] Various bugs

Frédéric DALLEAU fdalleau at hymatom.fr
Wed Feb 16 10:07:59 CET 2005


Hi everybody,

My name is Frédéric Dalleau. I use XVID for realtime video for security 
systems (cameras, storage, transmission) on Windows XP Platforms. I 
currently use the public CVS. It's my own build with MS VS 7.1. I use 
xvid in heavily multithreaded applications that must run 24 hour a day.

*     I found xvid was doing division by 0 :
1) It appeared that the macro DIV_DIV (global.h l. 258) did not check 
its b parameters. I successfully made a patch. It appeared in rescale() 
(mbprediction.c) but i found it safer to have it checked everywhere. It 
meant the quantizer was 0 but since I have no mpeg4 knowledge i did 
basic checking :
      #define DIV_DIV(a,b)    (((b)!=0)?(((a)>0) ? ((a)+((b)>>1))/(b) : 
((a)-((b)>>1))/(b)):0)
2) I got dec->time_pp at 0 when dividing in decoder.c l.1236, but 
haven't found a patch yet

*     I also found some index out of bounds that causes crash (debug 
build) when reading scantable (mbcoding.c l.1128: get_intra_block(), 
get_inter_block_h263(), get_inter_block_mpeg()).
    block[scan[coeff]] = level; // coeff was out of scan

Thanks,
Frédéric DALLEAU



More information about the XviD-devel mailing list