[XviD-devel] PlainC optmization
Christoph Lampert
chl at math.uni-bonn.de
Tue Mar 4 17:40:41 CET 2003
Hi,
if anyone out there is bored: XVID has lots of places where C-code can be
optimized (in particular many routines for which MMX equivalents exist
are not optimized at all):
I did the simplest tasks for interpolate8x8: Loop unrolling, removal of
dependencies, removal of redundant calculations (of "1-rounding" in this
case)
Of course it's not important for everyone with MMX, but if it helps on
other plattforms and doesn't make the code too unreadable... why not?
before:
=== test block motion ===
PLAINC - interp- h-round0 1.992 usec iCrc=8107
PLAINC - round1 1.990 usec iCrc=8100
PLAINC - interp- v-round0 1.989 usec iCrc=8108
PLAINC - round1 1.989 usec iCrc=8105
PLAINC - interp-hv-round0 3.181 usec iCrc=8112
PLAINC - round1 3.180 usec iCrc=8103
after:
=== test block motion ===
PLAINC - interp- h-round0 0.322 usec iCrc=8107
PLAINC - round1 0.329 usec iCrc=8100
PLAINC - interp- v-round0 0.343 usec iCrc=8108
PLAINC - round1 0.306 usec iCrc=8105
PLAINC - interp-hv-round0 0.496 usec iCrc=8112
PLAINC - round1 0.497 usec iCrc=8103
Yeah, I'm such a super-hero ;-)))
gruel
More information about the XviD-devel
mailing list