From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans Verkuil Date: Fri, 27 Jun 2014 09:34:15 +0000 Subject: Re: [PATCH v2 01/23] v4l: Add ARGB and XRGB pixel formats Message-Id: <53AD3A97.1000800@xs4all.nl> List-Id: References: <1403567669-18539-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1403567669-18539-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> In-Reply-To: <1403567669-18539-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Laurent Pinchart , linux-media@vger.kernel.org Cc: linux-sh@vger.kernel.org Acked-by: Hans Verkuil Regards, Hans On 06/24/2014 01:54 AM, Laurent Pinchart wrote: > From: Laurent Pinchart > > The existing RGB pixel formats are ill-defined in respect to their alpha > bits and their meaning is driver dependent. Create new standard ARGB and > XRGB variants with clearly defined meanings and make the existing > variants deprecated. > > The new pixel formats 4CC values have been selected to match the DRM > 4CCs for the same in-memory formats. > > Signed-off-by: Laurent Pinchart > --- > .../DocBook/media/v4l/pixfmt-packed-rgb.xml | 415 ++++++++++++++++++++- > include/uapi/linux/videodev2.h | 8 + > 2 files changed, 403 insertions(+), 20 deletions(-) > > diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > index e1c4f8b..5f1602f 100644 > --- a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > +++ b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > @@ -130,9 +130,9 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 > > - > - V4L2_PIX_FMT_RGB444 > - 'R444' > + > + V4L2_PIX_FMT_ARGB444 > + 'AR12' > > g3 > g2 > @@ -152,9 +152,31 @@ colorspace V4L2_COLORSPACE_SRGB. > r1 > r0 > > - > - V4L2_PIX_FMT_RGB555 > - 'RGBO' > + > + V4L2_PIX_FMT_XRGB444 > + 'XR12' > + > + g3 > + g2 > + g1 > + g0 > + b3 > + b2 > + b1 > + b0 > + > + - > + - > + - > + - > + r3 > + r2 > + r1 > + r0 > + > + > + V4L2_PIX_FMT_ARGB555 > + 'AR15' > > g2 > g1 > @@ -174,6 +196,28 @@ colorspace V4L2_COLORSPACE_SRGB. > g4 > g3 > > + > + V4L2_PIX_FMT_XRGB555 > + 'XR15' > + > + g2 > + g1 > + g0 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + - > + r4 > + r3 > + r2 > + r1 > + r0 > + g4 > + g3 > + > > V4L2_PIX_FMT_RGB565 > 'RGBP' > @@ -341,9 +385,9 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 > > - > - V4L2_PIX_FMT_BGR32 > - 'BGR4' > + > + V4L2_PIX_FMT_ABGR32 > + 'AR24' > > b7 > b6 > @@ -381,9 +425,49 @@ colorspace V4L2_COLORSPACE_SRGB. > a1 > a0 > > - > - V4L2_PIX_FMT_RGB32 > - 'RGB4' > + > + V4L2_PIX_FMT_XBGR32 > + 'XR24' > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + - > + - > + - > + - > + - > + - > + - > + - > + > + > + V4L2_PIX_FMT_ARGB32 > + 'AX24' > > a7 > a6 > @@ -421,18 +505,76 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 > > + > + V4L2_PIX_FMT_XRGB32 > + 'BX24' > + > + - > + - > + - > + - > + - > + - > + - > + - > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > > > > > - Bit 7 is the most significant bit. The value of the a = alpha > -bits is undefined when reading from the driver, ignored when writing > -to the driver, except when alpha blending has been negotiated for a > -Video Overlay or > -Video Output Overlay or when the alpha component has been configured > -for a Video Capture by means of -linkend="v4l2-alpha-component"> V4L2_CID_ALPHA_COMPONENT > - control. > + Bit 7 is the most significant bit. > + > + The usage and value of the alpha bits (a) in the ARGB and ABGR formats > + (collectively referred to as alpha formats) depend on the device type and > + hardware operation. Capture devices > + (including capture queues of mem-to-mem devices) fill the alpha component in > + memory. When the device outputs an alpha channel the alpha component will > + have a meaningful value. Otherwise, when the device doesn't output an alpha > + channel but can set the alpha bit to a user-configurable value, the + linkend="v4l2-alpha-component">V4L2_CID_ALPHA_COMPONENT > + control is used to specify that alpha value, and the alpha component > + of all pixels will be set to the value specified by that control. Otherwise > + a corresponding format without an alpha component (XRGB or XBGR) must be > + used instead of an alpha format. > + > + Output devices (including output queues > + of mem-to-mem devices and video output overlay > + devices) read the alpha component from memory. When the device processes the > + alpha channel the alpha component must be filled with meaningful values by > + applications. Otherwise a corresponding format without an alpha component > + (XRGB or XBGR) must be used instead of an alpha format. > + > + The XRGB and XBGR formats contain undefined bits (-). Applications, > + devices and drivers must ignore those bits, for both + linkend="capture">capture and output > + devices. > > > <constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel > @@ -512,6 +654,239 @@ image > > > > + Formats defined in are > + deprecated and must not be used by new drivers. They are documented here for > + reference. The meaning of their alpha bits (a) is ill-defined and > + interpreted as in either the corresponding ARGB or XRGB format, depending on > + the driver. > + > + > + Deprecated Packed RGB Image Formats > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + Identifier > + Code > +   > + Byte 0 in memory > + Byte 1 > + Byte 2 > + Byte 3 > + > + > +   > +   > + Bit > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > + > + > + > + > + V4L2_PIX_FMT_RGB444 > + 'R444' > + > + g3 > + g2 > + g1 > + g0 > + b3 > + b2 > + b1 > + b0 > + > + a3 > + a2 > + a1 > + a0 > + r3 > + r2 > + r1 > + r0 > + > + > + V4L2_PIX_FMT_RGB555 > + 'RGBO' > + > + g2 > + g1 > + g0 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + a > + r4 > + r3 > + r2 > + r1 > + r0 > + g4 > + g3 > + > + > + V4L2_PIX_FMT_BGR32 > + 'BGR4' > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + a7 > + a6 > + a5 > + a4 > + a3 > + a2 > + a1 > + a0 > + > + > + V4L2_PIX_FMT_RGB32 > + 'RGB4' > + > + a7 > + a6 > + a5 > + a4 > + a3 > + a2 > + a1 > + a0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + > + > +
> + > A test utility to determine which RGB formats a driver > actually supports is available from the LinuxTV v4l-dvb repository. > See &v4l-dvb; for access instructions. > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h > index 168ff50..0125f4d 100644 > --- a/include/uapi/linux/videodev2.h > +++ b/include/uapi/linux/videodev2.h > @@ -294,7 +294,11 @@ struct v4l2_pix_format { > /* RGB formats */ > #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ > #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ > +#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */ > +#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */ > #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ > +#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */ > +#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ > #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ > #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ > #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ > @@ -302,7 +306,11 @@ struct v4l2_pix_format { > #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ > #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ > #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ > +#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */ > +#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */ > #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ > +#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */ > +#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */ > > /* Grey formats */ > #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp-vbr10.xs4all.nl ([194.109.24.30]:2035 "EHLO smtp-vbr10.xs4all.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752603AbaF0JeX (ORCPT ); Fri, 27 Jun 2014 05:34:23 -0400 Message-ID: <53AD3A97.1000800@xs4all.nl> Date: Fri, 27 Jun 2014 11:34:15 +0200 From: Hans Verkuil MIME-Version: 1.0 To: Laurent Pinchart , linux-media@vger.kernel.org CC: linux-sh@vger.kernel.org Subject: Re: [PATCH v2 01/23] v4l: Add ARGB and XRGB pixel formats References: <1403567669-18539-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1403567669-18539-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> In-Reply-To: <1403567669-18539-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: Acked-by: Hans Verkuil Regards, Hans On 06/24/2014 01:54 AM, Laurent Pinchart wrote: > From: Laurent Pinchart > > The existing RGB pixel formats are ill-defined in respect to their alpha > bits and their meaning is driver dependent. Create new standard ARGB and > XRGB variants with clearly defined meanings and make the existing > variants deprecated. > > The new pixel formats 4CC values have been selected to match the DRM > 4CCs for the same in-memory formats. > > Signed-off-by: Laurent Pinchart > --- > .../DocBook/media/v4l/pixfmt-packed-rgb.xml | 415 ++++++++++++++++++++- > include/uapi/linux/videodev2.h | 8 + > 2 files changed, 403 insertions(+), 20 deletions(-) > > diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > index e1c4f8b..5f1602f 100644 > --- a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > +++ b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml > @@ -130,9 +130,9 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 >
> - > - V4L2_PIX_FMT_RGB444 > - 'R444' > + > + V4L2_PIX_FMT_ARGB444 > + 'AR12' > > g3 > g2 > @@ -152,9 +152,31 @@ colorspace V4L2_COLORSPACE_SRGB. > r1 > r0 > > - > - V4L2_PIX_FMT_RGB555 > - 'RGBO' > + > + V4L2_PIX_FMT_XRGB444 > + 'XR12' > + > + g3 > + g2 > + g1 > + g0 > + b3 > + b2 > + b1 > + b0 > + > + - > + - > + - > + - > + r3 > + r2 > + r1 > + r0 > + > + > + V4L2_PIX_FMT_ARGB555 > + 'AR15' > > g2 > g1 > @@ -174,6 +196,28 @@ colorspace V4L2_COLORSPACE_SRGB. > g4 > g3 > > + > + V4L2_PIX_FMT_XRGB555 > + 'XR15' > + > + g2 > + g1 > + g0 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + - > + r4 > + r3 > + r2 > + r1 > + r0 > + g4 > + g3 > + > > V4L2_PIX_FMT_RGB565 > 'RGBP' > @@ -341,9 +385,9 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 > > - > - V4L2_PIX_FMT_BGR32 > - 'BGR4' > + > + V4L2_PIX_FMT_ABGR32 > + 'AR24' > > b7 > b6 > @@ -381,9 +425,49 @@ colorspace V4L2_COLORSPACE_SRGB. > a1 > a0 > > - > - V4L2_PIX_FMT_RGB32 > - 'RGB4' > + > + V4L2_PIX_FMT_XBGR32 > + 'XR24' > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + - > + - > + - > + - > + - > + - > + - > + - > + > + > + V4L2_PIX_FMT_ARGB32 > + 'AX24' > > a7 > a6 > @@ -421,18 +505,76 @@ colorspace V4L2_COLORSPACE_SRGB. > b1 > b0 > > + > + V4L2_PIX_FMT_XRGB32 > + 'BX24' > + > + - > + - > + - > + - > + - > + - > + - > + - > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > > > > > - Bit 7 is the most significant bit. The value of the a = alpha > -bits is undefined when reading from the driver, ignored when writing > -to the driver, except when alpha blending has been negotiated for a > -Video Overlay or > -Video Output Overlay or when the alpha component has been configured > -for a Video Capture by means of -linkend="v4l2-alpha-component"> V4L2_CID_ALPHA_COMPONENT > - control. > + Bit 7 is the most significant bit. > + > + The usage and value of the alpha bits (a) in the ARGB and ABGR formats > + (collectively referred to as alpha formats) depend on the device type and > + hardware operation. Capture devices > + (including capture queues of mem-to-mem devices) fill the alpha component in > + memory. When the device outputs an alpha channel the alpha component will > + have a meaningful value. Otherwise, when the device doesn't output an alpha > + channel but can set the alpha bit to a user-configurable value, the + linkend="v4l2-alpha-component">V4L2_CID_ALPHA_COMPONENT > + control is used to specify that alpha value, and the alpha component > + of all pixels will be set to the value specified by that control. Otherwise > + a corresponding format without an alpha component (XRGB or XBGR) must be > + used instead of an alpha format. > + > + Output devices (including output queues > + of mem-to-mem devices and video output overlay > + devices) read the alpha component from memory. When the device processes the > + alpha channel the alpha component must be filled with meaningful values by > + applications. Otherwise a corresponding format without an alpha component > + (XRGB or XBGR) must be used instead of an alpha format. > + > + The XRGB and XBGR formats contain undefined bits (-). Applications, > + devices and drivers must ignore those bits, for both + linkend="capture">capture and output > + devices. > > > <constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel > @@ -512,6 +654,239 @@ image > > > > + Formats defined in are > + deprecated and must not be used by new drivers. They are documented here for > + reference. The meaning of their alpha bits (a) is ill-defined and > + interpreted as in either the corresponding ARGB or XRGB format, depending on > + the driver. > + > + > + Deprecated Packed RGB Image Formats > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + Identifier > + Code > +   > + Byte 0 in memory > + Byte 1 > + Byte 2 > + Byte 3 > + > + > +   > +   > + Bit > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > +   > + 7 > + 6 > + 5 > + 4 > + 3 > + 2 > + 1 > + 0 > + > + > + > + > + V4L2_PIX_FMT_RGB444 > + 'R444' > + > + g3 > + g2 > + g1 > + g0 > + b3 > + b2 > + b1 > + b0 > + > + a3 > + a2 > + a1 > + a0 > + r3 > + r2 > + r1 > + r0 > + > + > + V4L2_PIX_FMT_RGB555 > + 'RGBO' > + > + g2 > + g1 > + g0 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + a > + r4 > + r3 > + r2 > + r1 > + r0 > + g4 > + g3 > + > + > + V4L2_PIX_FMT_BGR32 > + 'BGR4' > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + a7 > + a6 > + a5 > + a4 > + a3 > + a2 > + a1 > + a0 > + > + > + V4L2_PIX_FMT_RGB32 > + 'RGB4' > + > + a7 > + a6 > + a5 > + a4 > + a3 > + a2 > + a1 > + a0 > + > + r7 > + r6 > + r5 > + r4 > + r3 > + r2 > + r1 > + r0 > + > + g7 > + g6 > + g5 > + g4 > + g3 > + g2 > + g1 > + g0 > + > + b7 > + b6 > + b5 > + b4 > + b3 > + b2 > + b1 > + b0 > + > + > + > +
> + > A test utility to determine which RGB formats a driver > actually supports is available from the LinuxTV v4l-dvb repository. > See &v4l-dvb; for access instructions. > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h > index 168ff50..0125f4d 100644 > --- a/include/uapi/linux/videodev2.h > +++ b/include/uapi/linux/videodev2.h > @@ -294,7 +294,11 @@ struct v4l2_pix_format { > /* RGB formats */ > #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ > #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ > +#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */ > +#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */ > #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ > +#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */ > +#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ > #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ > #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ > #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ > @@ -302,7 +306,11 @@ struct v4l2_pix_format { > #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ > #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ > #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ > +#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */ > +#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */ > #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ > +#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */ > +#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */ > > /* Grey formats */ > #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ >