libv4lconvert: fix RGB32 conversion
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 19 Jul 2014 07:18:35 +0000 (09:18 +0200)
committerHans Verkuil <hans.verkuil@cisco.com>
Sun, 20 Jul 2014 15:54:52 +0000 (17:54 +0200)
The RGB32 formats start with an alpha byte in memory. So before calling the
v4lconvert_rgb32_to_rgb24 or v4lconvert_rgb24_to_yuv420 function skip that initial
alpha byte so the src pointer is aligned with the first color component, since
that is what those functions expect.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
lib/libv4lconvert/libv4lconvert.c

index cea65aa..e4aa54a 100644 (file)
@@ -1132,6 +1132,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data,
                        errno = EPIPE;
                        result = -1;
                }
+               src++;
                switch (dest_pix_fmt) {
                case V4L2_PIX_FMT_RGB24:
                        v4lconvert_rgb32_to_rgb24(src, dest, width, height, 0);