[XviD-devel] PlainC optmization

Christoph Lampert chl at math.uni-bonn.de
Tue Mar 4 18:16:33 CET 2003


Sorry, me again... 
I just checked the same for P2 450 MHz (MMX, no MMXEXT). 

 ===  test block motion ===
PLAINC - interp- h-round0 0.502 usec       iCrc=8107
PLAINC -           round1 0.511 usec       iCrc=8100
PLAINC - interp- v-round0 0.504 usec       iCrc=8108
PLAINC -           round1 0.475 usec       iCrc=8105
PLAINC - interp-hv-round0 0.771 usec       iCrc=8112
PLAINC -           round1 0.775 usec       iCrc=8103
 --- 
MMX    - interp- h-round0 0.454 usec       iCrc=8107
MMX    -           round1 0.455 usec       iCrc=8100
MMX    - interp- v-round0 0.466 usec       iCrc=8108
MMX    -           round1 0.466 usec       iCrc=8105
MMX    - interp-hv-round0 0.670 usec       iCrc=8112
MMX    -           round1 0.671 usec       iCrc=8103


Is this possible? Plain MMX really can't do better than _that_? 
Ouch... 

gruel





On Tue, 4 Mar 2003, Christoph Lampert wrote:

> 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 
> 
> 
> _______________________________________________
> XviD-devel mailing list
> XviD-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel
> 



More information about the XviD-devel mailing list