| <refentry> |
| <refmeta> |
| <refentrytitle>V4L2_PIX_FMT_SRGGB12 ('RG12'), |
| V4L2_PIX_FMT_SGRBG12 ('BA12'), |
| V4L2_PIX_FMT_SGBRG12 ('GB12'), |
| V4L2_PIX_FMT_SBGGR12 ('BG12'), |
| </refentrytitle> |
| &manvol; |
| </refmeta> |
| <refnamediv> |
| <refname id="V4L2-PIX-FMT-SRGGB12"><constant>V4L2_PIX_FMT_SRGGB12</constant></refname> |
| <refname id="V4L2-PIX-FMT-SGRBG12"><constant>V4L2_PIX_FMT_SGRBG12</constant></refname> |
| <refname id="V4L2-PIX-FMT-SGBRG12"><constant>V4L2_PIX_FMT_SGBRG12</constant></refname> |
| <refname id="V4L2-PIX-FMT-SBGGR12"><constant>V4L2_PIX_FMT_SBGGR12</constant></refname> |
| <refpurpose>12-bit Bayer formats expanded to 16 bits</refpurpose> |
| </refnamediv> |
| <refsect1> |
| <title>Description</title> |
| |
| <para>These four pixel formats are raw sRGB / Bayer formats with |
| 12 bits per colour. Each colour component is stored in a 16-bit word, with 4 |
| unused high bits filled with zeros. Each n-pixel row contains n/2 green samples |
| and n/2 blue or red samples, with alternating red and blue rows. Bytes are |
| stored in memory in little endian order. They are conventionally described |
| as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an example of one of these |
| formats</para> |
| |
| <example> |
| <title><constant>V4L2_PIX_FMT_SBGGR12</constant> 4 × 4 |
| pixel image</title> |
| |
| <formalpara> |
| <title>Byte Order.</title> |
| <para>Each cell is one byte, high 6 bits in high bytes are 0. |
| <informaltable frame="none"> |
| <tgroup cols="5" align="center"> |
| <colspec align="left" colwidth="2*" /> |
| <tbody valign="top"> |
| <row> |
| <entry>start + 0:</entry> |
| <entry>B<subscript>00low</subscript></entry> |
| <entry>B<subscript>00high</subscript></entry> |
| <entry>G<subscript>01low</subscript></entry> |
| <entry>G<subscript>01high</subscript></entry> |
| <entry>B<subscript>02low</subscript></entry> |
| <entry>B<subscript>02high</subscript></entry> |
| <entry>G<subscript>03low</subscript></entry> |
| <entry>G<subscript>03high</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 8:</entry> |
| <entry>G<subscript>10low</subscript></entry> |
| <entry>G<subscript>10high</subscript></entry> |
| <entry>R<subscript>11low</subscript></entry> |
| <entry>R<subscript>11high</subscript></entry> |
| <entry>G<subscript>12low</subscript></entry> |
| <entry>G<subscript>12high</subscript></entry> |
| <entry>R<subscript>13low</subscript></entry> |
| <entry>R<subscript>13high</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 16:</entry> |
| <entry>B<subscript>20low</subscript></entry> |
| <entry>B<subscript>20high</subscript></entry> |
| <entry>G<subscript>21low</subscript></entry> |
| <entry>G<subscript>21high</subscript></entry> |
| <entry>B<subscript>22low</subscript></entry> |
| <entry>B<subscript>22high</subscript></entry> |
| <entry>G<subscript>23low</subscript></entry> |
| <entry>G<subscript>23high</subscript></entry> |
| </row> |
| <row> |
| <entry>start + 24:</entry> |
| <entry>G<subscript>30low</subscript></entry> |
| <entry>G<subscript>30high</subscript></entry> |
| <entry>R<subscript>31low</subscript></entry> |
| <entry>R<subscript>31high</subscript></entry> |
| <entry>G<subscript>32low</subscript></entry> |
| <entry>G<subscript>32high</subscript></entry> |
| <entry>R<subscript>33low</subscript></entry> |
| <entry>R<subscript>33high</subscript></entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </para> |
| </formalpara> |
| </example> |
| </refsect1> |
| </refentry> |