62078a01de76241f5c0be307ba4ac8b96651e26d
[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 column
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-IPU3-Y10:
52
53       - ``V4L2_PIX_FMT_IPU3_Y10``
54       - 'ip3y'
55
56       - Y'\ :sub:`0`\ [7:0]
57       - Y'\ :sub:`1`\ [5:0] Y'\ :sub:`0`\ [9:8]
58       - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6]
59       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4]
60       - Y'\ :sub:`3`\ [9:2]
61
62     * .. _V4L2-PIX-FMT-Y10:
63
64       - ``V4L2_PIX_FMT_Y10``
65       - 'Y10 '
66
67       - Y'\ :sub:`0`\ [7:0]
68       - `000000` Y'\ :sub:`0`\ [9:8]
69       - ...
70       - ...
71       - ...
72
73     * .. _V4L2-PIX-FMT-Y10BPACK:
74
75       - ``V4L2_PIX_FMT_Y10BPACK``
76       - 'Y10B'
77
78       - Y'\ :sub:`0`\ [9:2]
79       - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4]
80       - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6]
81       - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8]
82       - Y'\ :sub:`3`\ [7:0]
83
84     * .. _V4L2-PIX-FMT-Y10P:
85
86       - ``V4L2_PIX_FMT_Y10P``
87       - 'Y10P'
88
89       - Y'\ :sub:`0`\ [9:2]
90       - Y'\ :sub:`1`\ [9:2]
91       - Y'\ :sub:`2`\ [9:2]
92       - Y'\ :sub:`3`\ [9:2]
93       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
94
95     * .. _V4L2-PIX-FMT-Y12:
96
97       - ``V4L2_PIX_FMT_Y12``
98       - 'Y12 '
99
100       - Y'\ :sub:`0`\ [7:0]
101       - `0000` Y'\ :sub:`0`\ [11:8]
102       - ...
103       - ...
104       - ...
105
106     * .. _V4L2-PIX-FMT-Y14:
107
108       - ``V4L2_PIX_FMT_Y14``
109       - 'Y14 '
110
111       - Y'\ :sub:`0`\ [7:0]
112       - `00` Y'\ :sub:`0`\ [13:8]
113       - ...
114       - ...
115       - ...
116
117     * .. _V4L2-PIX-FMT-Y16:
118
119       - ``V4L2_PIX_FMT_Y16``
120       - 'Y16 '
121
122       - Y'\ :sub:`0`\ [7:0]
123       - Y'\ :sub:`0`\ [15:8]
124       - ...
125       - ...
126       - ...
127
128     * .. _V4L2-PIX-FMT-Y16-BE:
129
130       - ``V4L2_PIX_FMT_Y16_BE``
131       - 'Y16 ' | (1U << 31)
132
133       - Y'\ :sub:`0`\ [15:8]
134       - Y'\ :sub:`0`\ [7:0]
135       - ...
136       - ...
137       - ...
138
139 .. raw:: latex
140
141     \normalsize
142
143 .. note::
144
145     For the Y16 and Y16_BE formats, the actual sampling precision may be lower
146     than 16 bits. For example, 10 bits per pixel uses values in the range 0 to
147     1023. For the IPU3_Y10 format 25 pixels are packed into 32 bytes, which
148     leaves the 6 most significant bits of the last byte padded with 0.