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.. 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.
137