1.. Permission is granted to copy, distribute and/or modify this 2.. document under the terms of the GNU Free Documentation License, 3.. Version 1.1 or any later version published by the Free Software 4.. Foundation, with no Invariant Sections, no Front-Cover Texts 5.. and no Back-Cover Texts. A copy of the license is included at 6.. Documentation/userspace-api/media/fdl-appendix.rst. 7.. 8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections 9 10.. _v4l2-pix-fmt-ipu3-sbggr10: 11.. _v4l2-pix-fmt-ipu3-sgbrg10: 12.. _v4l2-pix-fmt-ipu3-sgrbg10: 13.. _v4l2-pix-fmt-ipu3-srggb10: 14 15********************************************************************************************************************************************** 16V4L2_PIX_FMT_IPU3_SBGGR10 ('ip3b'), V4L2_PIX_FMT_IPU3_SGBRG10 ('ip3g'), V4L2_PIX_FMT_IPU3_SGRBG10 ('ip3G'), V4L2_PIX_FMT_IPU3_SRGGB10 ('ip3r') 17********************************************************************************************************************************************** 18 1910-bit Bayer formats 20 21Description 22=========== 23 24These four pixel formats are used by Intel IPU3 driver, they are raw 25sRGB / Bayer formats with 10 bits per sample with every 25 pixels packed 26to 32 bytes leaving 6 most significant bits padding in the last byte. 27The format is little endian. 28 29In other respects this format is similar to :ref:`V4L2-PIX-FMT-SRGGB10`. 30Below is an example of a small image in V4L2_PIX_FMT_IPU3_SBGGR10 format. 31 32**Byte Order.** 33Each cell is one byte. 34 35.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|p{4.0cm}|p{4.0cm}| 36 37.. flat-table:: 38 39 * - start + 0: 40 - B\ :sub:`0000low` 41 - G\ :sub:`0001low`\ (bits 7--2) 42 43 B\ :sub:`0000high`\ (bits 1--0) 44 - B\ :sub:`0002low`\ (bits 7--4) 45 46 G\ :sub:`0001high`\ (bits 3--0) 47 - G\ :sub:`0003low`\ (bits 7--6) 48 49 B\ :sub:`0002high`\ (bits 5--0) 50 * - start + 4: 51 - G\ :sub:`0003high` 52 - B\ :sub:`0004low` 53 - G\ :sub:`0005low`\ (bits 7--2) 54 55 B\ :sub:`0004high`\ (bits 1--0) 56 - B\ :sub:`0006low`\ (bits 7--4) 57 58 G\ :sub:`0005high`\ (bits 3--0) 59 * - start + 8: 60 - G\ :sub:`0007low`\ (bits 7--6) 61 62 B\ :sub:`0006high`\ (bits 5--0) 63 - G\ :sub:`0007high` 64 - B\ :sub:`0008low` 65 - G\ :sub:`0009low`\ (bits 7--2) 66 67 B\ :sub:`0008high`\ (bits 1--0) 68 * - start + 12: 69 - B\ :sub:`0010low`\ (bits 7--4) 70 71 G\ :sub:`0009high`\ (bits 3--0) 72 - G\ :sub:`0011low`\ (bits 7--6) 73 74 B\ :sub:`0010high`\ (bits 5--0) 75 - G\ :sub:`0011high` 76 - B\ :sub:`0012low` 77 * - start + 16: 78 - G\ :sub:`0013low`\ (bits 7--2) 79 80 B\ :sub:`0012high`\ (bits 1--0) 81 - B\ :sub:`0014low`\ (bits 7--4) 82 83 G\ :sub:`0013high`\ (bits 3--0) 84 - G\ :sub:`0015low`\ (bits 7--6) 85 86 B\ :sub:`0014high`\ (bits 5--0) 87 - G\ :sub:`0015high` 88 * - start + 20 89 - B\ :sub:`0016low` 90 - G\ :sub:`0017low`\ (bits 7--2) 91 92 B\ :sub:`0016high`\ (bits 1--0) 93 - B\ :sub:`0018low`\ (bits 7--4) 94 95 G\ :sub:`0017high`\ (bits 3--0) 96 - G\ :sub:`0019low`\ (bits 7--6) 97 98 B\ :sub:`0018high`\ (bits 5--0) 99 * - start + 24: 100 - G\ :sub:`0019high` 101 - B\ :sub:`0020low` 102 - G\ :sub:`0021low`\ (bits 7--2) 103 104 B\ :sub:`0020high`\ (bits 1--0) 105 - B\ :sub:`0022low`\ (bits 7--4) 106 107 G\ :sub:`0021high`\ (bits 3--0) 108 * - start + 28: 109 - G\ :sub:`0023low`\ (bits 7--6) 110 111 B\ :sub:`0022high`\ (bits 5--0) 112 - G\ :sub:`0023high` 113 - B\ :sub:`0024low` 114 - B\ :sub:`0024high`\ (bits 1--0) 115 * - start + 32: 116 - G\ :sub:`0100low` 117 - R\ :sub:`0101low`\ (bits 7--2) 118 119 G\ :sub:`0100high`\ (bits 1--0) 120 - G\ :sub:`0102low`\ (bits 7--4) 121 122 R\ :sub:`0101high`\ (bits 3--0) 123 - R\ :sub:`0103low`\ (bits 7--6) 124 125 G\ :sub:`0102high`\ (bits 5--0) 126 * - start + 36: 127 - R\ :sub:`0103high` 128 - G\ :sub:`0104low` 129 - R\ :sub:`0105low`\ (bits 7--2) 130 131 G\ :sub:`0104high`\ (bits 1--0) 132 - G\ :sub:`0106low`\ (bits 7--4) 133 134 R\ :sub:`0105high`\ (bits 3--0) 135 * - start + 40: 136 - R\ :sub:`0107low`\ (bits 7--6) 137 138 G\ :sub:`0106high`\ (bits 5--0) 139 - R\ :sub:`0107high` 140 - G\ :sub:`0108low` 141 - R\ :sub:`0109low`\ (bits 7--2) 142 143 G\ :sub:`0108high`\ (bits 1--0) 144 * - start + 44: 145 - G\ :sub:`0110low`\ (bits 7--4) 146 147 R\ :sub:`0109high`\ (bits 3--0) 148 - R\ :sub:`0111low`\ (bits 7--6) 149 150 G\ :sub:`0110high`\ (bits 5--0) 151 - R\ :sub:`0111high` 152 - G\ :sub:`0112low` 153 * - start + 48: 154 - R\ :sub:`0113low`\ (bits 7--2) 155 156 G\ :sub:`0112high`\ (bits 1--0) 157 - G\ :sub:`0114low`\ (bits 7--4) 158 159 R\ :sub:`0113high`\ (bits 3--0) 160 - R\ :sub:`0115low`\ (bits 7--6) 161 162 G\ :sub:`0114high`\ (bits 5--0) 163 - R\ :sub:`0115high` 164 * - start + 52: 165 - G\ :sub:`0116low` 166 - R\ :sub:`0117low`\ (bits 7--2) 167 168 G\ :sub:`0116high`\ (bits 1--0) 169 - G\ :sub:`0118low`\ (bits 7--4) 170 171 R\ :sub:`0117high`\ (bits 3--0) 172 - R\ :sub:`0119low`\ (bits 7--6) 173 174 G\ :sub:`0118high`\ (bits 5--0) 175 * - start + 56: 176 - R\ :sub:`0119high` 177 - G\ :sub:`0120low` 178 - R\ :sub:`0121low`\ (bits 7--2) 179 180 G\ :sub:`0120high`\ (bits 1--0) 181 - G\ :sub:`0122low`\ (bits 7--4) 182 183 R\ :sub:`0121high`\ (bits 3--0) 184 * - start + 60: 185 - R\ :sub:`0123low`\ (bits 7--6) 186 187 G\ :sub:`0122high`\ (bits 5--0) 188 - R\ :sub:`0123high` 189 - G\ :sub:`0124low` 190 - G\ :sub:`0124high`\ (bits 1--0) 191 * - start + 64: 192 - B\ :sub:`0200low` 193 - G\ :sub:`0201low`\ (bits 7--2) 194 195 B\ :sub:`0200high`\ (bits 1--0) 196 - B\ :sub:`0202low`\ (bits 7--4) 197 198 G\ :sub:`0201high`\ (bits 3--0) 199 - G\ :sub:`0203low`\ (bits 7--6) 200 201 B\ :sub:`0202high`\ (bits 5--0) 202 * - start + 68: 203 - G\ :sub:`0203high` 204 - B\ :sub:`0204low` 205 - G\ :sub:`0205low`\ (bits 7--2) 206 207 B\ :sub:`0204high`\ (bits 1--0) 208 - B\ :sub:`0206low`\ (bits 7--4) 209 210 G\ :sub:`0205high`\ (bits 3--0) 211 * - start + 72: 212 - G\ :sub:`0207low`\ (bits 7--6) 213 214 B\ :sub:`0206high`\ (bits 5--0) 215 - G\ :sub:`0207high` 216 - B\ :sub:`0208low` 217 - G\ :sub:`0209low`\ (bits 7--2) 218 219 B\ :sub:`0208high`\ (bits 1--0) 220 * - start + 76: 221 - B\ :sub:`0210low`\ (bits 7--4) 222 223 G\ :sub:`0209high`\ (bits 3--0) 224 - G\ :sub:`0211low`\ (bits 7--6) 225 226 B\ :sub:`0210high`\ (bits 5--0) 227 - G\ :sub:`0211high` 228 - B\ :sub:`0212low` 229 * - start + 80: 230 - G\ :sub:`0213low`\ (bits 7--2) 231 232 B\ :sub:`0212high`\ (bits 1--0) 233 - B\ :sub:`0214low`\ (bits 7--4) 234 235 G\ :sub:`0213high`\ (bits 3--0) 236 - G\ :sub:`0215low`\ (bits 7--6) 237 238 B\ :sub:`0214high`\ (bits 5--0) 239 - G\ :sub:`0215high` 240 * - start + 84: 241 - B\ :sub:`0216low` 242 - G\ :sub:`0217low`\ (bits 7--2) 243 244 B\ :sub:`0216high`\ (bits 1--0) 245 - B\ :sub:`0218low`\ (bits 7--4) 246 247 G\ :sub:`0217high`\ (bits 3--0) 248 - G\ :sub:`0219low`\ (bits 7--6) 249 250 B\ :sub:`0218high`\ (bits 5--0) 251 * - start + 88: 252 - G\ :sub:`0219high` 253 - B\ :sub:`0220low` 254 - G\ :sub:`0221low`\ (bits 7--2) 255 256 B\ :sub:`0220high`\ (bits 1--0) 257 - B\ :sub:`0222low`\ (bits 7--4) 258 259 G\ :sub:`0221high`\ (bits 3--0) 260 * - start + 92: 261 - G\ :sub:`0223low`\ (bits 7--6) 262 263 B\ :sub:`0222high`\ (bits 5--0) 264 - G\ :sub:`0223high` 265 - B\ :sub:`0224low` 266 - B\ :sub:`0224high`\ (bits 1--0) 267 * - start + 96: 268 - G\ :sub:`0300low` 269 - R\ :sub:`0301low`\ (bits 7--2) 270 271 G\ :sub:`0300high`\ (bits 1--0) 272 - G\ :sub:`0302low`\ (bits 7--4) 273 274 R\ :sub:`0301high`\ (bits 3--0) 275 - R\ :sub:`0303low`\ (bits 7--6) 276 277 G\ :sub:`0302high`\ (bits 5--0) 278 * - start + 100: 279 - R\ :sub:`0303high` 280 - G\ :sub:`0304low` 281 - R\ :sub:`0305low`\ (bits 7--2) 282 283 G\ :sub:`0304high`\ (bits 1--0) 284 - G\ :sub:`0306low`\ (bits 7--4) 285 286 R\ :sub:`0305high`\ (bits 3--0) 287 * - start + 104: 288 - R\ :sub:`0307low`\ (bits 7--6) 289 290 G\ :sub:`0306high`\ (bits 5--0) 291 - R\ :sub:`0307high` 292 - G\ :sub:`0308low` 293 - R\ :sub:`0309low`\ (bits 7--2) 294 295 G\ :sub:`0308high`\ (bits 1--0) 296 * - start + 108: 297 - G\ :sub:`0310low`\ (bits 7--4) 298 299 R\ :sub:`0309high`\ (bits 3--0) 300 - R\ :sub:`0311low`\ (bits 7--6) 301 302 G\ :sub:`0310high`\ (bits 5--0) 303 - R\ :sub:`0311high` 304 - G\ :sub:`0312low` 305 * - start + 112: 306 - R\ :sub:`0313low`\ (bits 7--2) 307 308 G\ :sub:`0312high`\ (bits 1--0) 309 - G\ :sub:`0314low`\ (bits 7--4) 310 311 R\ :sub:`0313high`\ (bits 3--0) 312 - R\ :sub:`0315low`\ (bits 7--6) 313 314 G\ :sub:`0314high`\ (bits 5--0) 315 - R\ :sub:`0315high` 316 * - start + 116: 317 - G\ :sub:`0316low` 318 - R\ :sub:`0317low`\ (bits 7--2) 319 320 G\ :sub:`0316high`\ (bits 1--0) 321 - G\ :sub:`0318low`\ (bits 7--4) 322 323 R\ :sub:`0317high`\ (bits 3--0) 324 - R\ :sub:`0319low`\ (bits 7--6) 325 326 G\ :sub:`0318high`\ (bits 5--0) 327 * - start + 120: 328 - R\ :sub:`0319high` 329 - G\ :sub:`0320low` 330 - R\ :sub:`0321low`\ (bits 7--2) 331 332 G\ :sub:`0320high`\ (bits 1--0) 333 - G\ :sub:`0322low`\ (bits 7--4) 334 335 R\ :sub:`0321high`\ (bits 3--0) 336 * - start + 124: 337 - R\ :sub:`0323low`\ (bits 7--6) 338 339 G\ :sub:`0322high`\ (bits 5--0) 340 - R\ :sub:`0323high` 341 - G\ :sub:`0324low` 342 - G\ :sub:`0324high`\ (bits 1--0) 343