[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