[Mplayer-cvslog] CVS: main/postproc swscale.c,1.33,1.34

Michael Niedermayer michael at mplayer.dev.hu
Fri Nov 2 20:21:26 CET 2001


Update of /cvsroot/mplayer/main/postproc
In directory mplayer:/var/tmp.root/cvs-serv16012

Modified Files:
	swscale.c 
Log Message:
right green line bugfix for width not %8==0 (untested -vo vesa doesnt work)


Index: swscale.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/swscale.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- swscale.c	31 Oct 2001 01:30:28 -0000	1.33
+++ swscale.c	2 Nov 2001 19:21:02 -0000	1.34
@@ -1399,7 +1399,7 @@
 
 int srcWidth= (dstw*s_xinc + 0x8000)>>16;
 int dstUVw= fullUVIpol ? dstw : dstw/2;
-
+int i;
 
 #ifdef HAVE_MMX2
 canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0 && (srcWidth&15)==0) ? 1 : 0;
@@ -1422,6 +1422,17 @@
 	s_last_y1pos=-99;
 	s_srcypos= s_yinc/2 - 0x8000;
 	s_ypos=0;
+
+	// clean the buffers so that no green stuff is drawen if the width is not sane (%8=0)
+	for(i=dstw-2; i<dstw+20; i++)
+	{
+		pix_buf_uv[0][i] = pix_buf_uv[1][i]
+		= pix_buf_uv[0][2048+i] = pix_buf_uv[1][2048+i] = 128;
+		pix_buf_uv[0][i/2] = pix_buf_uv[1][i/2]
+		= pix_buf_uv[0][2048+i/2] = pix_buf_uv[1][2048+i/2] = 128;
+		pix_buf_y[0][i]= pix_buf_y[1][i]= 0;
+	}
+
 #ifdef HAVE_MMX2
 // cant downscale !!!
 	if((old_s_xinc != s_xinc || old_dstw!=dstw) && canMMX2BeUsed)




More information about the MPlayer-cvslog mailing list