[XviD-devel] Question

Radek Czyz xvid-devel@xvid.org
Sun, 12 Jan 2003 23:14:36 +1030


Hello,

First, I'd like to thank gruel for his GMC - wow, so many new things
to play with ^__^.

Now, another topic. Gruel wrote:
> [...] It was a sideeffect of the new SAD including
> chroma value (this flag has been moved to PMV_CHROMA[8/16]) and GMC.

Could you tell me what you mean my creating two flags? ChromaME cannot
be used for 8x8 search, because all four vectors contribute to a
single chroma vector. As a result, it's only possible to compute
chroma SAD after all four vectors are known. *
This last check cannot be flag dependat - we have to compare the
result against 16x16 SAD, so we can't add chroma SAD to 16x16 and not
add it to the sum of 8x8.

(*) It would be possible to add the chroma SAD when searching for last
block, but I decided against it - our 8x8 search consists of
refinement only (unless someone uses EXTSEARCH8, who does?), and
subpixel refinement of a single vector is quite unlikely to change the
chroma vector.

Now, back to GMC:

1
About chromaME: as the code creates chroma planes of GMCed picture,
it's easy to implement ChromaME with GMC. Just two more SAD8s to the
comparsion.
As ChromaME appears to be a success, maybe picture-based chroma
interpolation shouldn't be abondoned as fast as comments in the code
suggest...
 
2
As far as I can see (ffdshow's OSD is a beautiful thing) most frames
are GMCed. I might be wrong, but I think that it's a waste. To check
that, I changed the GME a bit - after GMC search, there is a loop
which chooses mcsel for all macroblocks. If the total number of
mcsel == 1 is not good enough, it reverts the changes and makes the
frame a P_VOP.
I didn't have a chance to test it, or extend it (maybe not the number
is important, but total SADs gained? or SKIPs?). However, it gave me
quite a nice filesize gain after a few attepts.
If you're interested, I can send you the function as it is at the
moment.

Best regards,
Radek