changeset 2270:56ca174d8169

vertical lines bugfix
author michael
date Fri, 19 Oct 2001 01:26:36 +0000
parents 95c48204bcd9
children a8d57bbc4413
files postproc/swscale.c postproc/swscale_template.c
diffstat 2 files changed, 24 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/postproc/swscale.c	Fri Oct 19 00:42:18 2001 +0000
+++ b/postproc/swscale.c	Fri Oct 19 01:26:36 2001 +0000
@@ -108,6 +108,14 @@
 s_xinc2=s_xinc>>1;
 canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
 
+#ifdef HAVE_MMX2
+	if(canMMX2BeUsed)
+	{
+		s_xinc+= s_xinc_diff;
+		s_xinc2+= s_xinc2_diff;
+	}
+#endif
+
   if(y==0){
       s_srcypos= s_yinc/2 - 0x8000;
       s_ypos=0;
@@ -190,6 +198,9 @@
 
 		s_xinc2+= s_xinc2_diff;
 		s_xinc+= s_xinc_diff;
+
+		old_s_xinc= s_xinc;
+
 		for(i=0; i<dstw/8; i++)
 		{
 			int xx=xpos>>16;
@@ -236,18 +247,12 @@
 			xpos+=s_xinc2;
 		}
 //		funnyCode[0]= RET;
-
-
 	}
 
-	if(canMMX2BeUsed)
-	{
-		s_xinc+= s_xinc_diff;
-		s_xinc2+= s_xinc2_diff;
-	}
 #endif // HAVE_MMX2
   } // reset counters
 
+
   while(1){
     unsigned char *dest=dstptr+dststride*s_ypos;
     int y0=(s_srcypos + 0xFFFF)>>16;  // first luminance source line number below the dst line
--- a/postproc/swscale_template.c	Fri Oct 19 00:42:18 2001 +0000
+++ b/postproc/swscale_template.c	Fri Oct 19 01:26:36 2001 +0000
@@ -108,6 +108,14 @@
 s_xinc2=s_xinc>>1;
 canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
 
+#ifdef HAVE_MMX2
+	if(canMMX2BeUsed)
+	{
+		s_xinc+= s_xinc_diff;
+		s_xinc2+= s_xinc2_diff;
+	}
+#endif
+
   if(y==0){
       s_srcypos= s_yinc/2 - 0x8000;
       s_ypos=0;
@@ -190,6 +198,9 @@
 
 		s_xinc2+= s_xinc2_diff;
 		s_xinc+= s_xinc_diff;
+
+		old_s_xinc= s_xinc;
+
 		for(i=0; i<dstw/8; i++)
 		{
 			int xx=xpos>>16;
@@ -236,18 +247,12 @@
 			xpos+=s_xinc2;
 		}
 //		funnyCode[0]= RET;
-
-
 	}
 
-	if(canMMX2BeUsed)
-	{
-		s_xinc+= s_xinc_diff;
-		s_xinc2+= s_xinc2_diff;
-	}
 #endif // HAVE_MMX2
   } // reset counters
 
+
   while(1){
     unsigned char *dest=dstptr+dststride*s_ypos;
     int y0=(s_srcypos + 0xFFFF)>>16;  // first luminance source line number below the dst line