Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[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 .. flat-table:: Luma-Only Image Formats
23     :header-rows: 1
24     :stub-columns: 0
25
26     * - Identifier
27       - Code
28       - Byte 0
29       - Byte 1
30       - Byte 2
31       - Byte 3
32       - Byte 4
33
34     * .. _V4L2-PIX-FMT-GREY:
35
36       - ``V4L2_PIX_FMT_GREY``
37       - 'GREY'
38
39       - Y'\ :sub:`0`\ [7:0]
40       - ...
41       - ...
42       - ...
43       - ...
44
45     * .. _V4L2-PIX-FMT-Y10:
46
47       - ``V4L2_PIX_FMT_Y10``
48       - 'Y10 '
49
50       - Y'\ :sub:`0`\ [7:0]
51       - `000000` Y'\ :sub:`0`\ [9:8]
52       - ...
53       - ...
54       - ...
55
56     * .. _V4L2-PIX-FMT-Y10BPACK:
57
58       - ``V4L2_PIX_FMT_Y10BPACK``
59       - 'Y10B'
60
61       - Y'\ :sub:`0`\ [9:2]
62       - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4]
63       - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6]
64       - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8]
65       - Y'\ :sub:`3`\ [7:0]
66
67     * .. _V4L2-PIX-FMT-Y10P:
68
69       - ``V4L2_PIX_FMT_Y10P``
70       - 'Y10P'
71
72       - Y'\ :sub:`0`\ [7:0]
73       - Y'\ :sub:`1`\ [9:8]
74       - Y'\ :sub:`2`\ [9:2]
75       - Y'\ :sub:`3`\ [9:2]
76       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
77
78     * .. _V4L2-PIX-FMT-Y12:
79
80       - ``V4L2_PIX_FMT_Y12``
81       - 'Y12 '
82
83       - Y'\ :sub:`0`\ [7:0]
84       - `0000` Y'\ :sub:`0`\ [11:8]
85       - ...
86       - ...
87       - ...
88
89     * .. _V4L2-PIX-FMT-Y14:
90
91       - ``V4L2_PIX_FMT_Y14``
92       - 'Y14 '
93
94       - Y'\ :sub:`0`\ [7:0]
95       - `00` Y'\ :sub:`0`\ [13:8]
96       - ...
97       - ...
98       - ...
99
100     * .. _V4L2-PIX-FMT-Y16:
101
102       - ``V4L2_PIX_FMT_Y16``
103       - 'Y16 '
104
105       - Y'\ :sub:`0`\ [7:0]
106       - Y'\ :sub:`0`\ [15:8]
107       - ...
108       - ...
109       - ...
110
111     * .. _V4L2-PIX-FMT-Y16-BE:
112
113       - ``V4L2_PIX_FMT_Y16_BE``
114       - 'Y16 ' | (1U << 31)
115
116       - Y'\ :sub:`0`\ [15:8]
117       - Y'\ :sub:`0`\ [7:0]
118       - ...
119       - ...
120       - ...
121
122 .. note::
123
124     For the Y16 and Y16_BE formats, the actual sampling precision may be lower
125     than 16 bits. For example, 10 bits per pixel uses values in the range 0 to
126     1023.