media: doc: pixfmt-yuv: Move all luma-only YUV formats to common file
[platform/kernel/linux-rpi.git] / Documentation / userspace-api / media / v4l / pixfmt-nv16.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
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 Chroma samples are :ref:`interstitially sited<yuv-chroma-centered>`
84 horizontally.