Merge tag 'sound-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.git] / Documentation / userspace-api / media / v4l / pixfmt-yuv-luma.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _yuv-luma-only:
4
5 *****************
6 Luma-Only Formats
7 *****************
8
9 This family of formats only store the luma component of a Y'CbCr image. They
10 are often referred to as greyscale formats.
11
12 .. note::
13
14    - In all the tables that follow, bit 7 is the most significant bit in a byte.
15    - Formats are described with the minimum number of pixels needed to create a
16      byte-aligned repeating pattern. `...` indicates repetition of the pattern.
17    - Y'\ :sub:`x`\ [9:2] denotes bits 9 to 2 of the Y' value for pixel at colum
18      `x`.
19    - `0` denotes padding bits set to 0.
20
21
22 .. raw:: latex
23
24     \scriptsize
25
26 .. tabularcolumns:: |p{3.6cm}|p{3.0cm}|p{1.3cm}|p{2.6cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|
27
28 .. flat-table:: Luma-Only Image Formats
29     :header-rows: 1
30     :stub-columns: 0
31
32     * - Identifier
33       - Code
34       - Byte 0
35       - Byte 1
36       - Byte 2
37       - Byte 3
38       - Byte 4
39
40     * .. _V4L2-PIX-FMT-GREY:
41
42       - ``V4L2_PIX_FMT_GREY``
43       - 'GREY'
44
45       - Y'\ :sub:`0`\ [7:0]
46       - ...
47       - ...
48       - ...
49       - ...
50
51     * .. _V4L2-PIX-FMT-Y10:
52
53       - ``V4L2_PIX_FMT_Y10``
54       - 'Y10 '
55
56       - Y'\ :sub:`0`\ [7:0]
57       - `000000` Y'\ :sub:`0`\ [9:8]
58       - ...
59       - ...
60       - ...
61
62     * .. _V4L2-PIX-FMT-Y10BPACK:
63
64       - ``V4L2_PIX_FMT_Y10BPACK``
65       - 'Y10B'
66
67       - Y'\ :sub:`0`\ [9:2]
68       - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4]
69       - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6]
70       - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8]
71       - Y'\ :sub:`3`\ [7:0]
72
73     * .. _V4L2-PIX-FMT-Y10P:
74
75       - ``V4L2_PIX_FMT_Y10P``
76       - 'Y10P'
77
78       - Y'\ :sub:`0`\ [7:0]
79       - Y'\ :sub:`1`\ [9:8]
80       - Y'\ :sub:`2`\ [9:2]
81       - Y'\ :sub:`3`\ [9:2]
82       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
83
84     * .. _V4L2-PIX-FMT-Y12:
85
86       - ``V4L2_PIX_FMT_Y12``
87       - 'Y12 '
88
89       - Y'\ :sub:`0`\ [7:0]
90       - `0000` Y'\ :sub:`0`\ [11:8]
91       - ...
92       - ...
93       - ...
94
95     * .. _V4L2-PIX-FMT-Y14:
96
97       - ``V4L2_PIX_FMT_Y14``
98       - 'Y14 '
99
100       - Y'\ :sub:`0`\ [7:0]
101       - `00` Y'\ :sub:`0`\ [13:8]
102       - ...
103       - ...
104       - ...
105
106     * .. _V4L2-PIX-FMT-Y16:
107
108       - ``V4L2_PIX_FMT_Y16``
109       - 'Y16 '
110
111       - Y'\ :sub:`0`\ [7:0]
112       - Y'\ :sub:`0`\ [15:8]
113       - ...
114       - ...
115       - ...
116
117     * .. _V4L2-PIX-FMT-Y16-BE:
118
119       - ``V4L2_PIX_FMT_Y16_BE``
120       - 'Y16 ' | (1U << 31)
121
122       - Y'\ :sub:`0`\ [15:8]
123       - Y'\ :sub:`0`\ [7:0]
124       - ...
125       - ...
126       - ...
127
128 .. raw:: latex
129
130     \normalsize
131
132 .. note::
133
134     For the Y16 and Y16_BE formats, the actual sampling precision may be lower
135     than 16 bits. For example, 10 bits per pixel uses values in the range 0 to
136     1023.