videobox: Fix AYUV->I420 conversion
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 9 Sep 2009 14:02:03 +0000 (16:02 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 9 Sep 2009 14:28:53 +0000 (16:28 +0200)
For this fix the averaging of the chroma values. It should't be (a/2 + b)/2
but just (a + b)/2.

Fixes bug #594599.

gst/videobox/gstvideobox.c

index a50594f..2f9027c 100644 (file)
@@ -951,8 +951,8 @@ gst_video_box_ayuv_i420 (GstVideoBox * video_box, guint8 * src, guint8 * dest)
             Vtemp[UVfloor (a + j)] =
                 (Vtemp[UVfloor (a + j)] + ((guint8 *) & src_loc1[j])[3]) / 2;
           } else {
-            Utemp[UVfloor (a + j)] = ((guint8 *) & src_loc1[j])[2] / 2;
-            Vtemp[UVfloor (a + j)] = ((guint8 *) & src_loc1[j])[3] / 2;
+            Utemp[UVfloor (a + j)] = ((guint8 *) & src_loc1[j])[2];
+            Vtemp[UVfloor (a + j)] = ((guint8 *) & src_loc1[j])[3];
           }
         }
         Ydest += crop_w;