About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

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


Based on kernel version 4.7.2. Page generated on 2016-08-22 22:45 EST.

1	    <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
10	chroma resolutions, also known as YUV 4:4:4. One luminance and one
11	chrominance 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
33	pixel 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>
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog