linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	linux-media@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Subject: Re: [PATCH v2 01/23] v4l: Add ARGB and XRGB pixel formats
Date: Fri, 27 Jun 2014 11:34:15 +0200	[thread overview]
Message-ID: <53AD3A97.1000800@xs4all.nl> (raw)
In-Reply-To: <1403567669-18539-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com>

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

Regards,

	Hans

On 06/24/2014 01:54 AM, Laurent Pinchart wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> 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 <laurent.pinchart+renesas@ideasonboard.com>
> ---
>   .../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 <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>b<subscript>1</subscript></entry>
>   	    <entry>b<subscript>0</subscript></entry>
>   	  </row>
> -	  <row id="V4L2-PIX-FMT-RGB444">
> -	    <entry><constant>V4L2_PIX_FMT_RGB444</constant></entry>
> -	    <entry>'R444'</entry>
> +	  <row id="V4L2-PIX-FMT-ARGB444">
> +	    <entry><constant>V4L2_PIX_FMT_ARGB444</constant></entry>
> +	    <entry>'AR12'</entry>
>   	    <entry></entry>
>   	    <entry>g<subscript>3</subscript></entry>
>   	    <entry>g<subscript>2</subscript></entry>
> @@ -152,9 +152,31 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>r<subscript>1</subscript></entry>
>   	    <entry>r<subscript>0</subscript></entry>
>   	  </row>
> -	  <row id="V4L2-PIX-FMT-RGB555">
> -	    <entry><constant>V4L2_PIX_FMT_RGB555</constant></entry>
> -	    <entry>'RGBO'</entry>
> +	  <row id="V4L2-PIX-FMT-XRGB444">
> +	    <entry><constant>V4L2_PIX_FMT_XRGB444</constant></entry>
> +	    <entry>'XR12'</entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	  </row>
> +	  <row id="V4L2-PIX-FMT-ARGB555">
> +	    <entry><constant>V4L2_PIX_FMT_ARGB555</constant></entry>
> +	    <entry>'AR15'</entry>
>   	    <entry></entry>
>   	    <entry>g<subscript>2</subscript></entry>
>   	    <entry>g<subscript>1</subscript></entry>
> @@ -174,6 +196,28 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>g<subscript>4</subscript></entry>
>   	    <entry>g<subscript>3</subscript></entry>
>   	  </row>
> +	  <row id="V4L2-PIX-FMT-XRGB555">
> +	    <entry><constant>V4L2_PIX_FMT_XRGB555</constant></entry>
> +	    <entry>'XR15'</entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>-</entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	  </row>
>   	  <row id="V4L2-PIX-FMT-RGB565">
>   	    <entry><constant>V4L2_PIX_FMT_RGB565</constant></entry>
>   	    <entry>'RGBP'</entry>
> @@ -341,9 +385,9 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>b<subscript>1</subscript></entry>
>   	    <entry>b<subscript>0</subscript></entry>
>   	  </row>
> -	  <row id="V4L2-PIX-FMT-BGR32">
> -	    <entry><constant>V4L2_PIX_FMT_BGR32</constant></entry>
> -	    <entry>'BGR4'</entry>
> +	  <row id="V4L2-PIX-FMT-ABGR32">
> +	    <entry><constant>V4L2_PIX_FMT_ABGR32</constant></entry>
> +	    <entry>'AR24'</entry>
>   	    <entry></entry>
>   	    <entry>b<subscript>7</subscript></entry>
>   	    <entry>b<subscript>6</subscript></entry>
> @@ -381,9 +425,49 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>a<subscript>1</subscript></entry>
>   	    <entry>a<subscript>0</subscript></entry>
>   	  </row>
> -	  <row id="V4L2-PIX-FMT-RGB32">
> -	    <entry><constant>V4L2_PIX_FMT_RGB32</constant></entry>
> -	    <entry>'RGB4'</entry>
> +	  <row id="V4L2-PIX-FMT-XBGR32">
> +	    <entry><constant>V4L2_PIX_FMT_XBGR32</constant></entry>
> +	    <entry>'XR24'</entry>
> +	    <entry></entry>
> +	    <entry>b<subscript>7</subscript></entry>
> +	    <entry>b<subscript>6</subscript></entry>
> +	    <entry>b<subscript>5</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>7</subscript></entry>
> +	    <entry>g<subscript>6</subscript></entry>
> +	    <entry>g<subscript>5</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>r<subscript>7</subscript></entry>
> +	    <entry>r<subscript>6</subscript></entry>
> +	    <entry>r<subscript>5</subscript></entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	  </row>
> +	  <row id="V4L2-PIX-FMT-ARGB32">
> +	    <entry><constant>V4L2_PIX_FMT_ARGB32</constant></entry>
> +	    <entry>'AX24'</entry>
>   	    <entry></entry>
>   	    <entry>a<subscript>7</subscript></entry>
>   	    <entry>a<subscript>6</subscript></entry>
> @@ -421,18 +505,76 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
>   	    <entry>b<subscript>1</subscript></entry>
>   	    <entry>b<subscript>0</subscript></entry>
>   	  </row>
> +	  <row id="V4L2-PIX-FMT-XRGB32">
> +	    <entry><constant>V4L2_PIX_FMT_XRGB32</constant></entry>
> +	    <entry>'BX24'</entry>
> +	    <entry></entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry>-</entry>
> +	    <entry></entry>
> +	    <entry>r<subscript>7</subscript></entry>
> +	    <entry>r<subscript>6</subscript></entry>
> +	    <entry>r<subscript>5</subscript></entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>7</subscript></entry>
> +	    <entry>g<subscript>6</subscript></entry>
> +	    <entry>g<subscript>5</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>b<subscript>7</subscript></entry>
> +	    <entry>b<subscript>6</subscript></entry>
> +	    <entry>b<subscript>5</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	  </row>
>   	</tbody>
>         </tgroup>
>       </table>
>
> -    <para>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
> -<link linkend="overlay">Video Overlay</link> or <link linkend="osd">
> -Video Output Overlay</link> or when the alpha component has been configured
> -for a <link linkend="capture">Video Capture</link> by means of <link
> -linkend="v4l2-alpha-component"> <constant>V4L2_CID_ALPHA_COMPONENT
> -</constant> </link> control.</para>
> +    <para>Bit 7 is the most significant bit.</para>
> +
> +    <para>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. <link linkend="capture">Capture</link> 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 <link
> +    linkend="v4l2-alpha-component"><constant>V4L2_CID_ALPHA_COMPONENT</constant>
> +    </link> 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.</para>
> +
> +    <para><link linkend="output">Output</link> devices (including output queues
> +    of mem-to-mem devices and <link linkend="osd">video output overlay</link>
> +    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.</para>
> +
> +    <para>The XRGB and XBGR formats contain undefined bits (-). Applications,
> +    devices and drivers must ignore those bits, for both <link
> +    linkend="capture">capture</link> and <link linkend="output">output</link>
> +    devices.</para>
>
>       <example>
>         <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 &times; 4 pixel
> @@ -512,6 +654,239 @@ image</title>
>         </formalpara>
>       </example>
>
> +    <para>Formats defined in <xref linkend="rgb-formats-deprecated"/> 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.</para>
> +
> +    <table pgwide="1" frame="none" id="rgb-formats-deprecated">
> +      <title>Deprecated Packed RGB Image Formats</title>
> +      <tgroup cols="37" align="center">
> +	<colspec colname="id" align="left" />
> +	<colspec colname="fourcc" />
> +	<colspec colname="bit" />
> +
> +	<colspec colnum="4" colname="b07" align="center" />
> +	<colspec colnum="5" colname="b06" align="center" />
> +	<colspec colnum="6" colname="b05" align="center" />
> +	<colspec colnum="7" colname="b04" align="center" />
> +	<colspec colnum="8" colname="b03" align="center" />
> +	<colspec colnum="9" colname="b02" align="center" />
> +	<colspec colnum="10" colname="b01" align="center" />
> +	<colspec colnum="11" colname="b00" align="center" />
> +
> +	<colspec colnum="13" colname="b17" align="center" />
> +	<colspec colnum="14" colname="b16" align="center" />
> +	<colspec colnum="15" colname="b15" align="center" />
> +	<colspec colnum="16" colname="b14" align="center" />
> +	<colspec colnum="17" colname="b13" align="center" />
> +	<colspec colnum="18" colname="b12" align="center" />
> +	<colspec colnum="19" colname="b11" align="center" />
> +	<colspec colnum="20" colname="b10" align="center" />
> +
> +	<colspec colnum="22" colname="b27" align="center" />
> +	<colspec colnum="23" colname="b26" align="center" />
> +	<colspec colnum="24" colname="b25" align="center" />
> +	<colspec colnum="25" colname="b24" align="center" />
> +	<colspec colnum="26" colname="b23" align="center" />
> +	<colspec colnum="27" colname="b22" align="center" />
> +	<colspec colnum="28" colname="b21" align="center" />
> +	<colspec colnum="29" colname="b20" align="center" />
> +
> +	<colspec colnum="31" colname="b37" align="center" />
> +	<colspec colnum="32" colname="b36" align="center" />
> +	<colspec colnum="33" colname="b35" align="center" />
> +	<colspec colnum="34" colname="b34" align="center" />
> +	<colspec colnum="35" colname="b33" align="center" />
> +	<colspec colnum="36" colname="b32" align="center" />
> +	<colspec colnum="37" colname="b31" align="center" />
> +	<colspec colnum="38" colname="b30" align="center" />
> +
> +	<spanspec namest="b07" nameend="b00" spanname="b0" />
> +	<spanspec namest="b17" nameend="b10" spanname="b1" />
> +	<spanspec namest="b27" nameend="b20" spanname="b2" />
> +	<spanspec namest="b37" nameend="b30" spanname="b3" />
> +	<thead>
> +	  <row>
> +	    <entry>Identifier</entry>
> +	    <entry>Code</entry>
> +	    <entry>&nbsp;</entry>
> +	    <entry spanname="b0">Byte&nbsp;0 in memory</entry>
> +	    <entry spanname="b1">Byte&nbsp;1</entry>
> +	    <entry spanname="b2">Byte&nbsp;2</entry>
> +	    <entry spanname="b3">Byte&nbsp;3</entry>
> +	  </row>
> +	  <row>
> +	    <entry>&nbsp;</entry>
> +	    <entry>&nbsp;</entry>
> +	    <entry>Bit</entry>
> +	    <entry>7</entry>
> +	    <entry>6</entry>
> +	    <entry>5</entry>
> +	    <entry>4</entry>
> +	    <entry>3</entry>
> +	    <entry>2</entry>
> +	    <entry>1</entry>
> +	    <entry>0</entry>
> +	    <entry>&nbsp;</entry>
> +	    <entry>7</entry>
> +	    <entry>6</entry>
> +	    <entry>5</entry>
> +	    <entry>4</entry>
> +	    <entry>3</entry>
> +	    <entry>2</entry>
> +	    <entry>1</entry>
> +	    <entry>0</entry>
> +	    <entry>&nbsp;</entry>
> +	    <entry>7</entry>
> +	    <entry>6</entry>
> +	    <entry>5</entry>
> +	    <entry>4</entry>
> +	    <entry>3</entry>
> +	    <entry>2</entry>
> +	    <entry>1</entry>
> +	    <entry>0</entry>
> +	    <entry>&nbsp;</entry>
> +	    <entry>7</entry>
> +	    <entry>6</entry>
> +	    <entry>5</entry>
> +	    <entry>4</entry>
> +	    <entry>3</entry>
> +	    <entry>2</entry>
> +	    <entry>1</entry>
> +	    <entry>0</entry>
> +	  </row>
> +	</thead>
> +	<tbody>
> +	  <row id="V4L2-PIX-FMT-RGB444">
> +	    <entry><constant>V4L2_PIX_FMT_RGB444</constant></entry>
> +	    <entry>'R444'</entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>a<subscript>3</subscript></entry>
> +	    <entry>a<subscript>2</subscript></entry>
> +	    <entry>a<subscript>1</subscript></entry>
> +	    <entry>a<subscript>0</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	  </row>
> +	  <row id="V4L2-PIX-FMT-RGB555">
> +	    <entry><constant>V4L2_PIX_FMT_RGB555</constant></entry>
> +	    <entry>'RGBO'</entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>a</entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	  </row>
> +	  <row id="V4L2-PIX-FMT-BGR32">
> +	    <entry><constant>V4L2_PIX_FMT_BGR32</constant></entry>
> +	    <entry>'BGR4'</entry>
> +	    <entry></entry>
> +	    <entry>b<subscript>7</subscript></entry>
> +	    <entry>b<subscript>6</subscript></entry>
> +	    <entry>b<subscript>5</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>7</subscript></entry>
> +	    <entry>g<subscript>6</subscript></entry>
> +	    <entry>g<subscript>5</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>r<subscript>7</subscript></entry>
> +	    <entry>r<subscript>6</subscript></entry>
> +	    <entry>r<subscript>5</subscript></entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>a<subscript>7</subscript></entry>
> +	    <entry>a<subscript>6</subscript></entry>
> +	    <entry>a<subscript>5</subscript></entry>
> +	    <entry>a<subscript>4</subscript></entry>
> +	    <entry>a<subscript>3</subscript></entry>
> +	    <entry>a<subscript>2</subscript></entry>
> +	    <entry>a<subscript>1</subscript></entry>
> +	    <entry>a<subscript>0</subscript></entry>
> +	  </row>
> +	  <row id="V4L2-PIX-FMT-RGB32">
> +	    <entry><constant>V4L2_PIX_FMT_RGB32</constant></entry>
> +	    <entry>'RGB4'</entry>
> +	    <entry></entry>
> +	    <entry>a<subscript>7</subscript></entry>
> +	    <entry>a<subscript>6</subscript></entry>
> +	    <entry>a<subscript>5</subscript></entry>
> +	    <entry>a<subscript>4</subscript></entry>
> +	    <entry>a<subscript>3</subscript></entry>
> +	    <entry>a<subscript>2</subscript></entry>
> +	    <entry>a<subscript>1</subscript></entry>
> +	    <entry>a<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>r<subscript>7</subscript></entry>
> +	    <entry>r<subscript>6</subscript></entry>
> +	    <entry>r<subscript>5</subscript></entry>
> +	    <entry>r<subscript>4</subscript></entry>
> +	    <entry>r<subscript>3</subscript></entry>
> +	    <entry>r<subscript>2</subscript></entry>
> +	    <entry>r<subscript>1</subscript></entry>
> +	    <entry>r<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>g<subscript>7</subscript></entry>
> +	    <entry>g<subscript>6</subscript></entry>
> +	    <entry>g<subscript>5</subscript></entry>
> +	    <entry>g<subscript>4</subscript></entry>
> +	    <entry>g<subscript>3</subscript></entry>
> +	    <entry>g<subscript>2</subscript></entry>
> +	    <entry>g<subscript>1</subscript></entry>
> +	    <entry>g<subscript>0</subscript></entry>
> +	    <entry></entry>
> +	    <entry>b<subscript>7</subscript></entry>
> +	    <entry>b<subscript>6</subscript></entry>
> +	    <entry>b<subscript>5</subscript></entry>
> +	    <entry>b<subscript>4</subscript></entry>
> +	    <entry>b<subscript>3</subscript></entry>
> +	    <entry>b<subscript>2</subscript></entry>
> +	    <entry>b<subscript>1</subscript></entry>
> +	    <entry>b<subscript>0</subscript></entry>
> +	  </row>
> +	</tbody>
> +      </tgroup>
> +    </table>
> +
>       <para>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.</para>
> 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     */
>

  reply	other threads:[~2014-06-27  9:34 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-23 23:54 [PATCH v2 00/23] Renesas VSP1: alpha support and miscellaneous fixes Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 01/23] v4l: Add ARGB and XRGB pixel formats Laurent Pinchart
2014-06-27  9:34   ` Hans Verkuil [this message]
2014-07-17 21:53   ` Hans Verkuil
2014-07-18 12:31     ` Laurent Pinchart
2014-07-18 13:14       ` Hans Verkuil
2014-07-18 13:21         ` Hans Verkuil
2014-06-23 23:54 ` [PATCH v2 02/23] DocBook: media: Document ALPHA_COMPONENT control usage on output devices Laurent Pinchart
2014-06-27  9:34   ` Hans Verkuil
2014-06-23 23:54 ` [PATCH v2 03/23] v4l: Support extending the v4l2_pix_format structure Laurent Pinchart
2014-06-27 12:36   ` Hans Verkuil
2014-06-29 20:41     ` Laurent Pinchart
2014-07-17 21:04   ` Hans Verkuil
2014-07-21 20:56     ` Laurent Pinchart
2014-07-21 22:17       ` Hans Verkuil
2014-07-17 21:22   ` Hans Verkuil
2014-07-18  5:10     ` Hans Verkuil
2014-07-18 12:27       ` Laurent Pinchart
2014-07-18 13:12         ` Hans Verkuil
2014-06-23 23:54 ` [PATCH v2 04/23] v4l: Add premultiplied alpha flag for pixel formats Laurent Pinchart
2014-06-27 12:39   ` Hans Verkuil
2014-06-23 23:54 ` [PATCH v2 05/23] v4l: vb2: Fix stream start and buffer completion race Laurent Pinchart
2014-06-24 10:25   ` Hans Verkuil
2014-06-23 23:54 ` [PATCH v2 06/23] v4l: vsp1: Fix routing cleanup when stopping the stream Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 07/23] v4l: vsp1: Release buffers at stream stop Laurent Pinchart
2014-06-24 12:00   ` Sergei Shtylyov
2014-07-01  7:16     ` Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 08/23] v4l: vsp1: Fix pipeline stop timeout Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 09/23] v4l: vsp1: Fix typos Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 10/23] v4l: vsp1: Cleanup video nodes at removal time Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 11/23] v4l: vsp1: Propagate vsp1_device_get errors to the callers Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 12/23] v4l: vsp1: Setup control handler automatically at stream on time Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 13/23] v4l: vsp1: sru: Fix the intensity control default value Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 14/23] v4l: vsp1: sru: Make the intensity controllable during streaming Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 15/23] v4l: vsp1: wpf: Simplify cast to pipeline structure Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 16/23] v4l: vsp1: wpf: Clear RPF to WPF association at stream off time Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 17/23] v4l: vsp1: Switch to XRGB formats Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 18/23] v4l: vsp1: Add alpha channel support to the memory ports Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 19/23] v4l: vsp1: Add V4L2_CID_ALPHA_COMPONENT control support Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 20/23] v4l: vsp1: bru: Support premultiplied alpha at the BRU inputs Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 21/23] v4l: vsp1: bru: Support non-premultiplied colors at the BRU output Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 22/23] v4l: vsp1: bru: Make the background color configurable Laurent Pinchart
2014-06-23 23:54 ` [PATCH v2 23/23] v4l: vsp1: uds: Fix scaling of alpha layer Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53AD3A97.1000800@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).