About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / DocBook / media / v4l / pixfmt-nv16m.xml




Custom Search

Based on kernel version 3.15.4. Page generated on 2014-07-07 09:02 EST.

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.
16	The 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
19	plane does not necessarily immediately follow the luma plane.
20	The luminance data occupies the first plane. The Y plane has one byte per pixel.
21	In the second plane there is chrominance data with alternating chroma samples.
22	The CbCr plane is the same width and height, in bytes, as the Y plane.
23	Each CbCr pair belongs to two pixels. For example,
24	Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
25	Y'<subscript>00</subscript>, Y'<subscript>01</subscript>.
26	<constant>V4L2_PIX_FMT_NV61M</constant> is the same as <constant>V4L2_PIX_FMT_NV16M</constant>
27	except 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
31	and 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>
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.