changeset 2267:3df32dabe98c

fixed a bug which caused horizontal lines
author michael
date Fri, 19 Oct 2001 00:21:07 +0000
parents c2ed1e5742ed
children 72ff2179d396
files postproc/swscale.c postproc/swscale_template.c
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/postproc/swscale.c	Fri Oct 19 00:16:13 2001 +0000
+++ b/postproc/swscale.c	Fri Oct 19 00:21:07 2001 +0000
@@ -254,9 +254,9 @@
 	// points to the dst Pixels center in the source (0 is the center of pixel 0,0 in src)
     int srcuvpos= s_srcypos + s_yinc/2 - 0x8000;
     int y1=(srcuvpos + 0x1FFFF)>>17; // first chrominance source line number below the dst line
-    int yalpha=(s_srcypos&0xFFFF)>>7;
+    int yalpha=((s_srcypos-1)&0xFFFF)>>7;
     int yalpha1=yalpha^511;
-    int uvalpha=(srcuvpos&0x1FFFF)>>8;
+    int uvalpha=((srcuvpos-1)&0x1FFFF)>>8;
     int uvalpha1=uvalpha^511;
     uint16_t *buf0=pix_buf_y[y0&1];		// top line of the interpolated slice
     uint16_t *buf1=pix_buf_y[((y0+1)&1)];	// bottom line of the interpolated slice
--- a/postproc/swscale_template.c	Fri Oct 19 00:16:13 2001 +0000
+++ b/postproc/swscale_template.c	Fri Oct 19 00:21:07 2001 +0000
@@ -254,9 +254,9 @@
 	// points to the dst Pixels center in the source (0 is the center of pixel 0,0 in src)
     int srcuvpos= s_srcypos + s_yinc/2 - 0x8000;
     int y1=(srcuvpos + 0x1FFFF)>>17; // first chrominance source line number below the dst line
-    int yalpha=(s_srcypos&0xFFFF)>>7;
+    int yalpha=((s_srcypos-1)&0xFFFF)>>7;
     int yalpha1=yalpha^511;
-    int uvalpha=(srcuvpos&0x1FFFF)>>8;
+    int uvalpha=((srcuvpos-1)&0x1FFFF)>>8;
     int uvalpha1=uvalpha^511;
     uint16_t *buf0=pix_buf_y[y0&1];		// top line of the interpolated slice
     uint16_t *buf1=pix_buf_y[((y0+1)&1)];	// bottom line of the interpolated slice