[MPlayer-cvslog] CVS: main/postproc swscale.c, 1.147, 1.148 swscale_template.c, 1.110, 1.111
Aurelien Jacobs CVS
syncmail at mplayerhq.hu
Fri Jan 21 17:48:21 CET 2005
CVS change done by Aurelien Jacobs CVS
Update of /cvsroot/mplayer/main/postproc
In directory mail:/var2/tmp/cvs-serv13766/postproc
Modified Files:
swscale.c swscale_template.c
Log Message:
fix few x86_64 registers handling
Index: swscale.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/swscale.c,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -r1.147 -r1.148
--- swscale.c 21 Oct 2004 11:55:20 -0000 1.147
+++ swscale.c 21 Jan 2005 16:48:18 -0000 1.148
@@ -1175,7 +1175,7 @@
"pshufw $0xFF, %%mm0, %%mm0 \n\t"
"2: \n\t"
"psubw %%mm1, %%mm0 \n\t"
- "mov 8(%%"REG_b", %%"REG_a"), %%"REG_S"\n\t"
+ "movl 8(%%"REG_b", %%"REG_a"), %%esi\n\t"
"pmullw %%mm3, %%mm0 \n\t"
"psllw $7, %%mm1 \n\t"
"paddw %%mm1, %%mm0 \n\t"
@@ -1213,7 +1213,7 @@
"pshufw $0xFF, %%mm0, %%mm0 \n\t"
"2: \n\t"
"psubw %%mm1, %%mm0 \n\t"
- "mov 8(%%"REG_b", %%"REG_a"), %%"REG_S"\n\t"
+ "movl 8(%%"REG_b", %%"REG_a"), %%esi\n\t"
"pmullw %%mm3, %%mm0 \n\t"
"psllw $7, %%mm1 \n\t"
"paddw %%mm1, %%mm0 \n\t"
Index: swscale_template.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/swscale_template.c,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -r1.110 -r1.111
--- swscale_template.c 19 Jan 2005 12:56:16 -0000 1.110
+++ swscale_template.c 21 Jan 2005 16:48:18 -0000 1.111
@@ -2271,13 +2271,27 @@
PREFETCH" 32(%%"REG_c") \n\t"
PREFETCH" 64(%%"REG_c") \n\t"
+#ifdef ARCH_X86_64
+
+#define FUNNY_Y_CODE \
+ "movl (%%"REG_b"), %%esi \n\t"\
+ "call *%4 \n\t"\
+ "movl (%%"REG_b", %%"REG_a"), %%esi\n\t"\
+ "add %%"REG_S", %%"REG_c" \n\t"\
+ "add %%"REG_a", %%"REG_D" \n\t"\
+ "xor %%"REG_a", %%"REG_a" \n\t"\
+
+#else
+
#define FUNNY_Y_CODE \
- "mov (%%"REG_b"), %%"REG_S" \n\t"\
+ "movl (%%"REG_b"), %%esi \n\t"\
"call *%4 \n\t"\
- "addl (%%"REG_b", %%"REG_a"), %%ecx\n\t"\
+ "addl (%%"REG_b", %%"REG_a"), %%"REG_c"\n\t"\
"add %%"REG_a", %%"REG_D" \n\t"\
"xor %%"REG_a", %%"REG_a" \n\t"\
+#endif
+
FUNNY_Y_CODE
FUNNY_Y_CODE
FUNNY_Y_CODE
@@ -2440,13 +2454,27 @@
PREFETCH" 32(%%"REG_c") \n\t"
PREFETCH" 64(%%"REG_c") \n\t"
+#ifdef ARCH_X86_64
+
+#define FUNNY_UV_CODE \
+ "movl (%%"REG_b"), %%esi \n\t"\
+ "call *%4 \n\t"\
+ "movl (%%"REG_b", %%"REG_a"), %%esi\n\t"\
+ "add %%"REG_S", %%"REG_c" \n\t"\
+ "add %%"REG_a", %%"REG_D" \n\t"\
+ "xor %%"REG_a", %%"REG_a" \n\t"\
+
+#else
+
#define FUNNY_UV_CODE \
"movl (%%"REG_b"), %%esi \n\t"\
"call *%4 \n\t"\
- "addl (%%"REG_b", %%"REG_a"), %%ecx\n\t"\
+ "addl (%%"REG_b", %%"REG_a"), %%"REG_c"\n\t"\
"add %%"REG_a", %%"REG_D" \n\t"\
"xor %%"REG_a", %%"REG_a" \n\t"\
+#endif
+
FUNNY_UV_CODE
FUNNY_UV_CODE
FUNNY_UV_CODE
@@ -2466,7 +2494,7 @@
:: "m" (src1), "m" (dst), "m" (mmx2Filter), "m" (mmx2FilterPos),
"m" (funnyUVCode), "m" (src2)
- : "%"REG_a, "%"REG_b, "%"REG_c, "%"REG_d, "%esi", "%"REG_D
+ : "%"REG_a, "%"REG_b, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D
);
for(i=dstWidth-1; (i*xInc)>>16 >=srcW-1; i--)
{
More information about the MPlayer-cvslog
mailing list