diff libvo/vo_yuv4mpeg.c @ 4706:a4400910be9f

yv12 slices fix by Robert Kesterson <robertk@robertk.com>
author arpi
date Thu, 14 Feb 2002 22:31:21 +0000
parents ea3bd3328fc6
children 32e1f5042f65
line wrap: on
line diff
--- a/libvo/vo_yuv4mpeg.c	Thu Feb 14 22:15:53 2002 +0000
+++ b/libvo/vo_yuv4mpeg.c	Thu Feb 14 22:31:21 2002 +0000
@@ -108,18 +108,19 @@
 		}
 		{
 			// copy U + V:
+			int imgstride = image_width >> 1;
 			uint8_t *src1 = srcimg[1];
 			uint8_t *src2 = srcimg[2];
-			uint8_t *dstu = image_u + image_width * (y / 2) + (x / 2);
-			uint8_t *dstv = image_v + image_width * (y / 2) + (x / 2);
+			uint8_t *dstu = image_u + imgstride * (y >> 1) + (x >> 1);
+			uint8_t *dstv = image_v + imgstride * (y >> 1) + (x >> 1);
 			for (i = 0; i < h / 2; i++)
 			{
-				memcpy(dstu, src1 , w / 2);
-				memcpy(dstv, src2, w / 2);
+				memcpy(dstu, src1 , w >> 1);
+				memcpy(dstv, src2, w >> 1);
 				src1 += stride[1];
 				src2 += stride[2];
-				dstu += image_width / 2;
-				dstv += image_width / 2;
+				dstu += imgstride;
+				dstv += imgstride;
 			}
 		}
 	}
@@ -154,7 +155,6 @@
 				rgb24toyv12(src[0], image_y, image_u, image_v, 
 							image_width, image_height, 
 							image_width, image_width / 2, image_width * 3);
-//				RGB2YUV(image_width, image_height, src[0], image_y, image_u, image_v, 1);
 			}
 			break;
 	}