summaryrefslogtreecommitdiffstats
path: root/mp3lib/sr1.c
diff options
context:
space:
mode:
Diffstat (limited to 'mp3lib/sr1.c')
-rw-r--r--mp3lib/sr1.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mp3lib/sr1.c b/mp3lib/sr1.c
index 29f764cf1e..69471f3765 100644
--- a/mp3lib/sr1.c
+++ b/mp3lib/sr1.c
@@ -392,6 +392,7 @@ static int _has_mmx = 0; // used by layer2.c, layer3.c to pre-scale coeffs
extern void dct64_MMX(real *, real *, real *);
extern void dct64_MMX_3dnow(real *, real *, real *);
extern void dct64_MMX_3dnowex(real *, real *, real *);
+extern void dct64_sse(real *, real *, real *);
void (*dct64_MMX_func)(real *, real *, real *);
#include "cpudetect.h"
@@ -434,6 +435,12 @@ void MP3_Init(){
mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using 3DNow! optimized decore!\n");
}
else
+ if (gCpuCaps.hasSSE)
+ {
+ dct64_MMX_func = dct64_sse;
+ mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using SSE optimized decore!\n");
+ }
+ else
if (gCpuCaps.hasMMX)
{
dct64_MMX_func = dct64_MMX;