summaryrefslogtreecommitdiffstats
path: root/mp3lib/sr1.c
diff options
context:
space:
mode:
authorgpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-07 14:04:07 +0000
committergpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-07 14:04:07 +0000
commitec029ea7a17d68cef612d38d97a77dc1237b1c5d (patch)
tree1be60f98221f0c61915b8e100a35223eca1b5c6e /mp3lib/sr1.c
parent360c4b3e90f27aba0e4c2c03f759adb7c6f045b6 (diff)
downloadmpv-ec029ea7a17d68cef612d38d97a77dc1237b1c5d.tar.bz2
mpv-ec029ea7a17d68cef612d38d97a77dc1237b1c5d.tar.xz
Add dct64_sse, a replacement for dct64_MMX. About 60% faster on its author's Pentium III
Currently only used on CPUs that _only_ support SSE (otherwise try 3DNow* before) Patch by The Mighty Zuxy Meng %zuxy * meng $ gmail * com% Original thread: Date: Jun 21, 2006 10:20 AM Subject: [MPlayer-dev-eng] [PATCH] SSE version of DCT64 for mp3lib git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18937 b3059339-0415-0410-9bf9-f77b7e298cf2
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;