Re[3]: [XviD-devel] GMC
Christoph Lampert
xvid-devel@xvid.org
Tue, 5 Nov 2002 14:54:40 +0100 (CET)
On Tue, 5 Nov 2002, Radek 'sysKin' Czyz wrote:
> AGGGGHHHHHHHHHHRRRRRRRR..............
>
> Hi,
>
> I found the problem
>
> if ( (pEnc->current->GMC_MV.x == 0) && (pEnc->current->GMC_MV.y == 0) )
> pEnc->current->coding_type = P_VOP; /* no global motion -> no GMC */
>
> Can we really turn off GMC at any frame? If we can, then ethier
> decoders can't handle it, or we do it in a buggy way.
We cannot "turn off" GMC. But if GMC is enabled we still can choose to use
P_VOPs (which don't have support for GMC) or S_VOPs (which have support).
This _must_ be supported by the decoder!
> Anyway, it seems we can't turn GMC off for the time being...
Maybe your routine didn't check if the VOP was S-VOP or P-VOP?
The _decoder_ surely should check, because S-VOPs have to be decoded
differently. Btw. which decoder do you use?
> My function works correctly now. I'll play with some thresholds to
> make GMC improve anything - it doesn't improve now.
>
> Hooray, it works! :-)
In my oppinion any frame with GMC should have at least as many NOT_CODED
blocks as without GMC. Otherwise it's "bad".
gruel