videobox: Fix U/V strides for a number of cases.
authorMichael Smith <msmith@rdio.com>
Tue, 18 Sep 2012 17:34:03 +0000 (10:34 -0700)
committerMichael Smith <msmith@rdio.com>
Tue, 18 Sep 2012 17:34:03 +0000 (10:34 -0700)
gst/videobox/gstvideobox.c

index 247224fe165a8648fc5fe9df65477d725dc35b80..d0523a1355b87958478f5bd7849d15837a4cadb7 100644 (file)
@@ -680,8 +680,8 @@ fill_planar_yuv (GstVideoBoxFill fill_type, guint b_alpha,
   widthV = GST_VIDEO_FRAME_COMP_WIDTH (frame, 2);
 
   heightY = GST_VIDEO_FRAME_COMP_HEIGHT (frame, 0);
-  heightU = GST_VIDEO_FRAME_COMP_HEIGHT (frame, 0);
-  heightV = GST_VIDEO_FRAME_COMP_HEIGHT (frame, 0);
+  heightU = GST_VIDEO_FRAME_COMP_HEIGHT (frame, 1);
+  heightV = GST_VIDEO_FRAME_COMP_HEIGHT (frame, 2);
 
   if (strideY == widthY) {
     memset (destY, empty_pixel[0], strideY * heightY);
@@ -808,8 +808,8 @@ copy_y42b_y42b (guint i_alpha, GstVideoFrame * dest,
   dest_width = GST_VIDEO_FRAME_WIDTH (dest);
 
   dest_strideY = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
+  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 1);
+  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 2);
 
   src_strideY = GST_VIDEO_FRAME_COMP_STRIDE (src, 0);
   src_strideU = GST_VIDEO_FRAME_COMP_STRIDE (src, 1);
@@ -953,8 +953,8 @@ copy_y41b_y41b (guint i_alpha, GstVideoFrame * dest,
   dest_width = GST_VIDEO_FRAME_WIDTH (dest);
 
   dest_strideY = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
+  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 1);
+  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 2);
 
   src_strideY = GST_VIDEO_FRAME_COMP_STRIDE (src, 0);
   src_strideU = GST_VIDEO_FRAME_COMP_STRIDE (src, 1);
@@ -1219,8 +1219,8 @@ copy_i420_i420 (guint i_alpha, GstVideoFrame * dest,
   dest_height = GST_VIDEO_FRAME_HEIGHT (dest);
 
   dest_strideY = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
-  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 0);
+  dest_strideU = GST_VIDEO_FRAME_COMP_STRIDE (dest, 1);
+  dest_strideV = GST_VIDEO_FRAME_COMP_STRIDE (dest, 2);
 
   src_strideY = GST_VIDEO_FRAME_COMP_STRIDE (src, 0);
   src_strideU = GST_VIDEO_FRAME_COMP_STRIDE (src, 1);