aboutsummaryrefslogtreecommitdiff
path: root/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml
blob: 58384092251a4dcf8bf2e4210f2ded56ad7bd5c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
    <refentry id="V4L2-PIX-FMT-YUYV">
      <refmeta>
	<refentrytitle>V4L2_PIX_FMT_YUYV ('YUYV')</refentrytitle>
	&manvol;
      </refmeta>
      <refnamediv>
	<refname><constant>V4L2_PIX_FMT_YUYV</constant></refname>
	<refpurpose>Packed format with &frac12; horizontal chroma
resolution, also known as YUV 4:2:2</refpurpose>
      </refnamediv>
      <refsect1>
	<title>Description</title>

	<para>In this format each four bytes is two pixels. Each four
bytes is two Y's, a Cb and a Cr. Each Y goes to one of the pixels, and
the Cb and Cr belong to both pixels. As you can see, the Cr and Cb
components have half the horizontal resolution of the Y component.
<constant>V4L2_PIX_FMT_YUYV </constant> is known in the Windows
environment as YUY2.</para>

	<example>
	  <title><constant>V4L2_PIX_FMT_YUYV</constant> 4 &times; 4
pixel image</title>

	  <formalpara>
	    <title>Byte Order.</title>
	    <para>Each cell is one byte.
		<informaltable frame="none">
		<tgroup cols="9" align="center">
		  <colspec align="left" colwidth="2*" />
		  <tbody valign="top">
		    <row>
		      <entry>start&nbsp;+&nbsp;0:</entry>
		      <entry>Y'<subscript>00</subscript></entry>
		      <entry>Cb<subscript>00</subscript></entry>
		      <entry>Y'<subscript>01</subscript></entry>
		      <entry>Cr<subscript>00</subscript></entry>
		      <entry>Y'<subscript>02</subscript></entry>
		      <entry>Cb<subscript>01</subscript></entry>
		      <entry>Y'<subscript>03</subscript></entry>
		      <entry>Cr<subscript>01</subscript></entry>
		    </row>
		    <row>
		      <entry>start&nbsp;+&nbsp;8:</entry>
		      <entry>Y'<subscript>10</subscript></entry>
		      <entry>Cb<subscript>10</subscript></entry>
		      <entry>Y'<subscript>11</subscript></entry>
		      <entry>Cr<subscript>10</subscript></entry>
		      <entry>Y'<subscript>12</subscript></entry>
		      <entry>Cb<subscript>11</subscript></entry>
		      <entry>Y'<subscript>13</subscript></entry>
		      <entry>Cr<subscript>11</subscript></entry>
		    </row>
		    <row>
		      <entry>start&nbsp;+&nbsp;16:</entry>
		      <entry>Y'<subscript>20</subscript></entry>
		      <entry>Cb<subscript>20</subscript></entry>
		      <entry>Y'<subscript>21</subscript></entry>
		      <entry>Cr<subscript>20</subscript></entry>
		      <entry>Y'<subscript>22</subscript></entry>
		      <entry>Cb<subscript>21</subscript></entry>
		      <entry>Y'<subscript>23</subscript></entry>
		      <entry>Cr<subscript>21</subscript></entry>
		    </row>
		    <row>
		      <entry>start&nbsp;+&nbsp;24:</entry>
		      <entry>Y'<subscript>30</subscript></entry>
		      <entry>Cb<subscript>30</subscript></entry>
		      <entry>Y'<subscript>31</subscript></entry>
		      <entry>Cr<subscript>30</subscript></entry>
		      <entry>Y'<subscript>32</subscript></entry>
		      <entry>Cb<subscript>31</subscript></entry>
		      <entry>Y'<subscript>33</subscript></entry>
		      <entry>Cr<subscript>31</subscript></entry>
		    </row>
		  </tbody>
		</tgroup>
		</informaltable>
	      </para>
	  </formalpara>

	  <formalpara>
	    <title>Color Sample Location.</title>
	    <para>
		<informaltable frame="none">
		<tgroup cols="7" align="center">
		  <tbody valign="top">
		    <row>
		      <entry></entry>
		      <entry>0</entry><entry></entry><entry>1</entry><entry></entry>
		      <entry>2</entry><entry></entry><entry>3</entry>
		    </row>
		    <row>
		      <entry>0</entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry>
		    </row>
		    <row>
		      <entry>1</entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry>
		    </row>
		    <row>
		      <entry>2</entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry>
		    </row>
		    <row>
		      <entry>3</entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
		      <entry>Y</entry><entry>C</entry><entry>Y</entry>
		    </row>
		  </tbody>
		</tgroup>
		</informaltable>
	      </para>
	  </formalpara>
	</example>
      </refsect1>
    </refentry>