Merge branch 'pm-cpufreq'
[cascardo/linux.git] / Documentation / media / uapi / v4l / pixfmt-nv24.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _V4L2-PIX-FMT-NV24:
4 .. _V4L2-PIX-FMT-NV42:
5
6 ******************************************************
7 V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42')
8 ******************************************************
9
10 V4L2_PIX_FMT_NV42
11 Formats with full horizontal and vertical chroma resolutions, also known
12 as YUV 4:4:4. One luminance and one chrominance plane with alternating
13 chroma samples as opposed to ``V4L2_PIX_FMT_YVU420``
14
15
16 Description
17 ===========
18
19 These are two-plane versions of the YUV 4:4:4 format. The three
20 components are separated into two sub-images or planes. The Y plane is
21 first, with each Y sample stored in one byte per pixel. For
22 ``V4L2_PIX_FMT_NV24``, a combined CbCr plane immediately follows the Y
23 plane in memory. The CbCr plane has the same width and height, in
24 pixels, as the Y plane (and the image). Each line contains one CbCr pair
25 per pixel, with each Cb and Cr sample stored in one byte.
26 ``V4L2_PIX_FMT_NV42`` is the same except that the Cb and Cr samples are
27 swapped, the CrCb plane starts with a Cr sample.
28
29 If the Y plane has pad bytes after each row, then the CbCr plane has
30 twice as 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       - Cb\ :sub:`02`
66       - Cr\ :sub:`02`
67       - Cb\ :sub:`03`
68       - Cr\ :sub:`03`
69     * - start + 24:
70       - Cb\ :sub:`10`
71       - Cr\ :sub:`10`
72       - Cb\ :sub:`11`
73       - Cr\ :sub:`11`
74       - Cb\ :sub:`12`
75       - Cr\ :sub:`12`
76       - Cb\ :sub:`13`
77       - Cr\ :sub:`13`
78     * - start + 32:
79       - Cb\ :sub:`20`
80       - Cr\ :sub:`20`
81       - Cb\ :sub:`21`
82       - Cr\ :sub:`21`
83       - Cb\ :sub:`22`
84       - Cr\ :sub:`22`
85       - Cb\ :sub:`23`
86       - Cr\ :sub:`23`
87     * - start + 40:
88       - Cb\ :sub:`30`
89       - Cr\ :sub:`30`
90       - Cb\ :sub:`31`
91       - Cr\ :sub:`31`
92       - Cb\ :sub:`32`
93       - Cr\ :sub:`32`
94       - Cb\ :sub:`33`
95       - Cr\ :sub:`33`