summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mp3lib/decod386.c2
-rw-r--r--mp3lib/sr1.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/mp3lib/decod386.c b/mp3lib/decod386.c
index 790bd3710f..6752146755 100644
--- a/mp3lib/decod386.c
+++ b/mp3lib/decod386.c
@@ -123,7 +123,7 @@ static int synth_1to1_mono2stereo(real *bandPtr,unsigned char *samples,int *pnt)
static synth_func_t synth_func;
-#if defined(CAN_COMPILE_X86_ASM)
+#if defined(CAN_COMPILE_X86_ASM) && defined(HAVE_MMX)
int synth_1to1_MMX( real *bandPtr,int channel,short * samples)
{
static short buffs[2][2][0x110];
diff --git a/mp3lib/sr1.c b/mp3lib/sr1.c
index 69471f3765..4146a39e85 100644
--- a/mp3lib/sr1.c
+++ b/mp3lib/sr1.c
@@ -413,6 +413,7 @@ void MP3_Init(){
#ifdef CAN_COMPILE_X86_ASM
+#ifdef HAVE_MMX
if (gCpuCaps.hasMMX)
{
_has_mmx = 1;
@@ -420,7 +421,9 @@ void MP3_Init(){
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: made decode tables with MMX optimization\n");
synth_func = synth_1to1_MMX;
}
+#endif
+#ifdef HAVE_3DNOWEX
if (gCpuCaps.has3DNowExt)
{
dct36_func=dct36_3dnowex;
@@ -428,6 +431,8 @@ void MP3_Init(){
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using 3DNow!Ex optimized decore!\n");
}
else
+#endif
+#ifdef HAVE_3DNOW
if (gCpuCaps.has3DNow)
{
dct36_func = dct36_3dnow;
@@ -435,18 +440,23 @@ void MP3_Init(){
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using 3DNow! optimized decore!\n");
}
else
+#endif
+#ifdef HAVE_SSE
if (gCpuCaps.hasSSE)
{
dct64_MMX_func = dct64_sse;
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using SSE optimized decore!\n");
}
else
+#endif
+#ifdef HAVE_MMX
if (gCpuCaps.hasMMX)
{
dct64_MMX_func = dct64_MMX;
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using MMX optimized decore!\n");
}
else
+#endif
if (gCpuCaps.cpuType >= CPUTYPE_I586)
{
synth_func = synth_1to1_pent;