Merge branch 'for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu
[sfrench/cifs-2.6.git] / Documentation / media / uapi / v4l / pixfmt-yuv444m.rst
1 .. Permission is granted to copy, distribute and/or modify this
2 .. document under the terms of the GNU Free Documentation License,
3 .. Version 1.1 or any later version published by the Free Software
4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
5 .. and no Back-Cover Texts. A copy of the license is included at
6 .. Documentation/media/uapi/fdl-appendix.rst.
7 ..
8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
10 .. _V4L2-PIX-FMT-YUV444M:
11 .. _v4l2-pix-fmt-yvu444m:
12
13 ************************************************************
14 V4L2_PIX_FMT_YUV444M ('YM24'), V4L2_PIX_FMT_YVU444M ('YM42')
15 ************************************************************
16
17
18 V4L2_PIX_FMT_YVU444M
19 Planar formats with full horizontal resolution, also known as YUV and
20 YVU 4:4:4
21
22
23 Description
24 ===========
25
26 This is a multi-planar format, as opposed to a packed format. The three
27 components are separated into three sub-images or planes.
28
29 The Y plane is first. The Y plane has one byte per pixel. For
30 ``V4L2_PIX_FMT_YUV444M`` the Cb data constitutes the second plane which
31 is the same width and height as the Y plane (and as the image). The Cr
32 data, just like the Cb plane, is in the third plane.
33
34 ``V4L2_PIX_FMT_YVU444M`` is the same except the Cr data is stored in the
35 second plane and the Cb data in the third plane.
36
37 If the Y plane has pad bytes after each row, then the Cb and Cr planes
38 have the same number of pad bytes after their rows.
39
40 ``V4L2_PIX_FMT_YUV444M`` and ``V4L2_PIX_FMT_YUV444M`` are intended to be
41 used only in drivers and applications that support the multi-planar API,
42 described in :ref:`planar-apis`.
43
44 **Byte Order.**
45 Each cell is one byte.
46
47
48 .. flat-table::
49     :header-rows:  0
50     :stub-columns: 0
51
52     * - start0 + 0:
53       - Y'\ :sub:`00`
54       - Y'\ :sub:`01`
55       - Y'\ :sub:`02`
56       - Y'\ :sub:`03`
57     * - start0 + 4:
58       - Y'\ :sub:`10`
59       - Y'\ :sub:`11`
60       - Y'\ :sub:`12`
61       - Y'\ :sub:`13`
62     * - start0 + 8:
63       - Y'\ :sub:`20`
64       - Y'\ :sub:`21`
65       - Y'\ :sub:`22`
66       - Y'\ :sub:`23`
67     * - start0 + 12:
68       - Y'\ :sub:`30`
69       - Y'\ :sub:`31`
70       - Y'\ :sub:`32`
71       - Y'\ :sub:`33`
72     * -
73     * - start1 + 0:
74       - Cb\ :sub:`00`
75       - Cb\ :sub:`01`
76       - Cb\ :sub:`02`
77       - Cb\ :sub:`03`
78     * - start1 + 4:
79       - Cb\ :sub:`10`
80       - Cb\ :sub:`11`
81       - Cb\ :sub:`12`
82       - Cb\ :sub:`13`
83     * - start1 + 8:
84       - Cb\ :sub:`20`
85       - Cb\ :sub:`21`
86       - Cb\ :sub:`22`
87       - Cb\ :sub:`23`
88     * - start1 + 12:
89       - Cb\ :sub:`20`
90       - Cb\ :sub:`21`
91       - Cb\ :sub:`32`
92       - Cb\ :sub:`33`
93     * -
94     * - start2 + 0:
95       - Cr\ :sub:`00`
96       - Cr\ :sub:`01`
97       - Cr\ :sub:`02`
98       - Cr\ :sub:`03`
99     * - start2 + 4:
100       - Cr\ :sub:`10`
101       - Cr\ :sub:`11`
102       - Cr\ :sub:`12`
103       - Cr\ :sub:`13`
104     * - start2 + 8:
105       - Cr\ :sub:`20`
106       - Cr\ :sub:`21`
107       - Cr\ :sub:`22`
108       - Cr\ :sub:`23`
109     * - start2 + 12:
110       - Cr\ :sub:`30`
111       - Cr\ :sub:`31`
112       - Cr\ :sub:`32`
113       - Cr\ :sub:`33`
114
115
116 **Color Sample Location:**
117
118
119
120 .. flat-table::
121     :header-rows:  0
122     :stub-columns: 0
123
124     * -
125       - 0
126       - 1
127       - 2
128       - 3
129     * - 0
130       - YC
131       - YC
132       - YC
133       - YC
134     * - 1
135       - YC
136       - YC
137       - YC
138       - YC
139     * - 2
140       - YC
141       - YC
142       - YC
143       - YC
144     * - 3
145       - YC
146       - YC
147       - YC
148       - YC