summaryrefslogtreecommitdiffstats
path: root/mp3lib/decod386.c
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-29 17:55:35 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-29 17:55:35 +0000
commit2ec6762923fea7f28331849b1d394f30dfce1aff (patch)
tree58ff3fcc1ac955a2b07e81d74fe489076e1fe631 /mp3lib/decod386.c
parentbf8a76c06387345aa448b66ce2dff37ba0fcd69e (diff)
downloadmpv-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.c40
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--;