[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