Re[2]: [XviD-devel] qpel - problems I found

Radek 'sysKin' Czyz xvid-devel@xvid.org
Sun, 13 Oct 2002 01:28:11 +0930


> i've some questions :
> - PMV_QUICKSTOP16 is not implemented, right ? so in vfw, motion effort 0 to
> 3 == 0 ?

True. Allow me to post quality modes from my VfW:

int pmvfast_presets[8] = {
        0, 0,
        PMV_HALFPELREFINE16,
        PMV_HALFPELREFINE16 | PMV_ADVANCEDDIAMOND16,
        
        PMV_HALFPELREFINE16 | PMV_ADVANCEDDIAMOND16 | PMV_HALFPELREFINE8,

        PMV_HALFPELREFINE16 | PMV_HALFPELREFINE8 | PMV_USESQUARES16,

        PMV_HALFPELREFINE16 | PMV_HALFPELREFINE8 | PMV_USESQUARES16 | PMV_EXTSEARCH16,
        
        PMV_QUARTERPELREFINE16 | PMV_QUARTERPELREFINE8 | PMV_USESQUARES16 |
        PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 |
        PMV_HALFPELREFINE8
};
I didn't really think very hard when I made them, though. Note that
there are 8 of them - motion precision 7 is Qpel.
Ah, here are global flags:

        if (codec->config.motion_search == 7)
                frame.general |= XVID_QUARTERPEL;
        if (codec->config.motion_search > 3)
                frame.general |= XVID_INTER4V; 

Inter4v is used more often because as long as there is no extsearch8
and no halfpelrefine8, inter4v is as fast as non-inter4v (well,
nearly).

> - PMV_HALFPELDIAMOND16 is not needed if there is already PMV_HALFPELREFINE16
> ?
PMV_HALFPELDIAMOND16 and -8 are not used at all.


> - Why qpel encodes have about 2x less Iframes ? a bug ?

Now this is funny :) maybe qpel gives so small SADs that we have less
INTRA blocks?

> - The crispness (noise?) i see with qpel, is it normal ?

Crispness - yes. Noise - I think so.

> i noticed that qpel makes files larger and lowers the PSNR, but i assume
> it's
> because it's not finished.

Does new code still give you bigger filesize?
As for PSNR - I think it's the noise. However, at fixed quant 3 PSNR
decrease for xvid is as big as 0.75dB, while the same in divx5
decreases psnr only by ~0.1dB.
This is strange, anyway.

Radek