diff options
author | gpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-07-07 14:04:07 +0000 |
---|---|---|
committer | gpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-07-07 14:04:07 +0000 |
commit | ec029ea7a17d68cef612d38d97a77dc1237b1c5d (patch) | |
tree | 1be60f98221f0c61915b8e100a35223eca1b5c6e /mp3lib/sr1.c | |
parent | 360c4b3e90f27aba0e4c2c03f759adb7c6f045b6 (diff) | |
download | mpv-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.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; |