summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vf_decimate.c
diff options
context:
space:
mode:
authoraurel <aurel@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-21 11:55:20 +0000
committeraurel <aurel@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-21 11:55:20 +0000
commit798d2d133780c000166f01fd2d7fbde395196be3 (patch)
tree1346451ddb9911c63cd778af21261a6ae6f70346 /libmpcodecs/vf_decimate.c
parent159928a38a3fc65427a1336b2c73aa3f78a82aa7 (diff)
downloadmpv-798d2d133780c000166f01fd2d7fbde395196be3.tar.bz2
mpv-798d2d133780c000166f01fd2d7fbde395196be3.tar.xz
adapting existing mmx/mmx2/sse/3dnow optimizations so they work on x86_64
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13721 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_decimate.c')
-rw-r--r--libmpcodecs/vf_decimate.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libmpcodecs/vf_decimate.c b/libmpcodecs/vf_decimate.c
index 7cc8d2af76..1a80e9dd07 100644
--- a/libmpcodecs/vf_decimate.c
+++ b/libmpcodecs/vf_decimate.c
@@ -31,11 +31,11 @@ static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns)
".balign 16 \n\t"
"1: \n\t"
- "movq (%%esi), %%mm0 \n\t"
- "movq (%%esi), %%mm2 \n\t"
- "addl %%eax, %%esi \n\t"
- "movq (%%edi), %%mm1 \n\t"
- "addl %%ebx, %%edi \n\t"
+ "movq (%%"REG_S"), %%mm0 \n\t"
+ "movq (%%"REG_S"), %%mm2 \n\t"
+ "add %%"REG_a", %%"REG_S" \n\t"
+ "movq (%%"REG_D"), %%mm1 \n\t"
+ "add %%"REG_b", %%"REG_D" \n\t"
"psubusb %%mm1, %%mm2 \n\t"
"psubusb %%mm0, %%mm1 \n\t"
"movq %%mm2, %%mm0 \n\t"
@@ -51,10 +51,10 @@ static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns)
"decl %%ecx \n\t"
"jnz 1b \n\t"
- "movq %%mm4, (%%edx) \n\t"
+ "movq %%mm4, (%%"REG_d") \n\t"
"emms \n\t"
:
- : "S" (old), "D" (new), "a" (os), "b" (ns), "d" (out)
+ : "S" (old), "D" (new), "a" ((long)os), "b" ((long)ns), "d" (out)
: "memory"
);
return out[0]+out[1]+out[2]+out[3];