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