From bd56c3c44f64f0e1f664c08c6abea4179c0bac11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 17 Jun 2010 16:54:56 +0200 Subject: [PATCH] ffmpegcolorspace: Fix YUY2/YVYU/UYVY to Y42B conversion for odd widths --- gst/ffmpegcolorspace/imgconvert.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gst/ffmpegcolorspace/imgconvert.c b/gst/ffmpegcolorspace/imgconvert.c index 579df342b9..2e09740a6e 100644 --- a/gst/ffmpegcolorspace/imgconvert.c +++ b/gst/ffmpegcolorspace/imgconvert.c @@ -983,6 +983,11 @@ uyvy422_to_yuv422p (AVPicture * dst, const AVPicture * src, cb++; cr++; } + if (w) { + lum[0] = p[1]; + cb[0] = p[0]; + cr[0] = p[2]; + } p1 += src->linesize[0]; lum1 += dst->linesize[0]; cb1 += dst->linesize[1]; @@ -1098,6 +1103,11 @@ yvyu422_to_yuv422p (AVPicture * dst, const AVPicture * src, cb++; cr++; } + if (w) { + lum[0] = p[0]; + cb[0] = p[3]; + cr[0] = p[1]; + } p1 += src->linesize[0]; lum1 += dst->linesize[0]; cb1 += dst->linesize[1]; @@ -1132,6 +1142,11 @@ yuv422_to_yuv422p (AVPicture * dst, const AVPicture * src, cb++; cr++; } + if (w) { + lum[0] = p[0]; + cb[0] = p[1]; + cr[0] = p[3]; + } p1 += src->linesize[0]; lum1 += dst->linesize[0]; cb1 += dst->linesize[1];