summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-07-02 14:56:02 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-07-02 14:58:37 +0200
commit9c9f97251a44cb4f05993cbe9dabfc40560a147f (patch)
treedd731c1798cf3dbabc6a38ee176e9f1bf4bbb7e5
parentef4165f08b11925396ea0df8b6056106eb09519a (diff)
ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
The last pixel wasn't written before. Fixes bug #623384.
-rw-r--r--gst/ffmpegcolorspace/imgconvert_template.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/gst/ffmpegcolorspace/imgconvert_template.h b/gst/ffmpegcolorspace/imgconvert_template.h
index 492860108..e9b46a420 100644
--- a/gst/ffmpegcolorspace/imgconvert_template.h
+++ b/gst/ffmpegcolorspace/imgconvert_template.h
@@ -47,6 +47,14 @@ static void glue (uyvy422_to_, RGB_NAME)(AVPicture *dst, const AVPicture *src,
s1 += 4;
}
+
+ if (w) {
+ YUV_TO_RGB1_CCIR(s1[0], s1[2]);
+
+ YUV_TO_RGB2_CCIR(r, g, b, s1[1]);
+ RGB_OUT(d1, r, g, b);
+ }
+
d += dst->linesize[0];
s += src->linesize[0];
}
@@ -78,6 +86,14 @@ static void glue (yuv422_to_, RGB_NAME)(AVPicture *dst, const AVPicture *src,
s1 += 4;
}
+
+ if (w) {
+ YUV_TO_RGB1_CCIR(s1[1], s1[3]);
+
+ YUV_TO_RGB2_CCIR(r, g, b, s1[0]);
+ RGB_OUT(d1, r, g, b);
+ }
+
d += dst->linesize[0];
s += src->linesize[0];
}
@@ -109,6 +125,14 @@ static void glue (yvyu422_to_, RGB_NAME)(AVPicture *dst, const AVPicture *src,
s1 += 4;
}
+
+ if (w) {
+ YUV_TO_RGB1_CCIR(s1[3], s1[1]);
+
+ YUV_TO_RGB2_CCIR(r, g, b, s1[0]);
+ RGB_OUT(d1, r, g, b);
+ }
+
d += dst->linesize[0];
s += src->linesize[0];
}