libv4lconvert: add support for new pixelformats
authorHans Verkuil <hverkuil@xs4all.nl>
Thu, 17 Jul 2014 22:27:42 +0000 (00:27 +0200)
committerHans Verkuil <hans.verkuil@cisco.com>
Fri, 18 Jul 2014 10:26:15 +0000 (12:26 +0200)
Support for alpha-channel aware pixelformats was added. Recognize those formats
in libv4lconvert.

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

index 7ee7c19..cea65aa 100644 (file)
@@ -86,6 +86,10 @@ static const struct v4lconvert_pixfmt supported_src_pixfmts[] = {
        { V4L2_PIX_FMT_RGB565,          16,      4,      6,     0 },
        { V4L2_PIX_FMT_BGR32,           32,      4,      6,     0 },
        { V4L2_PIX_FMT_RGB32,           32,      4,      6,     0 },
+       { V4L2_PIX_FMT_XBGR32,          32,      4,      6,     0 },
+       { V4L2_PIX_FMT_XRGB32,          32,      4,      6,     0 },
+       { V4L2_PIX_FMT_ABGR32,          32,      4,      6,     0 },
+       { V4L2_PIX_FMT_ARGB32,          32,      4,      6,     0 },
        /* yuv 4:2:2 formats */
        { V4L2_PIX_FMT_YUYV,            16,      5,      4,     0 },
        { V4L2_PIX_FMT_YVYU,            16,      5,      4,     0 },
@@ -1121,6 +1125,8 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data,
                break;
 
        case V4L2_PIX_FMT_RGB32:
+       case V4L2_PIX_FMT_XRGB32:
+       case V4L2_PIX_FMT_ARGB32:
                if (src_size < (width * height * 4)) {
                        V4LCONVERT_ERR("short rgb32 data frame\n");
                        errno = EPIPE;
@@ -1143,6 +1149,8 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data,
                break;
 
        case V4L2_PIX_FMT_BGR32:
+       case V4L2_PIX_FMT_XBGR32:
+       case V4L2_PIX_FMT_ABGR32:
                if (src_size < (width * height * 4)) {
                        V4LCONVERT_ERR("short bgr32 data frame\n");
                        errno = EPIPE;