[XviD-devel] 3 warp point GME

Radek Czyz radoslaw at syskin.cjb.net
Mon Jun 30 22:10:58 CEST 2003


Hi everyone,

I haven't commented GMC yet ;) so I might now :)

I haven't tried it yet, but I looked at the code.

First thing that came to my mind you already know - in my humble
opinion, GME must be performed before any block-based ME. This is
mostly because we don't want to break vector prediction by changing a
motion vector in the middle of the image. My tests show that even at
high bitrates, about 50% of all vector components are equal to
prediction. It's 90% in INTER4V mode.

After that, existing BITS (should be R-D*) mode decision should make
GMC useful. I don't know about SAD-based mode decision.

gruel wrote:

> I'd rather say benefits of 3 warppoint GMC are not to reduce vector bits,
> because typical motion described by GMC is characterized by small changes
> between MBs, and median prediction already works well for that.
> You may safe a very few bits, but on the other hand in some cases you also
> have to spend extra vector bits because the vector of "SKIP" blocks
> varies over the scene

Indeed, it _might_ finally make SKIP mode useful. Currently, it's very
hardly used, even at low bitrates.

> and also you need one extra bit for every MB to
> decide whether global or local motion should be used.

Luckly, it's only INTER mode. I don't know if you noticed but with all
R-D search options active, INTER4V is used very often. As a result,
even a single macroblock which benefits from GMC can save us more
bits than we waste on mcsel (I'm mostly guessing here).


* do you think I should change all flags from BITS_ to RD_ ? It's more
descriptive, but I don't want to change api - and break many things -
without clear permission ;) / Besides, it might be too late for 1.0
tree. Please answer that.

Regards,
Radek



More information about the XviD-devel mailing list