[XviD-devel] Re : Various bugs

Frédéric DALLEAU fdalleau at hymatom.fr
Thu Feb 17 12:32:51 CET 2005


Hi christoph,

Thank you for answering! I looked a bit more and found new informations 
from what you said :

 > time_pp cannot be 0 in a legal file,
Found a broken frame in a sequence. It seems to crash when the same 
frame is decoded twice. I believe this is a key frame. I'm I right 
assuming I can decode a key frame as much as I want?

 > DIV_DIV should not be used in first place if b could be 0.
I had it working for hours before crashing, I'm still searching.

 > position coefficients cannot add up more than 64  
It seems that the vfw wrapper call xvid_gbl_init multiple times, once 
for each codec that is created. This may reset the DCT3D table for a 
short period of time, thus zeroing the last flag, while another thread 
is decoding. Unless needed, xvid_gbl_init should be moved to DllMain().

 > But at least in the decoding part, we should be more error resilient
I don't consider these mods as bad as it is an easy job that allow more 
robust code.

I still have questions.
What do you consider as being a conformant stream? It has a different 
meaning in decoding and encoding. In decoding, you can assume no frame 
is altered, all frames comes from the same stream, no frames are 
skipped... In encoding, apart from having all images the same size, I 
don't see other assumption one can make.
Is there a way to validate a frame and make sure it is legal?

Frédéric



More information about the XviD-devel mailing list