1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3.. _yuv-luma-only:
4
5*****************
6Luma-Only Formats
7*****************
8
9This family of formats only store the luma component of a Y'CbCr image. They
10are 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.
127