[XviD-devel] [PATCH] Faster direct/interpolate bvop block interpolation

Edouard Gomez ed.gomez at free.fr
Sat Jul 24 00:34:19 CEST 2004


Edouard Gomez (ed.gomez at free.fr) wrote:
> implements a C backend and a mmx-ext backend (usage of pavgb).
> So everyone using a >=pII or >K6-3dnow2 CPUs is invited to
> test.
> [...]
> My next task is to make sure the C backend is not buggy, i
> haven't tested it yet.

The C backend was not right, it was doing rounding on the
final averaging step, where old code was always using a 0 bias
for the averaging step. Fixed.

BUT !
Skal, your xmm code seems to be wrong too. Everywhere you use
pavgb dest, interpolated_value

You do (a+b+1)>>1 where old code is doing (a+b)>>1. Doing a
test with a C only xvidcore, and then with a C only version
minus the new interpolation functions, all md5 bframes differ,
just like when i wasn't averaging with a 0 bias.

However, i tested all C function with a 1 bias, and the only
to suffer from this, is the one that just take the blocks and
average them directly (no halfpel interpolation)

Could you please confirm what i've tell in this email ?

-- 
Edouard Gomez


More information about the XviD-devel mailing list