| <refentry id="packed-rgb"> |
| <refmeta> |
| <refentrytitle>Packed RGB formats</refentrytitle> |
| &manvol; |
| </refmeta> |
| <refnamediv> |
| <refname>Packed RGB formats</refname> |
| <refpurpose>Packed RGB formats</refpurpose> |
| </refnamediv> |
| <refsect1> |
| <title>Description</title> |
| |
| <para>These formats are designed to match the pixel formats of |
| typical PC graphics frame buffers. They occupy 8, 16, 24 or 32 bits |
| per pixel. These are all packed-pixel formats, meaning all the data |
| for a pixel lie next to each other in memory.</para> |
| |
| <para>When one of these formats is used, drivers shall report the |
| colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para> |
| |
| <table pgwide="1" frame="none" id="rgb-formats"> |
| <title>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> </entry> |
| <entry spanname="b0">Byte 0 in memory</entry> |
| <entry spanname="b1">Byte 1</entry> |
| <entry spanname="b2">Byte 2</entry> |
| <entry spanname="b3">Byte 3</entry> |
| </row> |
| <row> |
| <entry> </entry> |
| <entry> </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> </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> </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> </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 valign="top"> |
| <row id="V4L2-PIX-FMT-RGB332"> |
| <entry><constant>V4L2_PIX_FMT_RGB332</constant></entry> |
| <entry>'RGB1'</entry> |
| <entry></entry> |
| <entry>r<subscript>2</subscript></entry> |
| <entry>r<subscript>1</subscript></entry> |
| <entry>r<subscript>0</subscript></entry> |
| <entry>g<subscript>2</subscript></entry> |
| <entry>g<subscript>1</subscript></entry> |
| <entry>g<subscript>0</subscript></entry> |
| <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> |
| <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-RGB565"> |
| <entry><constant>V4L2_PIX_FMT_RGB565</constant></entry> |
| <entry>'RGBP'</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>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>5</subscript></entry> |
| <entry>g<subscript>4</subscript></entry> |
| <entry>g<subscript>3</subscript></entry> |
| </row> |
| <row id="V4L2-PIX-FMT-RGB555X"> |
| <entry><constant>V4L2_PIX_FMT_RGB555X</constant></entry> |
| <entry>'RGBQ'</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> |
| <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> |
| </row> |
| <row id="V4L2-PIX-FMT-RGB565X"> |
| <entry><constant>V4L2_PIX_FMT_RGB565X</constant></entry> |
| <entry>'RGBR'</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>5</subscript></entry> |
| <entry>g<subscript>4</subscript></entry> |
| <entry>g<subscript>3</subscript></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> |
| </row> |
| <row id="V4L2-PIX-FMT-BGR666"> |
| <entry><constant>V4L2_PIX_FMT_BGR666</constant></entry> |
| <entry>'BGRH'</entry> |
| <entry></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>g<subscript>5</subscript></entry> |
| <entry>g<subscript>4</subscript></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>r<subscript>5</subscript></entry> |
| <entry>r<subscript>4</subscript></entry> |
| <entry>r<subscript>3</subscript></entry> |
| <entry>r<subscript>2</subscript></entry> |
| <entry></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> |
| <entry></entry> |
| <entry></entry> |
| <entry></entry> |
| <entry></entry> |
| <entry></entry> |
| </row> |
| <row id="V4L2-PIX-FMT-BGR24"> |
| <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry> |
| <entry>'BGR3'</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> |
| </row> |
| <row id="V4L2-PIX-FMT-RGB24"> |
| <entry><constant>V4L2_PIX_FMT_RGB24</constant></entry> |
| <entry>'RGB3'</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> |
| <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>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> |
| |
| <example> |
| <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel |
| image</title> |
| |
| <formalpara> |
| <title>Byte Order.</title> |
| <para>Each cell is one byte. |
| <informaltable frame="none"> |
| <tgroup cols="13" align="center"> |
| <colspec align="left" colwidth="2*" /> |
| <tbody valign="top"> |
| <row> |
| <entry>start + 0:</entry> |
| <entry>B<subscript>00</subscript></entry> |
| <entry>G<subscript>00</subscript></entry> |
| <entry>R<subscript>00</subscript></entry> |
| <entry>B<subscript>01</subscript></entry> |
| <entry>G<subscript>01</subscript></entry> |
| <entry>R<subscript>01</subscript></entry> |
| <entry>B<subscript>02</subscript></entry> |
| <entry>G<subscript>02</subscript></entry> |
| <entry>R<subscript>02</subscript></entry> |
| <entry>B<subscript>03</subscript></entry> |
| <entry>G<subscript>03</subscript></entry> |
| <entry>R<subscript>03</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 12:</entry> |
| <entry>B<subscript>10</subscript></entry> |
| <entry>G<subscript>10</subscript></entry> |
| <entry>R<subscript>10</subscript></entry> |
| <entry>B<subscript>11</subscript></entry> |
| <entry>G<subscript>11</subscript></entry> |
| <entry>R<subscript>11</subscript></entry> |
| <entry>B<subscript>12</subscript></entry> |
| <entry>G<subscript>12</subscript></entry> |
| <entry>R<subscript>12</subscript></entry> |
| <entry>B<subscript>13</subscript></entry> |
| <entry>G<subscript>13</subscript></entry> |
| <entry>R<subscript>13</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 24:</entry> |
| <entry>B<subscript>20</subscript></entry> |
| <entry>G<subscript>20</subscript></entry> |
| <entry>R<subscript>20</subscript></entry> |
| <entry>B<subscript>21</subscript></entry> |
| <entry>G<subscript>21</subscript></entry> |
| <entry>R<subscript>21</subscript></entry> |
| <entry>B<subscript>22</subscript></entry> |
| <entry>G<subscript>22</subscript></entry> |
| <entry>R<subscript>22</subscript></entry> |
| <entry>B<subscript>23</subscript></entry> |
| <entry>G<subscript>23</subscript></entry> |
| <entry>R<subscript>23</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 36:</entry> |
| <entry>B<subscript>30</subscript></entry> |
| <entry>G<subscript>30</subscript></entry> |
| <entry>R<subscript>30</subscript></entry> |
| <entry>B<subscript>31</subscript></entry> |
| <entry>G<subscript>31</subscript></entry> |
| <entry>R<subscript>31</subscript></entry> |
| <entry>B<subscript>32</subscript></entry> |
| <entry>G<subscript>32</subscript></entry> |
| <entry>R<subscript>32</subscript></entry> |
| <entry>B<subscript>33</subscript></entry> |
| <entry>G<subscript>33</subscript></entry> |
| <entry>R<subscript>33</subscript></entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </para> |
| </formalpara> |
| </example> |
| |
| <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> |
| |
| </refsect1> |
| </refentry> |