[XviD-devel] GMC

Radek 'sysKin' Czyz xvid-devel@xvid.org
Tue, 5 Nov 2002 21:27:49 +1030


Hi everyone,

As I promised, I worked on GMC today. I wanted to implement my GME
routine which I outlined yesterday and see how it goes.
I did it.
Now, I have some questions/issues.
First: I noticed that GMC-ed macroblockls have a strange chroma shift
problem, similar to the old one in qpel. Are we really really sure
that chroma information is sampled in the same way? Same rounding of
vectors? Same rounding of interpolated pixels?

Second problem is much more important... Whenever I use _coded_ gmc
macroblocks, with DCT and so on, picture gets completely crazy. I
don't think I've done something wrong - all I need to do is set
macroblock's mode to MODE_INTER and set mvs[0] (or qmvs[0]) to gmc
vector, right? There is no room for artifacts.
NOT_CODED macroblocks are decoded correctly, except this chroma shift.
I spent one day working on it, I might spend another, but it would be
cool if someone could just point an error in bitstream coding or
something...

Also, what are we going to do about qpel? Halfpixel interpolation is
different there, so we cannot compensate GMC-ed macroblocks (also
skipped ones) in the same way we compensate INTER.
We're going to need extra motion compensation code for GMC-ed
macroblocks sooner or later...

Best regards,
Radek