[XviD-devel] gmc problem - SOLVED

Christoph Lampert chl at math.uni-bonn.de
Wed Aug 6 23:41:41 CEST 2003


Hi,

congratulations, Radek, you found the very first bitstream bug in 
XVID since... a long time ago. 

Anyway, it was a typo in the VLC table for sprite_trajectory_len

Replace in bitstream/mbcoding.c
VLC sprite_trajectory_len[15] = {
        { 0x00 , 2},
        { 0x02 , 3}, { 0x03, 3}, { 0x04, 3}, { 0x05, 3}, { 0x06, 3},
        { 0x0E , 4}, { 0x1E, 5}, { 0x3E, 6}, { 0x7F, 7}, { 0xFE, 8},
        { 0x1FE, 9}, {0x3FE,10}, {0x7FE,11}, {0xFFE,12} };

by

VLC sprite_trajectory_len[15] = {
        { 0x00 , 2},
        { 0x02 , 3}, { 0x03, 3}, { 0x04, 3}, { 0x05, 3}, { 0x06, 3},
        { 0x0E , 4}, { 0x1E, 5}, { 0x3E, 6}, { 0x7E, 7}, { 0xFE, 8},
        { 0x1FE, 9}, {0x3FE,10}, {0x7FE,11}, {0xFFE,12} };

(that's 0x7E instead of 0x7F in the second line)
The others seem to be correct. 

Or simply update from CVS, I commited a few minutes ago. 

You can even fix the AVI file in question by changing a single bit from 

1111 1110 1110 1111 1101 0010 
to
1111 1100 1110 1111 1101 0010

however you have to find these bits first, because I guess they are not
byte-aligned :-(

Christoph 

On Wed, 6 Aug 2003, Radek Czyz wrote:

> Hi everyone.
> 
> XviD GMC is sometimes not decoded correctly using libavcodec. An
> example of such clip is at
> 
> http://homepages.ihug.com.au/~syskin/prob.avi
> 
> If you can, could you please check if it's xvid's fault or
> libavcodec's fault?
> 
> We have to do something in either case.
> 
> Thanks,
> Radek
> 
> _______________________________________________
> XviD-devel mailing list
> XviD-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel
> 
> 



More information about the XviD-devel mailing list