xref: /OK3568_Linux_fs/kernel/Documentation/userspace-api/media/v4l/pixfmt-yuyv.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun.. _V4L2-PIX-FMT-YUYV:
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun**************************
6*4882a593SmuzhiyunV4L2_PIX_FMT_YUYV ('YUYV')
7*4882a593Smuzhiyun**************************
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunPacked format with ½ horizontal chroma resolution, also known as YUV
11*4882a593Smuzhiyun4:2:2
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunDescription
15*4882a593Smuzhiyun===========
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunIn this format each four bytes is two pixels. Each four bytes is two
18*4882a593SmuzhiyunY's, a Cb and a Cr. Each Y goes to one of the pixels, and the Cb and Cr
19*4882a593Smuzhiyunbelong to both pixels. As you can see, the Cr and Cb components have
20*4882a593Smuzhiyunhalf the horizontal resolution of the Y component. ``V4L2_PIX_FMT_YUYV``
21*4882a593Smuzhiyunis known in the Windows environment as YUY2.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun**Byte Order.**
24*4882a593SmuzhiyunEach cell is one byte.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun.. flat-table::
30*4882a593Smuzhiyun    :header-rows:  0
31*4882a593Smuzhiyun    :stub-columns: 0
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun    * - start + 0:
34*4882a593Smuzhiyun      - Y'\ :sub:`00`
35*4882a593Smuzhiyun      - Cb\ :sub:`00`
36*4882a593Smuzhiyun      - Y'\ :sub:`01`
37*4882a593Smuzhiyun      - Cr\ :sub:`00`
38*4882a593Smuzhiyun      - Y'\ :sub:`02`
39*4882a593Smuzhiyun      - Cb\ :sub:`01`
40*4882a593Smuzhiyun      - Y'\ :sub:`03`
41*4882a593Smuzhiyun      - Cr\ :sub:`01`
42*4882a593Smuzhiyun    * - start + 8:
43*4882a593Smuzhiyun      - Y'\ :sub:`10`
44*4882a593Smuzhiyun      - Cb\ :sub:`10`
45*4882a593Smuzhiyun      - Y'\ :sub:`11`
46*4882a593Smuzhiyun      - Cr\ :sub:`10`
47*4882a593Smuzhiyun      - Y'\ :sub:`12`
48*4882a593Smuzhiyun      - Cb\ :sub:`11`
49*4882a593Smuzhiyun      - Y'\ :sub:`13`
50*4882a593Smuzhiyun      - Cr\ :sub:`11`
51*4882a593Smuzhiyun    * - start + 16:
52*4882a593Smuzhiyun      - Y'\ :sub:`20`
53*4882a593Smuzhiyun      - Cb\ :sub:`20`
54*4882a593Smuzhiyun      - Y'\ :sub:`21`
55*4882a593Smuzhiyun      - Cr\ :sub:`20`
56*4882a593Smuzhiyun      - Y'\ :sub:`22`
57*4882a593Smuzhiyun      - Cb\ :sub:`21`
58*4882a593Smuzhiyun      - Y'\ :sub:`23`
59*4882a593Smuzhiyun      - Cr\ :sub:`21`
60*4882a593Smuzhiyun    * - start + 24:
61*4882a593Smuzhiyun      - Y'\ :sub:`30`
62*4882a593Smuzhiyun      - Cb\ :sub:`30`
63*4882a593Smuzhiyun      - Y'\ :sub:`31`
64*4882a593Smuzhiyun      - Cr\ :sub:`30`
65*4882a593Smuzhiyun      - Y'\ :sub:`32`
66*4882a593Smuzhiyun      - Cb\ :sub:`31`
67*4882a593Smuzhiyun      - Y'\ :sub:`33`
68*4882a593Smuzhiyun      - Cr\ :sub:`31`
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun**Color Sample Location:**
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun.. flat-table::
76*4882a593Smuzhiyun    :header-rows:  0
77*4882a593Smuzhiyun    :stub-columns: 0
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun    * -
80*4882a593Smuzhiyun      - 0
81*4882a593Smuzhiyun      -
82*4882a593Smuzhiyun      - 1
83*4882a593Smuzhiyun      -
84*4882a593Smuzhiyun      - 2
85*4882a593Smuzhiyun      -
86*4882a593Smuzhiyun      - 3
87*4882a593Smuzhiyun    * - 0
88*4882a593Smuzhiyun      - Y
89*4882a593Smuzhiyun      - C
90*4882a593Smuzhiyun      - Y
91*4882a593Smuzhiyun      -
92*4882a593Smuzhiyun      - Y
93*4882a593Smuzhiyun      - C
94*4882a593Smuzhiyun      - Y
95*4882a593Smuzhiyun    * - 1
96*4882a593Smuzhiyun      - Y
97*4882a593Smuzhiyun      - C
98*4882a593Smuzhiyun      - Y
99*4882a593Smuzhiyun      -
100*4882a593Smuzhiyun      - Y
101*4882a593Smuzhiyun      - C
102*4882a593Smuzhiyun      - Y
103*4882a593Smuzhiyun    * - 2
104*4882a593Smuzhiyun      - Y
105*4882a593Smuzhiyun      - C
106*4882a593Smuzhiyun      - Y
107*4882a593Smuzhiyun      -
108*4882a593Smuzhiyun      - Y
109*4882a593Smuzhiyun      - C
110*4882a593Smuzhiyun      - Y
111*4882a593Smuzhiyun    * - 3
112*4882a593Smuzhiyun      - Y
113*4882a593Smuzhiyun      - C
114*4882a593Smuzhiyun      - Y
115*4882a593Smuzhiyun      -
116*4882a593Smuzhiyun      - Y
117*4882a593Smuzhiyun      - C
118*4882a593Smuzhiyun      - Y
119