[MEncoder-users] libavcodec vs. xvid for decoding xvid

Michael Niedermayer michaelni at gmx.at
Wed Dec 21 16:53:49 CET 2005


Hi

On Tue, Dec 20, 2005 at 10:21:42PM +0100, Michael Niedermayer wrote:
[...]
> the difference is caused by several bugs, the only one i found sofar, but
> there must be more, is the chroma MV rounding for direct MBs in xvid, ive
> reported that one to xvid-dev ...

the remaining bug is also in xvid

decoder_mbinter() is used to handle forward and backward MBs in b frames, it is
also used to handle 1MV and 4MV for P frames, sadly it uses 
pMB->mode != MODE_INTER4V to test for 4MV, the problem is 
MODE_INTER4V == MODE_BACKWARD so backward vectors will use 8x8 qpel which
doesnt match 16x16 qpel due to the block boundary mirroring in mpeg4

when these are fixed, xvid-clip.avi is decoded binary identical with xvid
and lavc as long as -lavdopts bitexact -noslices is used, the reason why
-noslices is needed is unknown, maybe a bug in mplayers md5sum vo maybe in
lavc

-- 
Michael




More information about the MEncoder-users mailing list