1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 2 3 .. _yuv-luma-only: 3 .. _yuv-luma-only: 4 4 5 ***************** 5 ***************** 6 Luma-Only Formats 6 Luma-Only Formats 7 ***************** 7 ***************** 8 8 9 This family of formats only store the luma com 9 This family of formats only store the luma component of a Y'CbCr image. They 10 are often referred to as greyscale formats. 10 are often referred to as greyscale formats. 11 11 12 .. note:: 12 .. note:: 13 13 14 - In all the tables that follow, bit 7 is t 14 - In all the tables that follow, bit 7 is the most significant bit in a byte. 15 - Formats are described with the minimum nu 15 - Formats are described with the minimum number of pixels needed to create a 16 byte-aligned repeating pattern. `...` ind 16 byte-aligned repeating pattern. `...` indicates repetition of the pattern. 17 - Y'\ :sub:`x`\ [9:2] denotes bits 9 to 2 o 17 - Y'\ :sub:`x`\ [9:2] denotes bits 9 to 2 of the Y' value for pixel at column 18 `x`. 18 `x`. 19 - `0` denotes padding bits set to 0. 19 - `0` denotes padding bits set to 0. 20 20 21 21 22 .. raw:: latex 22 .. raw:: latex 23 23 24 \tiny 24 \tiny 25 25 26 .. tabularcolumns:: |p{3.6cm}|p{2.4cm}|p{1.3cm 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 27 28 .. flat-table:: Luma-Only Image Formats 28 .. flat-table:: Luma-Only Image Formats 29 :header-rows: 1 29 :header-rows: 1 30 :stub-columns: 0 30 :stub-columns: 0 31 31 32 * - Identifier 32 * - Identifier 33 - Code 33 - Code 34 - Byte 0 34 - Byte 0 35 - Byte 1 35 - Byte 1 36 - Byte 2 36 - Byte 2 37 - Byte 3 37 - Byte 3 38 - Byte 4 38 - Byte 4 39 - Byte 5 39 - Byte 5 40 - Byte 6 40 - Byte 6 41 41 42 * .. _V4L2-PIX-FMT-GREY: 42 * .. _V4L2-PIX-FMT-GREY: 43 43 44 - ``V4L2_PIX_FMT_GREY`` 44 - ``V4L2_PIX_FMT_GREY`` 45 - 'GREY' 45 - 'GREY' 46 46 47 - Y'\ :sub:`0`\ [7:0] 47 - Y'\ :sub:`0`\ [7:0] 48 - ... 48 - ... 49 - ... 49 - ... 50 - ... 50 - ... 51 - ... 51 - ... 52 - ... 52 - ... 53 - ... 53 - ... 54 54 55 * .. _V4L2-PIX-FMT-IPU3-Y10: 55 * .. _V4L2-PIX-FMT-IPU3-Y10: 56 56 57 - ``V4L2_PIX_FMT_IPU3_Y10`` 57 - ``V4L2_PIX_FMT_IPU3_Y10`` 58 - 'ip3y' 58 - 'ip3y' 59 59 60 - Y'\ :sub:`0`\ [7:0] 60 - Y'\ :sub:`0`\ [7:0] 61 - Y'\ :sub:`1`\ [5:0] Y'\ :sub:`0`\ [9:8 61 - Y'\ :sub:`1`\ [5:0] Y'\ :sub:`0`\ [9:8] 62 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6 62 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6] 63 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4 63 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4] 64 - Y'\ :sub:`3`\ [9:2] 64 - Y'\ :sub:`3`\ [9:2] 65 - ... 65 - ... 66 - ... 66 - ... 67 67 68 * .. _V4L2-PIX-FMT-Y10: 68 * .. _V4L2-PIX-FMT-Y10: 69 69 70 - ``V4L2_PIX_FMT_Y10`` 70 - ``V4L2_PIX_FMT_Y10`` 71 - 'Y10 ' 71 - 'Y10 ' 72 72 73 - Y'\ :sub:`0`\ [7:0] 73 - Y'\ :sub:`0`\ [7:0] 74 - `000000` Y'\ :sub:`0`\ [9:8] 74 - `000000` Y'\ :sub:`0`\ [9:8] 75 - ... 75 - ... 76 - ... 76 - ... 77 - ... 77 - ... 78 - ... 78 - ... 79 - ... 79 - ... 80 80 81 * .. _V4L2-PIX-FMT-Y10BPACK: 81 * .. _V4L2-PIX-FMT-Y10BPACK: 82 82 83 - ``V4L2_PIX_FMT_Y10BPACK`` 83 - ``V4L2_PIX_FMT_Y10BPACK`` 84 - 'Y10B' 84 - 'Y10B' 85 85 86 - Y'\ :sub:`0`\ [9:2] 86 - Y'\ :sub:`0`\ [9:2] 87 - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4 87 - Y'\ :sub:`0`\ [1:0] Y'\ :sub:`1`\ [9:4] 88 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6 88 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6] 89 - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8 89 - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8] 90 - Y'\ :sub:`3`\ [7:0] 90 - Y'\ :sub:`3`\ [7:0] 91 - ... 91 - ... 92 - ... 92 - ... 93 93 94 * .. _V4L2-PIX-FMT-Y10P: 94 * .. _V4L2-PIX-FMT-Y10P: 95 95 96 - ``V4L2_PIX_FMT_Y10P`` 96 - ``V4L2_PIX_FMT_Y10P`` 97 - 'Y10P' 97 - 'Y10P' 98 98 99 - Y'\ :sub:`0`\ [9:2] 99 - Y'\ :sub:`0`\ [9:2] 100 - Y'\ :sub:`1`\ [9:2] 100 - Y'\ :sub:`1`\ [9:2] 101 - Y'\ :sub:`2`\ [9:2] 101 - Y'\ :sub:`2`\ [9:2] 102 - Y'\ :sub:`3`\ [9:2] 102 - Y'\ :sub:`3`\ [9:2] 103 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0 103 - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0] 104 - ... 104 - ... 105 - ... 105 - ... 106 106 107 * .. _V4L2-PIX-FMT-Y12: 107 * .. _V4L2-PIX-FMT-Y12: 108 108 109 - ``V4L2_PIX_FMT_Y12`` 109 - ``V4L2_PIX_FMT_Y12`` 110 - 'Y12 ' 110 - 'Y12 ' 111 111 112 - Y'\ :sub:`0`\ [7:0] 112 - Y'\ :sub:`0`\ [7:0] 113 - `0000` Y'\ :sub:`0`\ [11:8] 113 - `0000` Y'\ :sub:`0`\ [11:8] 114 - ... 114 - ... 115 - ... 115 - ... 116 - ... 116 - ... 117 - ... 117 - ... 118 - ... 118 - ... 119 119 120 * .. _V4L2-PIX-FMT-Y012: 120 * .. _V4L2-PIX-FMT-Y012: 121 121 122 - ``V4L2_PIX_FMT_Y012`` 122 - ``V4L2_PIX_FMT_Y012`` 123 - 'Y012' 123 - 'Y012' 124 124 125 - Y'\ :sub:`0`\ [3:0] `0000` 125 - Y'\ :sub:`0`\ [3:0] `0000` 126 - Y'\ :sub:`0`\ [11:4] 126 - Y'\ :sub:`0`\ [11:4] 127 - ... 127 - ... 128 - ... 128 - ... 129 - ... 129 - ... 130 - ... 130 - ... 131 - ... 131 - ... 132 132 133 * .. _V4L2-PIX-FMT-Y12P: 133 * .. _V4L2-PIX-FMT-Y12P: 134 134 135 - ``V4L2_PIX_FMT_Y12P`` 135 - ``V4L2_PIX_FMT_Y12P`` 136 - 'Y12P' 136 - 'Y12P' 137 137 138 - Y'\ :sub:`0`\ [11:4] 138 - Y'\ :sub:`0`\ [11:4] 139 - Y'\ :sub:`1`\ [11:4] 139 - Y'\ :sub:`1`\ [11:4] 140 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0 140 - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0] 141 - ... 141 - ... 142 - ... 142 - ... 143 - ... 143 - ... 144 - ... 144 - ... 145 145 146 * .. _V4L2-PIX-FMT-Y14: 146 * .. _V4L2-PIX-FMT-Y14: 147 147 148 - ``V4L2_PIX_FMT_Y14`` 148 - ``V4L2_PIX_FMT_Y14`` 149 - 'Y14 ' 149 - 'Y14 ' 150 150 151 - Y'\ :sub:`0`\ [7:0] 151 - Y'\ :sub:`0`\ [7:0] 152 - `00` Y'\ :sub:`0`\ [13:8] 152 - `00` Y'\ :sub:`0`\ [13:8] 153 - ... 153 - ... 154 - ... 154 - ... 155 - ... 155 - ... 156 - ... 156 - ... 157 - ... 157 - ... 158 158 159 * .. _V4L2-PIX-FMT-Y14P: 159 * .. _V4L2-PIX-FMT-Y14P: 160 160 161 - ``V4L2_PIX_FMT_Y14P`` 161 - ``V4L2_PIX_FMT_Y14P`` 162 - 'Y14P' 162 - 'Y14P' 163 163 164 - Y'\ :sub:`0`\ [13:6] 164 - Y'\ :sub:`0`\ [13:6] 165 - Y'\ :sub:`1`\ [13:6] 165 - Y'\ :sub:`1`\ [13:6] 166 - Y'\ :sub:`2`\ [13:6] 166 - Y'\ :sub:`2`\ [13:6] 167 - Y'\ :sub:`3`\ [13:6] 167 - Y'\ :sub:`3`\ [13:6] 168 - Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [5:0 168 - Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [5:0] 169 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [5:2 169 - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [5:2] 170 - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [5:4 170 - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [5:4] 171 171 172 * .. _V4L2-PIX-FMT-Y16: 172 * .. _V4L2-PIX-FMT-Y16: 173 173 174 - ``V4L2_PIX_FMT_Y16`` 174 - ``V4L2_PIX_FMT_Y16`` 175 - 'Y16 ' 175 - 'Y16 ' 176 176 177 - Y'\ :sub:`0`\ [7:0] 177 - Y'\ :sub:`0`\ [7:0] 178 - Y'\ :sub:`0`\ [15:8] 178 - Y'\ :sub:`0`\ [15:8] 179 - ... 179 - ... 180 - ... 180 - ... 181 - ... 181 - ... 182 - ... 182 - ... 183 - ... 183 - ... 184 184 185 * .. _V4L2-PIX-FMT-Y16-BE: 185 * .. _V4L2-PIX-FMT-Y16-BE: 186 186 187 - ``V4L2_PIX_FMT_Y16_BE`` 187 - ``V4L2_PIX_FMT_Y16_BE`` 188 - 'Y16 ' | (1U << 31) 188 - 'Y16 ' | (1U << 31) 189 189 190 - Y'\ :sub:`0`\ [15:8] 190 - Y'\ :sub:`0`\ [15:8] 191 - Y'\ :sub:`0`\ [7:0] 191 - Y'\ :sub:`0`\ [7:0] 192 - ... 192 - ... 193 - ... 193 - ... 194 - ... 194 - ... 195 - ... 195 - ... 196 - ... 196 - ... 197 197 198 .. raw:: latex 198 .. raw:: latex 199 199 200 \normalsize 200 \normalsize 201 201 202 .. note:: 202 .. note:: 203 203 204 For the Y16 and Y16_BE formats, the actual 204 For the Y16 and Y16_BE formats, the actual sampling precision may be lower 205 than 16 bits. For example, 10 bits per pix 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 ar 206 1023. For the IPU3_Y10 format 25 pixels are packed into 32 bytes, which 207 leaves the 6 most significant bits of the 207 leaves the 6 most significant bits of the last byte padded with 0. 208 208 209 For Y012 and Y12 formats, Y012 places its 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 contra 210 padding zeros in the 4 low bits, in contrast to the Y12 format, which has 211 its padding located in the most significan 211 its padding located in the most significant bits of the 16 bit word. 212 212 213 The 'P' variations of the Y10, Y12 and Y14 213 The 'P' variations of the Y10, Y12 and Y14 formats are packed according to 214 the RAW10, RAW12 and RAW14 packing scheme 214 the RAW10, RAW12 and RAW14 packing scheme as defined by the MIPI CSI-2 215 specification. 215 specification.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.