summaryrefslogtreecommitdiffstats
path: root/mp3lib
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-15 09:01:39 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-15 09:01:39 +0000
commitf7c8f6485017d7248dff24222281f89d44728549 (patch)
treec95d2c3e6c2c55d686a9e634121a8510d262f934 /mp3lib
parent5f3109cf1215c57e1dcada1fb27182240d01c79b (diff)
downloadmpv-f7c8f6485017d7248dff24222281f89d44728549.tar.bz2
mpv-f7c8f6485017d7248dff24222281f89d44728549.tar.xz
S->C
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4166 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib')
-rw-r--r--mp3lib/Makefile2
-rw-r--r--mp3lib/dct64_MMX.c988
-rw-r--r--mp3lib/dct64_MMX.s992
3 files changed, 989 insertions, 993 deletions
diff --git a/mp3lib/Makefile b/mp3lib/Makefile
index 6958da0b17..64e7204976 100644
--- a/mp3lib/Makefile
+++ b/mp3lib/Makefile
@@ -12,7 +12,7 @@ ifeq ($(TARGET_ARCH_X86),yes)
SRCS += d_cpu.s decode_i586.c
OBJS += d_cpu.o decode_i586.o
ifeq ($(TARGET_MMX),yes)
-SRCS += decode_MMX.c dct64_MMX.s tabinit_MMX.c
+SRCS += decode_MMX.c dct64_MMX.c tabinit_MMX.c
OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o
endif
#ifeq ($(TARGET_SSE),yes)
diff --git a/mp3lib/dct64_MMX.c b/mp3lib/dct64_MMX.c
new file mode 100644
index 0000000000..79618a3c9e
--- /dev/null
+++ b/mp3lib/dct64_MMX.c
@@ -0,0 +1,988 @@
+/*
+* This code was taken from http://www.mpg123.org
+* See ChangeLog of mpg123-0.59s-pre.1 for detail
+* Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
+*/
+#define real float /* ugly - but only way */
+
+void __attribute__ (( __stdcall__ )) dct64_MMX(real *a,real *b,real *c)
+{
+ char tmp[256];
+ __asm __volatile(
+" movl %2,%%eax\n\t"
+/* Phase 1*/
+" flds (%%eax)\n\t"
+" leal 128+%3,%%edx\n\t"
+" fadds 124(%%eax)\n\t"
+" movl %0,%%esi\n\t"
+" fstps (%%edx)\n\t"
+" movl %1,%%edi\n\t"
+
+" flds 4(%%eax)\n\t"
+" movl $costab_mmx,%%ebx\n\t"
+" fadds 120(%%eax)\n\t"
+" orl %%ecx,%%ecx\n\t"
+" fstps 4(%%edx)\n\t"
+
+" flds (%%eax)\n\t"
+" leal %3,%%ecx\n\t"
+" fsubs 124(%%eax)\n\t"
+" fmuls (%%ebx)\n\t"
+" fstps 124(%%edx)\n\t"
+
+" flds 4(%%eax)\n\t"
+" fsubs 120(%%eax)\n\t"
+" fmuls 4(%%ebx)\n\t"
+" fstps 120(%%edx)\n\t"
+
+" flds 8(%%eax)\n\t"
+" fadds 116(%%eax)\n\t"
+" fstps 8(%%edx)\n\t"
+
+" flds 12(%%eax)\n\t"
+" fadds 112(%%eax)\n\t"
+" fstps 12(%%edx)\n\t"
+
+" flds 8(%%eax)\n\t"
+" fsubs 116(%%eax)\n\t"
+" fmuls 8(%%ebx)\n\t"
+" fstps 116(%%edx)\n\t"
+
+" flds 12(%%eax)\n\t"
+" fsubs 112(%%eax)\n\t"
+" fmuls 12(%%ebx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds 16(%%eax)\n\t"
+" fadds 108(%%eax)\n\t"
+" fstps 16(%%edx)\n\t"
+
+" flds 20(%%eax)\n\t"
+" fadds 104(%%eax)\n\t"
+" fstps 20(%%edx)\n\t"
+
+" flds 16(%%eax)\n\t"
+" fsubs 108(%%eax)\n\t"
+" fmuls 16(%%ebx)\n\t"
+" fstps 108(%%edx)\n\t"
+
+" flds 20(%%eax)\n\t"
+" fsubs 104(%%eax)\n\t"
+" fmuls 20(%%ebx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 24(%%eax)\n\t"
+" fadds 100(%%eax)\n\t"
+" fstps 24(%%edx)\n\t"
+
+" flds 28(%%eax)\n\t"
+" fadds 96(%%eax)\n\t"
+" fstps 28(%%edx)\n\t"
+
+" flds 24(%%eax)\n\t"
+" fsubs 100(%%eax)\n\t"
+" fmuls 24(%%ebx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 28(%%eax)\n\t"
+" fsubs 96(%%eax)\n\t"
+" fmuls 28(%%ebx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 32(%%eax)\n\t"
+" fadds 92(%%eax)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 36(%%eax)\n\t"
+" fadds 88(%%eax)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 32(%%eax)\n\t"
+" fsubs 92(%%eax)\n\t"
+" fmuls 32(%%ebx)\n\t"
+" fstps 92(%%edx)\n\t"
+
+" flds 36(%%eax)\n\t"
+" fsubs 88(%%eax)\n\t"
+" fmuls 36(%%ebx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 40(%%eax)\n\t"
+" fadds 84(%%eax)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 44(%%eax)\n\t"
+" fadds 80(%%eax)\n\t"
+" fstps 44(%%edx)\n\t"
+
+" flds 40(%%eax)\n\t"
+" fsubs 84(%%eax)\n\t"
+" fmuls 40(%%ebx)\n\t"
+" fstps 84(%%edx)\n\t"
+
+" flds 44(%%eax)\n\t"
+" fsubs 80(%%eax)\n\t"
+" fmuls 44(%%ebx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 48(%%eax)\n\t"
+" fadds 76(%%eax)\n\t"
+" fstps 48(%%edx)\n\t"
+
+" flds 52(%%eax)\n\t"
+" fadds 72(%%eax)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 48(%%eax)\n\t"
+" fsubs 76(%%eax)\n\t"
+" fmuls 48(%%ebx)\n\t"
+" fstps 76(%%edx)\n\t"
+
+" flds 52(%%eax)\n\t"
+" fsubs 72(%%eax)\n\t"
+" fmuls 52(%%ebx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 56(%%eax)\n\t"
+" fadds 68(%%eax)\n\t"
+" fstps 56(%%edx)\n\t"
+
+" flds 60(%%eax)\n\t"
+" fadds 64(%%eax)\n\t"
+" fstps 60(%%edx)\n\t"
+
+" flds 56(%%eax)\n\t"
+" fsubs 68(%%eax)\n\t"
+" fmuls 56(%%ebx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 60(%%eax)\n\t"
+" fsubs 64(%%eax)\n\t"
+" fmuls 60(%%ebx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+/* Phase 2*/
+
+" flds (%%edx)\n\t"
+" fadds 60(%%edx)\n\t"
+" fstps (%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 4(%%ecx)\n\t"
+
+" flds (%%edx)\n\t"
+" fsubs 60(%%edx)\n\t"
+" fmuls 64(%%ebx)\n\t"
+" fstps 60(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fsubs 56(%%edx)\n\t"
+" fmuls 68(%%ebx)\n\t"
+" fstps 56(%%ecx)\n\t"
+
+" flds 8(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fstps 8(%%ecx)\n\t"
+
+" flds 12(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fstps 12(%%ecx)\n\t"
+
+" flds 8(%%edx)\n\t"
+" fsubs 52(%%edx)\n\t"
+" fmuls 72(%%ebx)\n\t"
+" fstps 52(%%ecx)\n\t"
+
+" flds 12(%%edx)\n\t"
+" fsubs 48(%%edx)\n\t"
+" fmuls 76(%%ebx)\n\t"
+" fstps 48(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 16(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 20(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fsubs 44(%%edx)\n\t"
+" fmuls 80(%%ebx)\n\t"
+" fstps 44(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fsubs 40(%%edx)\n\t"
+" fmuls 84(%%ebx)\n\t"
+" fstps 40(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fstps 24(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fadds 32(%%edx)\n\t"
+" fstps 28(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fsubs 36(%%edx)\n\t"
+" fmuls 88(%%ebx)\n\t"
+" fstps 36(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fsubs 32(%%edx)\n\t"
+" fmuls 92(%%ebx)\n\t"
+" fstps 32(%%ecx)\n\t"
+
+/* Phase 3*/
+
+" flds 64(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 64(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fstps 68(%%ecx)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsubs 64(%%edx)\n\t"
+" fmuls 64(%%ebx)\n\t"
+" fstps 124(%%ecx)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fsubs 68(%%edx)\n\t"
+" fmuls 68(%%ebx)\n\t"
+" fstps 120(%%ecx)\n\t"
+
+" flds 72(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fstps 72(%%ecx)\n\t"
+
+" flds 76(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fstps 76(%%ecx)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fsubs 72(%%edx)\n\t"
+" fmuls 72(%%ebx)\n\t"
+" fstps 116(%%ecx)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fsubs 76(%%edx)\n\t"
+" fmuls 76(%%ebx)\n\t"
+" fstps 112(%%ecx)\n\t"
+
+" flds 80(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fstps 80(%%ecx)\n\t"
+
+" flds 84(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fstps 84(%%ecx)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fsubs 80(%%edx)\n\t"
+" fmuls 80(%%ebx)\n\t"
+" fstps 108(%%ecx)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fsubs 84(%%edx)\n\t"
+" fmuls 84(%%ebx)\n\t"
+" fstps 104(%%ecx)\n\t"
+
+" flds 88(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fstps 88(%%ecx)\n\t"
+
+" flds 92(%%edx)\n\t"
+" fadds 96(%%edx)\n\t"
+" fstps 92(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fsubs 88(%%edx)\n\t"
+" fmuls 88(%%ebx)\n\t"
+" fstps 100(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fsubs 92(%%edx)\n\t"
+" fmuls 92(%%ebx)\n\t"
+" fstps 96(%%ecx)\n\t"
+
+/* Phase 4*/
+
+" flds (%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fstps (%%edx)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 28(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 28(%%edx)\n\t"
+
+" flds 4(%%ecx)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fstps 4(%%edx)\n\t"
+
+" flds 4(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 24(%%edx)\n\t"
+
+" flds 8(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fstps 8(%%edx)\n\t"
+
+" flds 8(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 20(%%edx)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fstps 12(%%edx)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fsubs 16(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 16(%%edx)\n\t"
+
+" flds 32(%%ecx)\n\t"
+" fadds 60(%%ecx)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 60(%%ecx)\n\t"
+" fsubs 32(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 60(%%edx)\n\t"
+
+" flds 36(%%ecx)\n\t"
+" fadds 56(%%ecx)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 56(%%ecx)\n\t"
+" fsubs 36(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 56(%%edx)\n\t"
+
+" flds 40(%%ecx)\n\t"
+" fadds 52(%%ecx)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 52(%%ecx)\n\t"
+" fsubs 40(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 44(%%ecx)\n\t"
+" fadds 48(%%ecx)\n\t"
+" fstps 44(%%edx)\n\t"
+
+" flds 48(%%ecx)\n\t"
+" fsubs 44(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 48(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fadds 92(%%ecx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fsubs 92(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 92(%%edx)\n\t"
+
+" flds 68(%%ecx)\n\t"
+" fadds 88(%%ecx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 68(%%ecx)\n\t"
+" fsubs 88(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 72(%%ecx)\n\t"
+" fadds 84(%%ecx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 72(%%ecx)\n\t"
+" fsubs 84(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 84(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fadds 80(%%ecx)\n\t"
+" fstps 76(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fsubs 80(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fadds 124(%%ecx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 124(%%ecx)\n\t"
+" fsubs 96(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 124(%%edx)\n\t"
+
+" flds 100(%%ecx)\n\t"
+" fadds 120(%%ecx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 120(%%ecx)\n\t"
+" fsubs 100(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 120(%%edx)\n\t"
+
+" flds 104(%%ecx)\n\t"
+" fadds 116(%%ecx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 116(%%ecx)\n\t"
+" fsubs 104(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 116(%%edx)\n\t"
+
+" flds 108(%%ecx)\n\t"
+" fadds 112(%%ecx)\n\t"
+" fstps 108(%%edx)\n\t"
+
+" flds 112(%%ecx)\n\t"
+" fsubs 108(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds (%%edx)\n\t"
+" fadds 12(%%edx)\n\t"
+" fstps (%%ecx)\n\t"
+
+" flds (%%edx)\n\t"
+" fsubs 12(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 12(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fadds 8(%%edx)\n\t"
+" fstps 4(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fsubs 8(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 8(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fadds 28(%%edx)\n\t"
+" fstps 16(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fsubs 16(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 28(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fadds 24(%%edx)\n\t"
+" fstps 20(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fsubs 20(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 24(%%ecx)\n\t"
+
+" flds 32(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 32(%%ecx)\n\t"
+
+" flds 32(%%edx)\n\t"
+" fsubs 44(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 44(%%ecx)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 36(%%ecx)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fsubs 40(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 40(%%ecx)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 60(%%edx)\n\t"
+" fstps 48(%%ecx)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fsubs 48(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 60(%%ecx)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 52(%%ecx)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fsubs 52(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 56(%%ecx)\n\t"
+
+" flds 64(%%edx)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 64(%%ecx)\n\t"
+
+" flds 64(%%edx)\n\t"
+" fsubs 76(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 76(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 68(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fsubs 72(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 72(%%ecx)\n\t"
+
+" flds 80(%%edx)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 80(%%ecx)\n\t"
+
+" flds 92(%%edx)\n\t"
+" fsubs 80(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 92(%%ecx)\n\t"
+
+" flds 84(%%edx)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 84(%%ecx)\n\t"
+
+" flds 88(%%edx)\n\t"
+" fsubs 84(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 88(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fstps 96(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fsubs 108(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 108(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fstps 100(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fsubs 104(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 104(%%ecx)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 112(%%ecx)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsubs 112(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 124(%%ecx)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fstps 116(%%ecx)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fsubs 116(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 120(%%ecx)\n\t"
+
+/* Phase 5*/
+
+" flds 32(%%ecx)\n\t"
+" fadds 36(%%ecx)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 32(%%ecx)\n\t"
+" fsubs 36(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 44(%%ecx)\n\t"
+" fsubs 40(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 44(%%edx)\n\t"
+" fadds 40(%%ecx)\n\t"
+" fadds 44(%%ecx)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 48(%%ecx)\n\t"
+" fsubs 52(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 60(%%ecx)\n\t"
+" fsubs 56(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 56(%%ecx)\n\t"
+" fadds 60(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 48(%%ecx)\n\t"
+" fadds 52(%%ecx)\n\t"
+" fstps 48(%%edx)\n\t"
+" fadd %%st(2)\n\t"
+" fstps 56(%%edx)\n\t"
+" fsts 60(%%edx)\n\t"
+" faddp %%st(1)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fadds 68(%%ecx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fsubs 68(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fsubs 72(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 76(%%edx)\n\t"
+" fadds 72(%%ecx)\n\t"
+" fadds 76(%%ecx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 92(%%ecx)\n\t"
+" fsubs 88(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 92(%%edx)\n\t"
+" fadds 92(%%ecx)\n\t"
+" fadds 88(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%ecx)\n\t"
+" fadds 84(%%ecx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 80(%%ecx)\n\t"
+" fsubs 84(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fadd %%st(0), %%st(1)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 84(%%edx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fadds 100(%%ecx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fsubs 100(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 108(%%ecx)\n\t"
+" fsubs 104(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 108(%%edx)\n\t"
+" fadds 104(%%ecx)\n\t"
+" fadds 108(%%ecx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 124(%%ecx)\n\t"
+" fsubs 120(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 124(%%edx)\n\t"
+" fadds 120(%%ecx)\n\t"
+" fadds 124(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 112(%%ecx)\n\t"
+" fadds 116(%%ecx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds 112(%%ecx)\n\t"
+" fsubs 116(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fadd %%st(0),%%st(1)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 116(%%edx)\n\t"
+" fstps 120(%%edx)\n\t"
+" jnz .L01\n\t"
+
+/* Phase 6*/
+
+" flds (%%ecx)\n\t"
+" fadds 4(%%ecx)\n\t"
+" fstps 1024(%%esi)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 4(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts (%%esi)\n\t"
+" fstps (%%edi)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fsubs 8(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 512(%%edi)\n\t"
+" fadds 12(%%ecx)\n\t"
+" fadds 8(%%ecx)\n\t"
+" fstps 512(%%esi)\n\t"
+
+" flds 16(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 28(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 768(%%edi)\n\t"
+" fld %%st(0)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fstps 768(%%esi)\n\t"
+" fadd %%st(2)\n\t"
+" fstps 256(%%esi)\n\t"
+" faddp %%st(1)\n\t"
+" fstps 256(%%edi)\n\t"
+
+/* Phase 7*/
+
+" flds 32(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fstps 896(%%esi)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 640(%%esi)\n\t"
+
+" flds 40(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 384(%%esi)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fstps 128(%%esi)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fstps 128(%%edi)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 384(%%edi)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fsts 896(%%edi)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 640(%%edi)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 64(%%edx)\n\t"
+" fstps 960(%%esi)\n\t"
+" fadds 80(%%edx)\n\t"
+" fstps 832(%%esi)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%edx)\n\t"
+" fstps 704(%%esi)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 576(%%esi)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 448(%%esi)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 320(%%esi)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 192(%%esi)\n\t"
+" fadds 68(%%edx)\n\t"
+" fstps 64(%%esi)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 68(%%edx)\n\t"
+" fstps 64(%%edi)\n\t"
+" fadds 84(%%edx)\n\t"
+" fstps 192(%%edi)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 84(%%edx)\n\t"
+" fstps 320(%%edi)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 448(%%edi)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 576(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 704(%%edi)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsts 960(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 832(%%edi)\n\t"
+" addl $256,%%esp\n\t"
+" popl %%edi\n\t"
+" popl %%esi\n\t"
+" popl %%ebx\n\t"
+" jmp .L_bye\n\t"
+".L01:\n\t"
+/* Phase 8*/
+
+" flds (%%ecx)\n\t"
+" fadds 4(%%ecx)\n\t"
+" fistp 512(%%esi)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 4(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" fistp (%%esi)\n\t"
+
+
+" flds 12(%%ecx)\n\t"
+" fsubs 8(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fist 256(%%edi)\n\t"
+" fadds 12(%%ecx)\n\t"
+" fadds 8(%%ecx)\n\t"
+" fistp 256(%%esi)\n\t"
+
+" flds 16(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 28(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fist 384(%%edi)\n\t"
+" fld %%st(0)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fistp 384(%%esi)\n\t"
+" fadd %%st(2)\n\t"
+" fistp 128(%%esi)\n\t"
+" faddp %%st(1)\n\t"
+" fistp 128(%%edi)\n\t"
+
+/* Phase 9*/
+
+" flds 32(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fistp 448(%%esi)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fistp 320(%%esi)\n\t"
+
+" flds 40(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fistp 192(%%esi)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fistp 64(%%esi)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fistp 64(%%edi)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fistp 192(%%edi)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fist 448(%%edi)\n\t"
+" fadds 44(%%edx)\n\t"
+" fistp 320(%%edi)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 64(%%edx)\n\t"
+" fistp 480(%%esi)\n\t"
+" fadds 80(%%edx)\n\t"
+" fistp 416(%%esi)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%edx)\n\t"
+" fistp 352(%%esi)\n\t"
+" fadds 72(%%edx)\n\t"
+" fistp 288(%%esi)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 72(%%edx)\n\t"
+" fistp 224(%%esi)\n\t"
+" fadds 88(%%edx)\n\t"
+" fistp 160(%%esi)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 88(%%edx)\n\t"
+" fistp 96(%%esi)\n\t"
+" fadds 68(%%edx)\n\t"
+" fistp 32(%%esi)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 68(%%edx)\n\t"
+" fistp 32(%%edi)\n\t"
+" fadds 84(%%edx)\n\t"
+" fistp 96(%%edi)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 84(%%edx)\n\t"
+" fistp 160(%%edi)\n\t"
+" fadds 76(%%edx)\n\t"
+" fistp 224(%%edi)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 76(%%edx)\n\t"
+" fistp 288(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fistp 352(%%edi)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fist 480(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fistp 416(%%edi)\n\t"
+" movsw\n\t"
+".L_bye:"
+ :
+ :"m"(a),"m"(b),"m"(c),"m"(tmp[0])
+ :"memory","%ebx","%esi","%edi");
+}
diff --git a/mp3lib/dct64_MMX.s b/mp3lib/dct64_MMX.s
deleted file mode 100644
index 9f3ce21fb5..0000000000
--- a/mp3lib/dct64_MMX.s
+++ /dev/null
@@ -1,992 +0,0 @@
-# This code was taken from http://www.mpg123.org
-# See ChangeLog of mpg123-0.59s-pre.1 for detail
-# Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
-#
-
-.text
-
- .align 16
-
-.globl dct64_MMX
-dct64_MMX:
- pushl %ebx
- pushl %esi
- pushl %edi
- subl $256,%esp
- movl 280(%esp),%eax
-/* Phase 1*/
- flds (%eax)
- leal 128(%esp),%edx
- fadds 124(%eax)
- movl 272(%esp),%esi
- fstps (%edx)
- movl 276(%esp),%edi
-
- flds 4(%eax)
- movl $costab_mmx,%ebx
- fadds 120(%eax)
- orl %ecx,%ecx
- fstps 4(%edx)
-
- flds (%eax)
- movl %esp,%ecx
- fsubs 124(%eax)
- fmuls (%ebx)
- fstps 124(%edx)
-
- flds 4(%eax)
- fsubs 120(%eax)
- fmuls 4(%ebx)
- fstps 120(%edx)
-
- flds 8(%eax)
- fadds 116(%eax)
- fstps 8(%edx)
-
- flds 12(%eax)
- fadds 112(%eax)
- fstps 12(%edx)
-
- flds 8(%eax)
- fsubs 116(%eax)
- fmuls 8(%ebx)
- fstps 116(%edx)
-
- flds 12(%eax)
- fsubs 112(%eax)
- fmuls 12(%ebx)
- fstps 112(%edx)
-
- flds 16(%eax)
- fadds 108(%eax)
- fstps 16(%edx)
-
- flds 20(%eax)
- fadds 104(%eax)
- fstps 20(%edx)
-
- flds 16(%eax)
- fsubs 108(%eax)
- fmuls 16(%ebx)
- fstps 108(%edx)
-
- flds 20(%eax)
- fsubs 104(%eax)
- fmuls 20(%ebx)
- fstps 104(%edx)
-
- flds 24(%eax)
- fadds 100(%eax)
- fstps 24(%edx)
-
- flds 28(%eax)
- fadds 96(%eax)
- fstps 28(%edx)
-
- flds 24(%eax)
- fsubs 100(%eax)
- fmuls 24(%ebx)
- fstps 100(%edx)
-
- flds 28(%eax)
- fsubs 96(%eax)
- fmuls 28(%ebx)
- fstps 96(%edx)
-
- flds 32(%eax)
- fadds 92(%eax)
- fstps 32(%edx)
-
- flds 36(%eax)
- fadds 88(%eax)
- fstps 36(%edx)
-
- flds 32(%eax)
- fsubs 92(%eax)
- fmuls 32(%ebx)
- fstps 92(%edx)
-
- flds 36(%eax)
- fsubs 88(%eax)
- fmuls 36(%ebx)
- fstps 88(%edx)
-
- flds 40(%eax)
- fadds 84(%eax)
- fstps 40(%edx)
-
- flds 44(%eax)
- fadds 80(%eax)
- fstps 44(%edx)
-
- flds 40(%eax)
- fsubs 84(%eax)
- fmuls 40(%ebx)
- fstps 84(%edx)
-
- flds 44(%eax)
- fsubs 80(%eax)
- fmuls 44(%ebx)
- fstps 80(%edx)
-
- flds 48(%eax)
- fadds 76(%eax)
- fstps 48(%edx)
-
- flds 52(%eax)
- fadds 72(%eax)
- fstps 52(%edx)
-
- flds 48(%eax)
- fsubs 76(%eax)
- fmuls 48(%ebx)
- fstps 76(%edx)
-
- flds 52(%eax)
- fsubs 72(%eax)
- fmuls 52(%ebx)
- fstps 72(%edx)
-
- flds 56(%eax)
- fadds 68(%eax)
- fstps 56(%edx)
-
- flds 60(%eax)
- fadds 64(%eax)
- fstps 60(%edx)
-
- flds 56(%eax)
- fsubs 68(%eax)
- fmuls 56(%ebx)
- fstps 68(%edx)
-
- flds 60(%eax)
- fsubs 64(%eax)
- fmuls 60(%ebx)
- fstps 64(%edx)
-
-/* Phase 2*/
-
- flds (%edx)
- fadds 60(%edx)
- fstps (%ecx)
-
- flds 4(%edx)
- fadds 56(%edx)
- fstps 4(%ecx)
-
- flds (%edx)
- fsubs 60(%edx)
- fmuls 64(%ebx)
- fstps 60(%ecx)
-
- flds 4(%edx)
- fsubs 56(%edx)
- fmuls 68(%ebx)
- fstps 56(%ecx)
-
- flds 8(%edx)
- fadds 52(%edx)
- fstps 8(%ecx)
-
- flds 12(%edx)
- fadds 48(%edx)
- fstps 12(%ecx)
-
- flds 8(%edx)
- fsubs 52(%edx)
- fmuls 72(%ebx)
- fstps 52(%ecx)
-
- flds 12(%edx)
- fsubs 48(%edx)
- fmuls 76(%ebx)
- fstps 48(%ecx)
-
- flds 16(%edx)
- fadds 44(%edx)
- fstps 16(%ecx)
-
- flds 20(%edx)
- fadds 40(%edx)
- fstps 20(%ecx)
-
- flds 16(%edx)
- fsubs 44(%edx)
- fmuls 80(%ebx)
- fstps 44(%ecx)
-
- flds 20(%edx)
- fsubs 40(%edx)
- fmuls 84(%ebx)
- fstps 40(%ecx)
-
- flds 24(%edx)
- fadds 36(%edx)
- fstps 24(%ecx)
-
- flds 28(%edx)
- fadds 32(%edx)
- fstps 28(%ecx)
-
- flds 24(%edx)
- fsubs 36(%edx)
- fmuls 88(%ebx)
- fstps 36(%ecx)
-
- flds 28(%edx)
- fsubs 32(%edx)
- fmuls 92(%ebx)
- fstps 32(%ecx)
-
-/* Phase 3*/
-
- flds 64(%edx)
- fadds 124(%edx)
- fstps 64(%ecx)
-
- flds 68(%edx)
- fadds 120(%edx)
- fstps 68(%ecx)
-
- flds 124(%edx)
- fsubs 64(%edx)
- fmuls 64(%ebx)
- fstps 124(%ecx)
-
- flds 120(%edx)
- fsubs 68(%edx)
- fmuls 68(%ebx)
- fstps 120(%ecx)
-
- flds 72(%edx)
- fadds 116(%edx)
- fstps 72(%ecx)
-
- flds 76(%edx)
- fadds 112(%edx)
- fstps 76(%ecx)
-
- flds 116(%edx)
- fsubs 72(%edx)
- fmuls 72(%ebx)
- fstps 116(%ecx)
-
- flds 112(%edx)
- fsubs 76(%edx)
- fmuls 76(%ebx)
- fstps 112(%ecx)
-
- flds 80(%edx)
- fadds 108(%edx)
- fstps 80(%ecx)
-
- flds 84(%edx)
- fadds 104(%edx)
- fstps 84(%ecx)
-
- flds 108(%edx)
- fsubs 80(%edx)
- fmuls 80(%ebx)
- fstps 108(%ecx)
-
- flds 104(%edx)
- fsubs 84(%edx)
- fmuls 84(%ebx)
- fstps 104(%ecx)
-
- flds 88(%edx)
- fadds 100(%edx)
- fstps 88(%ecx)
-
- flds 92(%edx)
- fadds 96(%edx)
- fstps 92(%ecx)
-
- flds 100(%edx)
- fsubs 88(%edx)
- fmuls 88(%ebx)
- fstps 100(%ecx)
-
- flds 96(%edx)
- fsubs 92(%edx)
- fmuls 92(%ebx)
- fstps 96(%ecx)
-
-/* Phase 4*/
-
- flds (%ecx)
- fadds 28(%ecx)
- fstps (%edx)
-
- flds (%ecx)
- fsubs 28(%ecx)
- fmuls 96(%ebx)
- fstps 28(%edx)
-
- flds 4(%ecx)
- fadds 24(%ecx)
- fstps 4(%edx)
-
- flds 4(%ecx)
- fsubs 24(%ecx)
- fmuls 100(%ebx)
- fstps 24(%edx)
-
- flds 8(%ecx)
- fadds 20(%ecx)
- fstps 8(%edx)
-
- flds 8(%ecx)
- fsubs 20(%ecx)
- fmuls 104(%ebx)
- fstps 20(%edx)
-
- flds 12(%ecx)
- fadds 16(%ecx)
- fstps 12(%edx)
-
- flds 12(%ecx)
- fsubs 16(%ecx)
- fmuls 108(%ebx)
- fstps 16(%edx)
-
- flds 32(%ecx)
- fadds 60(%ecx)
- fstps 32(%edx)
-
- fl