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 column 18 `x`. 19 - `0` denotes padding bits set to 0. 20 21 22.. raw:: latex 23 24 \tiny 25 26.. tabularcolumns:: |p{3.6cm}|p{2.4cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|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 - Byte 5 40 - Byte 6 41 42 * .. _V4L2-PIX-FMT-GREY: 43 44 - ``V4L2_PIX_FMT_GREY`` 45 - 'GREY' 46 47 - Y'\ :sub:`0`\ [7:0] 48 - ... 49 - ... 50 - ... 51 - ... 52 - ... 53 - ... 54 55 * .. _V4L2-PIX-FMT-IPU3-Y10: 56 57 - ``V4L2_PIX_FMT_IPU3_Y10`` 58 - 'ip3y' 59 60 - Y'\ :sub:`0`\ [7:0] 61 - Y'\ :sub:`1`\ [5:0] Y'\ :sub:`0`\ [9:8] 62 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6] 63 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4] 64 - Y'\ :sub:`3`\ [9:2] 65 - ... 66 - ... 67 68 * .. _V4L2-PIX-FMT-Y10: 69 70 - ``V4L2_PIX_FMT_Y10`` 71 - 'Y10 ' 72 73 - Y'\ :sub:`0`\ [7:0] 74 - `000000` Y'\ :sub:`0`\ [9:8] 75 - ... 76 - ... 77 - ... 78 - ... 79 - ... 80 81 * .. _V4L2-PIX-FMT-Y10BPACK: 82 83 - ``V4L2_PIX_FMT_Y10BPACK`` 84 - 'Y10B' 85 86 - Y'\ :sub:`0`\ [9:2] 87 - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4] 88 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6] 89 - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8] 90 - Y'\ :sub:`3`\ [7:0] 91 - ... 92 - ... 93 94 * .. _V4L2-PIX-FMT-Y10P: 95 96 - ``V4L2_PIX_FMT_Y10P`` 97 - 'Y10P' 98 99 - Y'\ :sub:`0`\ [9:2] 100 - Y'\ :sub:`1`\ [9:2] 101 - Y'\ :sub:`2`\ [9:2] 102 - Y'\ :sub:`3`\ [9:2] 103 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0] 104 - ... 105 - ... 106 107 * .. _V4L2-PIX-FMT-Y12: 108 109 - ``V4L2_PIX_FMT_Y12`` 110 - 'Y12 ' 111 112 - Y'\ :sub:`0`\ [7:0] 113 - `0000` Y'\ :sub:`0`\ [11:8] 114 - ... 115 - ... 116 - ... 117 - ... 118 - ... 119 120 * .. _V4L2-PIX-FMT-Y012: 121 122 - ``V4L2_PIX_FMT_Y012`` 123 - 'Y012' 124 125 - Y'\ :sub:`0`\ [3:0] `0000` 126 - Y'\ :sub:`0`\ [11:4] 127 - ... 128 - ... 129 - ... 130 - ... 131 - ... 132 133 * .. _V4L2-PIX-FMT-Y12P: 134 135 - ``V4L2_PIX_FMT_Y12P`` 136 - 'Y12P' 137 138 - Y'\ :sub:`0`\ [11:4] 139 - Y'\ :sub:`1`\ [11:4] 140 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0] 141 - ... 142 - ... 143 - ... 144 - ... 145 146 * .. _V4L2-PIX-FMT-Y14: 147 148 - ``V4L2_PIX_FMT_Y14`` 149 - 'Y14 ' 150 151 - Y'\ :sub:`0`\ [7:0] 152 - `00` Y'\ :sub:`0`\ [13:8] 153 - ... 154 - ... 155 - ... 156 - ... 157 - ... 158 159 * .. _V4L2-PIX-FMT-Y14P: 160 161 - ``V4L2_PIX_FMT_Y14P`` 162 - 'Y14P' 163 164 - Y'\ :sub:`0`\ [13:6] 165 - Y'\ :sub:`1`\ [13:6] 166 - Y'\ :sub:`2`\ [13:6] 167 - Y'\ :sub:`3`\ [13:6] 168 - Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [5:0] 169 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [5:2] 170 - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [5:4] 171 172 * .. _V4L2-PIX-FMT-Y16: 173 174 - ``V4L2_PIX_FMT_Y16`` 175 - 'Y16 ' 176 177 - Y'\ :sub:`0`\ [7:0] 178 - Y'\ :sub:`0`\ [15:8] 179 - ... 180 - ... 181 - ... 182 - ... 183 - ... 184 185 * .. _V4L2-PIX-FMT-Y16-BE: 186 187 - ``V4L2_PIX_FMT_Y16_BE`` 188 - 'Y16 ' | (1U << 31) 189 190 - Y'\ :sub:`0`\ [15:8] 191 - Y'\ :sub:`0`\ [7:0] 192 - ... 193 - ... 194 - ... 195 - ... 196 - ... 197 198.. raw:: latex 199 200 \normalsize 201 202.. note:: 203 204 For the Y16 and Y16_BE formats, the actual sampling precision may be lower 205 than 16 bits. For example, 10 bits per pixel uses values in the range 0 to 206 1023. For the IPU3_Y10 format 25 pixels are packed into 32 bytes, which 207 leaves the 6 most significant bits of the last byte padded with 0. 208 209 For Y012 and Y12 formats, Y012 places its data in the 12 high bits, with 210 padding zeros in the 4 low bits, in contrast to the Y12 format, which has 211 its padding located in the most significant bits of the 16 bit word. 212 213 The 'P' variations of the Y10, Y12 and Y14 formats are packed according to 214 the RAW10, RAW12 and RAW14 packing scheme as defined by the MIPI CSI-2 215 specification. 216