1    <refentry>
2      <refmeta>
3	<refentrytitle>V4L2_PIX_FMT_NV16M ('NM16'), V4L2_PIX_FMT_NV61M ('NM61')</refentrytitle>
4	&manvol;
5      </refmeta>
6      <refnamediv>
7	<refname id="V4L2-PIX-FMT-NV16M"><constant>V4L2_PIX_FMT_NV16M</constant></refname>
8	<refname id="V4L2-PIX-FMT-NV61M"><constant>V4L2_PIX_FMT_NV61M</constant></refname>
9	<refpurpose>Variation of <constant>V4L2_PIX_FMT_NV16</constant> and <constant>V4L2_PIX_FMT_NV61</constant> with planes
10	  non contiguous in memory. </refpurpose>
11      </refnamediv>
12      <refsect1>
13	<title>Description</title>
14
15	<para>This is a multi-planar, two-plane version of the YUV 4:2:2 format.
16The three components are separated into two sub-images or planes.
17<constant>V4L2_PIX_FMT_NV16M</constant> differs from <constant>V4L2_PIX_FMT_NV16
18</constant> in that the two planes are non-contiguous in memory, i.e. the chroma
19plane does not necessarily immediately follow the luma plane.
20The luminance data occupies the first plane. The Y plane has one byte per pixel.
21In the second plane there is chrominance data with alternating chroma samples.
22The CbCr plane is the same width and height, in bytes, as the Y plane.
23Each CbCr pair belongs to two pixels. For example,
24Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
25Y'<subscript>00</subscript>, Y'<subscript>01</subscript>.
26<constant>V4L2_PIX_FMT_NV61M</constant> is the same as <constant>V4L2_PIX_FMT_NV16M</constant>
27except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr byte.</para>
28
29	<para><constant>V4L2_PIX_FMT_NV16M</constant> and
30<constant>V4L2_PIX_FMT_NV61M</constant> are intended to be used only in drivers
31and applications that support the multi-planar API, described in
32<xref linkend="planar-apis"/>. </para>
33
34	<example>
35	  <title><constant>V4L2_PIX_FMT_NV16M</constant> 4 &times; 4 pixel image</title>
36
37	  <formalpara>
38	    <title>Byte Order.</title>
39	    <para>Each cell is one byte.
40		<informaltable frame="none">
41		<tgroup cols="5" align="center">
42		  <colspec align="left" colwidth="2*" />
43		  <tbody valign="top">
44		    <row>
45		      <entry>start0&nbsp;+&nbsp;0:</entry>
46		      <entry>Y'<subscript>00</subscript></entry>
47		      <entry>Y'<subscript>01</subscript></entry>
48		      <entry>Y'<subscript>02</subscript></entry>
49		      <entry>Y'<subscript>03</subscript></entry>
50		    </row>
51		    <row>
52		      <entry>start0&nbsp;+&nbsp;4:</entry>
53		      <entry>Y'<subscript>10</subscript></entry>
54		      <entry>Y'<subscript>11</subscript></entry>
55		      <entry>Y'<subscript>12</subscript></entry>
56		      <entry>Y'<subscript>13</subscript></entry>
57		    </row>
58		    <row>
59		      <entry>start0&nbsp;+&nbsp;8:</entry>
60		      <entry>Y'<subscript>20</subscript></entry>
61		      <entry>Y'<subscript>21</subscript></entry>
62		      <entry>Y'<subscript>22</subscript></entry>
63		      <entry>Y'<subscript>23</subscript></entry>
64		    </row>
65		    <row>
66		      <entry>start0&nbsp;+&nbsp;12:</entry>
67		      <entry>Y'<subscript>30</subscript></entry>
68		      <entry>Y'<subscript>31</subscript></entry>
69		      <entry>Y'<subscript>32</subscript></entry>
70		      <entry>Y'<subscript>33</subscript></entry>
71		    </row>
72		    <row>
73		      <entry></entry>
74		    </row>
75		    <row>
76		      <entry>start1&nbsp;+&nbsp;0:</entry>
77		      <entry>Cb<subscript>00</subscript></entry>
78		      <entry>Cr<subscript>00</subscript></entry>
79		      <entry>Cb<subscript>02</subscript></entry>
80		      <entry>Cr<subscript>02</subscript></entry>
81		    </row>
82		    <row>
83		      <entry>start1&nbsp;+&nbsp;4:</entry>
84		      <entry>Cb<subscript>10</subscript></entry>
85		      <entry>Cr<subscript>10</subscript></entry>
86		      <entry>Cb<subscript>12</subscript></entry>
87		      <entry>Cr<subscript>12</subscript></entry>
88		    </row>
89		    <row>
90		      <entry>start1&nbsp;+&nbsp;8:</entry>
91		      <entry>Cb<subscript>20</subscript></entry>
92		      <entry>Cr<subscript>20</subscript></entry>
93		      <entry>Cb<subscript>22</subscript></entry>
94		      <entry>Cr<subscript>22</subscript></entry>
95		    </row>
96		    <row>
97		      <entry>start1&nbsp;+&nbsp;12:</entry>
98		      <entry>Cb<subscript>30</subscript></entry>
99		      <entry>Cr<subscript>30</subscript></entry>
100		      <entry>Cb<subscript>32</subscript></entry>
101		      <entry>Cr<subscript>32</subscript></entry>
102		    </row>
103		  </tbody>
104		</tgroup>
105		</informaltable>
106	      </para>
107	  </formalpara>
108
109	  <formalpara>
110	    <title>Color Sample Location.</title>
111	    <para>
112		<informaltable frame="none">
113		<tgroup cols="7" align="center">
114		  <tbody valign="top">
115		    <row>
116		      <entry></entry>
117		      <entry>0</entry><entry></entry><entry>1</entry><entry></entry>
118		      <entry>2</entry><entry></entry><entry>3</entry>
119		    </row>
120		    <row>
121		      <entry>0</entry>
122		      <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
123		      <entry>Y</entry><entry></entry><entry>Y</entry>
124		    </row>
125		    <row>
126		      <entry></entry>
127		      <entry></entry><entry>C</entry><entry></entry><entry></entry>
128		      <entry></entry><entry>C</entry><entry></entry>
129		    </row>
130		    <row>
131		      <entry>1</entry>
132		      <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
133		      <entry>Y</entry><entry></entry><entry>Y</entry>
134		    </row>
135		    <row>
136		      <entry></entry>
137		      <entry></entry><entry>C</entry><entry></entry><entry></entry>
138		      <entry></entry><entry>C</entry><entry></entry>
139		    </row>
140		    <row>
141		      <entry></entry>
142		    </row>
143		    <row>
144		      <entry>2</entry>
145		      <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
146		      <entry>Y</entry><entry></entry><entry>Y</entry>
147		    </row>
148		    <row>
149		      <entry></entry>
150		      <entry></entry><entry>C</entry><entry></entry><entry></entry>
151		      <entry></entry><entry>C</entry><entry></entry>
152		    </row>
153		    <row>
154		      <entry>3</entry>
155		      <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
156		      <entry>Y</entry><entry></entry><entry>Y</entry>
157		    </row>
158		    <row>
159		      <entry></entry>
160		      <entry></entry><entry>C</entry><entry></entry><entry></entry>
161		      <entry></entry><entry>C</entry><entry></entry>
162		    </row>
163		  </tbody>
164		</tgroup>
165		</informaltable>
166	      </para>
167	  </formalpara>
168	</example>
169      </refsect1>
170    </refentry>
171