blob: fb255f2ca9ddadbaee3c74f24ed067e706fe6100 [file] [log] [blame]
Laurent Pinchart0b9eabd2011-12-13 14:02:27 +01001 <refentry>
2 <refmeta>
3 <refentrytitle>V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42')</refentrytitle>
4 &manvol;
5 </refmeta>
6 <refnamediv>
7 <refname id="V4L2-PIX-FMT-NV24"><constant>V4L2_PIX_FMT_NV24</constant></refname>
8 <refname id="V4L2-PIX-FMT-NV42"><constant>V4L2_PIX_FMT_NV42</constant></refname>
9 <refpurpose>Formats with full horizontal and vertical
10chroma resolutions, also known as YUV 4:4:4. One luminance and one
11chrominance plane with alternating chroma samples as opposed to
12<constant>V4L2_PIX_FMT_YVU420</constant></refpurpose>
13 </refnamediv>
14 <refsect1>
15 <title>Description</title>
16
17 <para>These are two-plane versions of the YUV 4:4:4 format. The three
18 components are separated into two sub-images or planes. The Y plane is
19 first, with each Y sample stored in one byte per pixel. For
20 <constant>V4L2_PIX_FMT_NV24</constant>, a combined CbCr plane
21 immediately follows the Y plane in memory. The CbCr plane has the same
22 width and height, in pixels, as the Y plane (and the image). Each line
23 contains one CbCr pair per pixel, with each Cb and Cr sample stored in
24 one byte. <constant>V4L2_PIX_FMT_NV42</constant> is the same except that
25 the Cb and Cr samples are swapped, the CrCb plane starts with a Cr
26 sample.</para>
27
28 <para>If the Y plane has pad bytes after each row, then the CbCr plane
29 has twice as many pad bytes after its rows.</para>
30
31 <example>
32 <title><constant>V4L2_PIX_FMT_NV24</constant> 4 &times; 4
33pixel image</title>
34
35 <formalpara>
36 <title>Byte Order.</title>
37 <para>Each cell is one byte.
38 <informaltable frame="none">
39 <tgroup cols="9" align="center">
40 <colspec align="left" colwidth="2*" />
41 <tbody valign="top">
42 <row>
43 <entry>start&nbsp;+&nbsp;0:</entry>
44 <entry>Y'<subscript>00</subscript></entry>
45 <entry>Y'<subscript>01</subscript></entry>
46 <entry>Y'<subscript>02</subscript></entry>
47 <entry>Y'<subscript>03</subscript></entry>
48 </row>
49 <row>
50 <entry>start&nbsp;+&nbsp;4:</entry>
51 <entry>Y'<subscript>10</subscript></entry>
52 <entry>Y'<subscript>11</subscript></entry>
53 <entry>Y'<subscript>12</subscript></entry>
54 <entry>Y'<subscript>13</subscript></entry>
55 </row>
56 <row>
57 <entry>start&nbsp;+&nbsp;8:</entry>
58 <entry>Y'<subscript>20</subscript></entry>
59 <entry>Y'<subscript>21</subscript></entry>
60 <entry>Y'<subscript>22</subscript></entry>
61 <entry>Y'<subscript>23</subscript></entry>
62 </row>
63 <row>
64 <entry>start&nbsp;+&nbsp;12:</entry>
65 <entry>Y'<subscript>30</subscript></entry>
66 <entry>Y'<subscript>31</subscript></entry>
67 <entry>Y'<subscript>32</subscript></entry>
68 <entry>Y'<subscript>33</subscript></entry>
69 </row>
70 <row>
71 <entry>start&nbsp;+&nbsp;16:</entry>
72 <entry>Cb<subscript>00</subscript></entry>
73 <entry>Cr<subscript>00</subscript></entry>
74 <entry>Cb<subscript>01</subscript></entry>
75 <entry>Cr<subscript>01</subscript></entry>
76 <entry>Cb<subscript>02</subscript></entry>
77 <entry>Cr<subscript>02</subscript></entry>
78 <entry>Cb<subscript>03</subscript></entry>
79 <entry>Cr<subscript>03</subscript></entry>
80 </row>
81 <row>
82 <entry>start&nbsp;+&nbsp;24:</entry>
83 <entry>Cb<subscript>10</subscript></entry>
84 <entry>Cr<subscript>10</subscript></entry>
85 <entry>Cb<subscript>11</subscript></entry>
86 <entry>Cr<subscript>11</subscript></entry>
87 <entry>Cb<subscript>12</subscript></entry>
88 <entry>Cr<subscript>12</subscript></entry>
89 <entry>Cb<subscript>13</subscript></entry>
90 <entry>Cr<subscript>13</subscript></entry>
91 </row>
92 <row>
93 <entry>start&nbsp;+&nbsp;32:</entry>
94 <entry>Cb<subscript>20</subscript></entry>
95 <entry>Cr<subscript>20</subscript></entry>
96 <entry>Cb<subscript>21</subscript></entry>
97 <entry>Cr<subscript>21</subscript></entry>
98 <entry>Cb<subscript>22</subscript></entry>
99 <entry>Cr<subscript>22</subscript></entry>
100 <entry>Cb<subscript>23</subscript></entry>
101 <entry>Cr<subscript>23</subscript></entry>
102 </row>
103 <row>
104 <entry>start&nbsp;+&nbsp;40:</entry>
105 <entry>Cb<subscript>30</subscript></entry>
106 <entry>Cr<subscript>30</subscript></entry>
107 <entry>Cb<subscript>31</subscript></entry>
108 <entry>Cr<subscript>31</subscript></entry>
109 <entry>Cb<subscript>32</subscript></entry>
110 <entry>Cr<subscript>32</subscript></entry>
111 <entry>Cb<subscript>33</subscript></entry>
112 <entry>Cr<subscript>33</subscript></entry>
113 </row>
114 </tbody>
115 </tgroup>
116 </informaltable>
117 </para>
118 </formalpara>
119 </example>
120 </refsect1>
121 </refentry>