diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-29 17:55:35 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-29 17:55:35 +0000 |
commit | 2ec6762923fea7f28331849b1d394f30dfce1aff (patch) | |
tree | 58ff3fcc1ac955a2b07e81d74fe489076e1fe631 /mp3lib/decod386.c | |
parent | bf8a76c06387345aa448b66ce2dff37ba0fcd69e (diff) | |
download | mpv-2ec6762923fea7f28331849b1d394f30dfce1aff.tar.bz2 mpv-2ec6762923fea7f28331849b1d394f30dfce1aff.tar.xz |
Added newest MMX-optimized decore which speedups decoding at least on 13% for any cpu.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1246 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib/decod386.c')
-rw-r--r-- | mp3lib/decod386.c | 40 |
1 files changed, 11 insertions, 29 deletions
diff --git a/mp3lib/decod386.c b/mp3lib/decod386.c index e0c2c570b9..9939886023 100644 --- a/mp3lib/decod386.c +++ b/mp3lib/decod386.c @@ -105,6 +105,15 @@ static int synth_1to1_r(real *bandPtr,int channel,unsigned char *out,int *pnt) } #endif +synth_func_t synth_func; + +int synth_1to1_MMX( real *bandPtr,int channel,short * samples) +{ + static short buffs[2][2][0x110]; + static int bo = 1; + synth_1to1_MMX_s(bandPtr, channel, samples, (short *) buffs, &bo); + return 0; + } static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) { @@ -117,40 +126,13 @@ static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) int clip = 0; int bo1; - #ifdef HAVE_SSE_MP3 - //if ( _3dnow ) - { - int ret; - ret=synth_1to1_sse( bandPtr,channel,out+*pnt ); - *pnt+=128; - return ret; - } - #endif - #ifdef HAVE_3DNOWEX - if ( _3dnow > 1 ) + if ( synth_func ) { int ret; - ret=synth_1to1_3dnowex( bandPtr,channel,out+*pnt ); + ret=(*synth_func)( bandPtr,channel,samples); *pnt+=128; return ret; } - #endif - #ifdef HAVE_3DNOW - if ( _3dnow ) - { - int ret; - ret=synth_1to1_3dnow( bandPtr,channel,out+*pnt ); - *pnt+=128; - return ret; - } - #endif - if ( _i586 ) - { - int ret; - ret=synth_1to1_pent( bandPtr,channel,out+*pnt ); - *pnt+=128; - return ret; - } if(!channel) { /* channel=0 */ bo--; |