[XviD-devel] qpel

Radek Czyz xvid-devel@xvid.org
Sat, 28 Dec 2002 00:15:01 +1030


Hello,

Can someone explain me how halfpel interpolation in qpel mode
currently looks like?
What I mean is the size of block which gets interpolated. Specs say
(if I'm not mistaken, I might be) that in P-frames, filter should be
applied on 8x8 blocks, regardless of mode (inter or inter4v).
What I see in the code, however, looks like we're doing 16x16
filtering in inter mode. Is this correct?

Also, in bframes, for forward, backward and direct mode interpolation
should be done on 16x16 blocks, while for direct - 8x8. The question
is, which is done in our xvid - 8x8 or 16x16?

While trying to get my own answer to the question, I changed motion
compensation code to pretend that we always are in inter4v mode -
thus making sure that interpolation is done on 8x8 blocks. Guess what
happened. First, filesize is smaller. Second, xvid decoder (unaltered)
started to show smearing artifacts in clips coded this way - identical
to smearing which I had shown you some time ago.
Unfortuantely, ffdshow still shows the same smearing, so it didn't
solve the smearing problem.
However, it might be a good clue to solve it.

Best Regards,
Radek