dvdspu: Fix the rendering of PGS windows with left != 0
authorJan Schmidt <thaytan@noraisin.net>
Thu, 7 Feb 2013 11:26:15 +0000 (22:26 +1100)
committerJan Schmidt <thaytan@noraisin.net>
Thu, 7 Feb 2013 11:51:05 +0000 (22:51 +1100)
When rendering a PGS window area where the left edge is not at
pixel 0, the chroma was being rendered in the wrong place since
commit 4dc648d3430b67592cf1413ccef415f70889d71e

gst/dvdspu/gstdvdspu-render.c

index b8e3929..9c34270 100644 (file)
@@ -79,6 +79,8 @@ gstspu_blend_comp_buffers (SpuState * state, guint8 * planes[3])
   uv_end = (comp_last_x + 1) / 2;
   left = state->comp_left / 2;
 
+  out_U += left * GST_VIDEO_INFO_COMP_PSTRIDE (&state->info, 1);
+  out_V += left * GST_VIDEO_INFO_COMP_PSTRIDE (&state->info, 2);
   for (x = left; x < uv_end; x++) {
     guint32 tmp;
     /* Each entry in the compositing buffer is 4 summed pixels, so the