PDA

View Full Version : GMC - Translation only


dattrax
18th November 2002, 10:39
Hi,

I've noticed a bit of odd code in the bottom of bitstream.c in BitstreamWriteVopHeader(). There are two if conditions which will always get pushed into the stream

if(1)

and

if(2)

The second is marked for DivX5 compatibility, as they always seem to mark as affine transform even though they only seem to do translation?

Divx5 will decode anything up to 4 warping points, has anyone tried marking a stream as translation only and seeing how it decodes?

P.S. just as a note, i've noticed a lot of equal conditionals, where the same if() is evaluated multiple times. On modern CPU's with long pipes, this will kill the performance. I would fix it myself, but I don't have CVS access, and would even know who to submit it back to!

Everyone keep up the good work

Jim

-h
19th November 2002, 04:18
I would recommend posting your findings (and subscribing) to the xvid-devel@xvid.org mailing list.

I have not looked into the GMC changes yet, actually I've had little time to do much of anything on the computer lately, so I can't comment on what you've found. Poor coding in the header functions isn't too big a problem (called once per frame), actually you could make them much faster by combining Bitstream*() calls into single calls with longer bit patterns if you felt the need.

-h