GNU Linux-libre 4.14.295-gnu1
[releases.git] / Documentation / media / uapi / v4l / pixfmt-nv16.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _V4L2-PIX-FMT-NV16:
4 .. _V4L2-PIX-FMT-NV61:
5
6 ******************************************************
7 V4L2_PIX_FMT_NV16 ('NV16'), V4L2_PIX_FMT_NV61 ('NV61')
8 ******************************************************
9
10 V4L2_PIX_FMT_NV61
11 Formats with ½ horizontal chroma resolution, also known as YUV 4:2:2.
12 One luminance and one chrominance plane with alternating chroma samples
13 as opposed to ``V4L2_PIX_FMT_YVU420``
14
15
16 Description
17 ===========
18
19 These are two-plane versions of the YUV 4:2:2 format. The three
20 components are separated into two sub-images or planes. The Y plane is
21 first. The Y plane has one byte per pixel. For ``V4L2_PIX_FMT_NV16``, a
22 combined CbCr plane immediately follows the Y plane in memory. The CbCr
23 plane is the same width and height, in bytes, as the Y plane (and of the
24 image). Each CbCr pair belongs to two pixels. For example,
25 Cb\ :sub:`0`/Cr\ :sub:`0` belongs to Y'\ :sub:`00`, Y'\ :sub:`01`.
26 ``V4L2_PIX_FMT_NV61`` is the same except the Cb and Cr bytes are
27 swapped, the CrCb plane starts with a Cr byte.
28
29 If the Y plane has pad bytes after each row, then the CbCr plane has as
30 many pad bytes after its rows.
31
32 **Byte Order.**
33 Each cell is one byte.
34
35
36 .. flat-table::
37     :header-rows:  0
38     :stub-columns: 0
39
40     * - start + 0:
41       - Y'\ :sub:`00`
42       - Y'\ :sub:`01`
43       - Y'\ :sub:`02`
44       - Y'\ :sub:`03`
45     * - start + 4:
46       - Y'\ :sub:`10`
47       - Y'\ :sub:`11`
48       - Y'\ :sub:`12`
49       - Y'\ :sub:`13`
50     * - start + 8:
51       - Y'\ :sub:`20`
52       - Y'\ :sub:`21`
53       - Y'\ :sub:`22`
54       - Y'\ :sub:`23`
55     * - start + 12:
56       - Y'\ :sub:`30`
57       - Y'\ :sub:`31`
58       - Y'\ :sub:`32`
59       - Y'\ :sub:`33`
60     * - start + 16:
61       - Cb\ :sub:`00`
62       - Cr\ :sub:`00`
63       - Cb\ :sub:`01`
64       - Cr\ :sub:`01`
65     * - start + 20:
66       - Cb\ :sub:`10`
67       - Cr\ :sub:`10`
68       - Cb\ :sub:`11`
69       - Cr\ :sub:`11`
70     * - start + 24:
71       - Cb\ :sub:`20`
72       - Cr\ :sub:`20`
73       - Cb\ :sub:`21`
74       - Cr\ :sub:`21`
75     * - start + 28:
76       - Cb\ :sub:`30`
77       - Cr\ :sub:`30`
78       - Cb\ :sub:`31`
79       - Cr\ :sub:`31`
80
81
82 **Color Sample Location:**
83
84
85
86 .. flat-table::
87     :header-rows:  0
88     :stub-columns: 0
89
90     * -
91       - 0
92       -
93       - 1
94       - 2
95       -
96       - 3
97     * - 0
98       - Y
99       -
100       - Y
101       - Y
102       -
103       - Y
104     * -
105       -
106       - C
107       -
108       -
109       - C
110       -
111     * - 1
112       - Y
113       -
114       - Y
115       - Y
116       -
117       - Y
118     * -
119       -
120       - C
121       -
122       -
123       - C
124       -
125     * -
126     * - 2
127       - Y
128       -
129       - Y
130       - Y
131       -
132       - Y
133     * -
134       -
135       - C
136       -
137       -
138       - C
139       -
140     * - 3
141       - Y
142       -
143       - Y
144       - Y
145       -
146       - Y
147     * -
148       -
149       - C
150       -
151       -
152       - C
153       -