diff options
Diffstat (limited to 'mp3lib/sr1.c')
-rw-r--r-- | mp3lib/sr1.c | 7 |
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; |