diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-07-03 07:50:52 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-07-03 07:50:52 +0000 |
commit | 58075a06215daeae4c439f4b7b92b7209944faf8 (patch) | |
tree | e3283634eb33fed2794eec1cc3be8209ca290639 /mp3lib | |
parent | f96bb9e7e1d5b8e401ddf7265298e909b4e58962 (diff) | |
download | mpv-58075a06215daeae4c439f4b7b92b7209944faf8.tar.bz2 mpv-58075a06215daeae4c439f4b7b92b7209944faf8.tar.xz |
Portability and old binutils support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1259 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib')
-rw-r--r-- | mp3lib/Makefile | 24 | ||||
-rw-r--r-- | mp3lib/decod386.c | 9 | ||||
-rw-r--r-- | mp3lib/sr1.c | 10 |
3 files changed, 34 insertions, 9 deletions
diff --git a/mp3lib/Makefile b/mp3lib/Makefile index 6aa93c4275..3b1845cc9b 100644 --- a/mp3lib/Makefile +++ b/mp3lib/Makefile @@ -1,12 +1,26 @@ -include config.mak +include ../config.mak -SRCS = sr1.c d_cpu.s decode_i586.s dct64_MMX.s decode_MMX.s tabinit_MMX.s\ -dct36_3dnow.s dct64_3dnow.s dct36_k7.s dct64_k7.s -OBJS = sr1.o d_cpu.o decode_i586.o dct64_MMX.o decode_MMX.o tabinit_MMX.o\ -dct36_3dnow.o dct64_3dnow.o dct36_k7.o dct64_k7.o +SRCS = sr1.c d_cpu.s +OBJS = sr1.o d_cpu.o # OBJS = $(SRCS:.c,.s=.o) CFLAGS = $(OPTFLAGS) $(EXTRA_INC) +ifeq ($(TARGET_ARCH_X86),yes) +SRCS += decode_i586.s +OBJS += decode_i586.o +ifeq ($(TARGET_MMX),yes) +SRCS += decode_MMX.s dct64_MMX.s tabinit_MMX.s +OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o +endif +ifeq ($(TARGET_3DNOW),yes) +SRCS += dct36_3dnow.s dct64_3dnow.s +OBJS += dct36_3dnow.o dct64_3dnow.o +endif +ifeq ($(TARGET_3DNOWEX),yes) +SRCS += dct36_k7.s dct64_k7.s +OBJS += dct36_k7.o dct64_k7.o +endif +endif .SUFFIXES: .c .o diff --git a/mp3lib/decod386.c b/mp3lib/decod386.c index 9939886023..fc88ae2851 100644 --- a/mp3lib/decod386.c +++ b/mp3lib/decod386.c @@ -107,14 +107,15 @@ static int synth_1to1_r(real *bandPtr,int channel,unsigned char *out,int *pnt) synth_func_t synth_func; +#ifdef HAVE_MMX 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; - } - +} +#endif static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) { static real buffs[2][2][0x110]; @@ -125,7 +126,7 @@ static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) real *b0,(*buf)[0x110]; int clip = 0; int bo1; - +#ifdef ARCH_X86 if ( synth_func ) { int ret; @@ -133,7 +134,7 @@ static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) *pnt+=128; return ret; } - +#endif if(!channel) { /* channel=0 */ bo--; bo &= 0xf; diff --git a/mp3lib/sr1.c b/mp3lib/sr1.c index b866bf29e3..ac5828740d 100644 --- a/mp3lib/sr1.c +++ b/mp3lib/sr1.c @@ -415,12 +415,15 @@ void MP3_Init(){ tables_done_flag=1; dct36_func=dct36; +#ifdef HAVE_SSE if(_isse) { synth_func=synth_1to1_MMX; dct64_MMX_func=dct64_MMX; } else +#endif +#ifdef HAVE_3DNOWEX if ( _3dnow > 1 ) { synth_func=synth_1to1_MMX; @@ -428,6 +431,8 @@ void MP3_Init(){ dct64_MMX_func=dct64_MMX_3dnowex; } else +#endif +#ifdef HAVE_3DNOW if ( _3dnow ) { synth_func=synth_1to1_MMX; @@ -435,17 +440,22 @@ void MP3_Init(){ dct64_MMX_func=dct64_MMX_3dnow; } else +#endif +#ifdef HAVE_MMX if ( _i586 > 1) { synth_func=synth_1to1_MMX; dct64_MMX_func=dct64_MMX; } else +#endif +#ifdef ARCH_X86 if ( _i586 ) { synth_func=synth_1to1_pent; } else +#endif { synth_func = NULL; } |