0001 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
0002
0003 .. _v4l2-pix-fmt-ipu3-sbggr10:
0004 .. _v4l2-pix-fmt-ipu3-sgbrg10:
0005 .. _v4l2-pix-fmt-ipu3-sgrbg10:
0006 .. _v4l2-pix-fmt-ipu3-srggb10:
0007
0008 **********************************************************************************************************************************************
0009 V4L2_PIX_FMT_IPU3_SBGGR10 ('ip3b'), V4L2_PIX_FMT_IPU3_SGBRG10 ('ip3g'), V4L2_PIX_FMT_IPU3_SGRBG10 ('ip3G'), V4L2_PIX_FMT_IPU3_SRGGB10 ('ip3r')
0010 **********************************************************************************************************************************************
0011
0012 ====================
0013 10-bit Bayer formats
0014 ====================
0015
0016 Description
0017 ===========
0018
0019 These four pixel formats are used by Intel IPU3 driver, they are raw
0020 sRGB / Bayer formats with 10 bits per sample with every 25 pixels packed
0021 to 32 bytes leaving 6 most significant bits padding in the last byte.
0022 The format is little endian.
0023
0024 In other respects this format is similar to :ref:`V4L2-PIX-FMT-SRGGB10`.
0025 Below is an example of a small image in V4L2_PIX_FMT_IPU3_SBGGR10 format.
0026
0027 **Byte Order.**
0028 Each cell is one byte.
0029
0030 .. raw:: latex
0031
0032 \small
0033
0034 .. tabularcolumns:: |p{0.8cm}|p{3.3cm}|p{3.3cm}|p{3.3cm}|p{3.3cm}|
0035
0036 .. flat-table::
0037
0038 * - start + 0:
0039 - B\ :sub:`0000low`
0040 - G\ :sub:`0001low`\ (bits 7--2)
0041
0042 B\ :sub:`0000high`\ (bits 1--0)
0043 - B\ :sub:`0002low`\ (bits 7--4)
0044
0045 G\ :sub:`0001high`\ (bits 3--0)
0046 - G\ :sub:`0003low`\ (bits 7--6)
0047
0048 B\ :sub:`0002high`\ (bits 5--0)
0049 * - start + 4:
0050 - G\ :sub:`0003high`
0051 - B\ :sub:`0004low`
0052 - G\ :sub:`0005low`\ (bits 7--2)
0053
0054 B\ :sub:`0004high`\ (bits 1--0)
0055 - B\ :sub:`0006low`\ (bits 7--4)
0056
0057 G\ :sub:`0005high`\ (bits 3--0)
0058 * - start + 8:
0059 - G\ :sub:`0007low`\ (bits 7--6)
0060
0061 B\ :sub:`0006high`\ (bits 5--0)
0062 - G\ :sub:`0007high`
0063 - B\ :sub:`0008low`
0064 - G\ :sub:`0009low`\ (bits 7--2)
0065
0066 B\ :sub:`0008high`\ (bits 1--0)
0067 * - start + 12:
0068 - B\ :sub:`0010low`\ (bits 7--4)
0069
0070 G\ :sub:`0009high`\ (bits 3--0)
0071 - G\ :sub:`0011low`\ (bits 7--6)
0072
0073 B\ :sub:`0010high`\ (bits 5--0)
0074 - G\ :sub:`0011high`
0075 - B\ :sub:`0012low`
0076 * - start + 16:
0077 - G\ :sub:`0013low`\ (bits 7--2)
0078
0079 B\ :sub:`0012high`\ (bits 1--0)
0080 - B\ :sub:`0014low`\ (bits 7--4)
0081
0082 G\ :sub:`0013high`\ (bits 3--0)
0083 - G\ :sub:`0015low`\ (bits 7--6)
0084
0085 B\ :sub:`0014high`\ (bits 5--0)
0086 - G\ :sub:`0015high`
0087 * - start + 20
0088 - B\ :sub:`0016low`
0089 - G\ :sub:`0017low`\ (bits 7--2)
0090
0091 B\ :sub:`0016high`\ (bits 1--0)
0092 - B\ :sub:`0018low`\ (bits 7--4)
0093
0094 G\ :sub:`0017high`\ (bits 3--0)
0095 - G\ :sub:`0019low`\ (bits 7--6)
0096
0097 B\ :sub:`0018high`\ (bits 5--0)
0098 * - start + 24:
0099 - G\ :sub:`0019high`
0100 - B\ :sub:`0020low`
0101 - G\ :sub:`0021low`\ (bits 7--2)
0102
0103 B\ :sub:`0020high`\ (bits 1--0)
0104 - B\ :sub:`0022low`\ (bits 7--4)
0105
0106 G\ :sub:`0021high`\ (bits 3--0)
0107 * - start + 28:
0108 - G\ :sub:`0023low`\ (bits 7--6)
0109
0110 B\ :sub:`0022high`\ (bits 5--0)
0111 - G\ :sub:`0023high`
0112 - B\ :sub:`0024low`
0113 - B\ :sub:`0024high`\ (bits 1--0)
0114 * - start + 32:
0115 - G\ :sub:`0100low`
0116 - R\ :sub:`0101low`\ (bits 7--2)
0117
0118 G\ :sub:`0100high`\ (bits 1--0)
0119 - G\ :sub:`0102low`\ (bits 7--4)
0120
0121 R\ :sub:`0101high`\ (bits 3--0)
0122 - R\ :sub:`0103low`\ (bits 7--6)
0123
0124 G\ :sub:`0102high`\ (bits 5--0)
0125 * - start + 36:
0126 - R\ :sub:`0103high`
0127 - G\ :sub:`0104low`
0128 - R\ :sub:`0105low`\ (bits 7--2)
0129
0130 G\ :sub:`0104high`\ (bits 1--0)
0131 - G\ :sub:`0106low`\ (bits 7--4)
0132
0133 R\ :sub:`0105high`\ (bits 3--0)
0134 * - start + 40:
0135 - R\ :sub:`0107low`\ (bits 7--6)
0136
0137 G\ :sub:`0106high`\ (bits 5--0)
0138 - R\ :sub:`0107high`
0139 - G\ :sub:`0108low`
0140 - R\ :sub:`0109low`\ (bits 7--2)
0141
0142 G\ :sub:`0108high`\ (bits 1--0)
0143 * - start + 44:
0144 - G\ :sub:`0110low`\ (bits 7--4)
0145
0146 R\ :sub:`0109high`\ (bits 3--0)
0147 - R\ :sub:`0111low`\ (bits 7--6)
0148
0149 G\ :sub:`0110high`\ (bits 5--0)
0150 - R\ :sub:`0111high`
0151 - G\ :sub:`0112low`
0152 * - start + 48:
0153 - R\ :sub:`0113low`\ (bits 7--2)
0154
0155 G\ :sub:`0112high`\ (bits 1--0)
0156 - G\ :sub:`0114low`\ (bits 7--4)
0157
0158 R\ :sub:`0113high`\ (bits 3--0)
0159 - R\ :sub:`0115low`\ (bits 7--6)
0160
0161 G\ :sub:`0114high`\ (bits 5--0)
0162 - R\ :sub:`0115high`
0163 * - start + 52:
0164 - G\ :sub:`0116low`
0165 - R\ :sub:`0117low`\ (bits 7--2)
0166
0167 G\ :sub:`0116high`\ (bits 1--0)
0168 - G\ :sub:`0118low`\ (bits 7--4)
0169
0170 R\ :sub:`0117high`\ (bits 3--0)
0171 - R\ :sub:`0119low`\ (bits 7--6)
0172
0173 G\ :sub:`0118high`\ (bits 5--0)
0174 * - start + 56:
0175 - R\ :sub:`0119high`
0176 - G\ :sub:`0120low`
0177 - R\ :sub:`0121low`\ (bits 7--2)
0178
0179 G\ :sub:`0120high`\ (bits 1--0)
0180 - G\ :sub:`0122low`\ (bits 7--4)
0181
0182 R\ :sub:`0121high`\ (bits 3--0)
0183 * - start + 60:
0184 - R\ :sub:`0123low`\ (bits 7--6)
0185
0186 G\ :sub:`0122high`\ (bits 5--0)
0187 - R\ :sub:`0123high`
0188 - G\ :sub:`0124low`
0189 - G\ :sub:`0124high`\ (bits 1--0)
0190 * - start + 64:
0191 - B\ :sub:`0200low`
0192 - G\ :sub:`0201low`\ (bits 7--2)
0193
0194 B\ :sub:`0200high`\ (bits 1--0)
0195 - B\ :sub:`0202low`\ (bits 7--4)
0196
0197 G\ :sub:`0201high`\ (bits 3--0)
0198 - G\ :sub:`0203low`\ (bits 7--6)
0199
0200 B\ :sub:`0202high`\ (bits 5--0)
0201 * - start + 68:
0202 - G\ :sub:`0203high`
0203 - B\ :sub:`0204low`
0204 - G\ :sub:`0205low`\ (bits 7--2)
0205
0206 B\ :sub:`0204high`\ (bits 1--0)
0207 - B\ :sub:`0206low`\ (bits 7--4)
0208
0209 G\ :sub:`0205high`\ (bits 3--0)
0210 * - start + 72:
0211 - G\ :sub:`0207low`\ (bits 7--6)
0212
0213 B\ :sub:`0206high`\ (bits 5--0)
0214 - G\ :sub:`0207high`
0215 - B\ :sub:`0208low`
0216 - G\ :sub:`0209low`\ (bits 7--2)
0217
0218 B\ :sub:`0208high`\ (bits 1--0)
0219 * - start + 76:
0220 - B\ :sub:`0210low`\ (bits 7--4)
0221
0222 G\ :sub:`0209high`\ (bits 3--0)
0223 - G\ :sub:`0211low`\ (bits 7--6)
0224
0225 B\ :sub:`0210high`\ (bits 5--0)
0226 - G\ :sub:`0211high`
0227 - B\ :sub:`0212low`
0228 * - start + 80:
0229 - G\ :sub:`0213low`\ (bits 7--2)
0230
0231 B\ :sub:`0212high`\ (bits 1--0)
0232 - B\ :sub:`0214low`\ (bits 7--4)
0233
0234 G\ :sub:`0213high`\ (bits 3--0)
0235 - G\ :sub:`0215low`\ (bits 7--6)
0236
0237 B\ :sub:`0214high`\ (bits 5--0)
0238 - G\ :sub:`0215high`
0239 * - start + 84:
0240 - B\ :sub:`0216low`
0241 - G\ :sub:`0217low`\ (bits 7--2)
0242
0243 B\ :sub:`0216high`\ (bits 1--0)
0244 - B\ :sub:`0218low`\ (bits 7--4)
0245
0246 G\ :sub:`0217high`\ (bits 3--0)
0247 - G\ :sub:`0219low`\ (bits 7--6)
0248
0249 B\ :sub:`0218high`\ (bits 5--0)
0250 * - start + 88:
0251 - G\ :sub:`0219high`
0252 - B\ :sub:`0220low`
0253 - G\ :sub:`0221low`\ (bits 7--2)
0254
0255 B\ :sub:`0220high`\ (bits 1--0)
0256 - B\ :sub:`0222low`\ (bits 7--4)
0257
0258 G\ :sub:`0221high`\ (bits 3--0)
0259 * - start + 92:
0260 - G\ :sub:`0223low`\ (bits 7--6)
0261
0262 B\ :sub:`0222high`\ (bits 5--0)
0263 - G\ :sub:`0223high`
0264 - B\ :sub:`0224low`
0265 - B\ :sub:`0224high`\ (bits 1--0)
0266 * - start + 96:
0267 - G\ :sub:`0300low`
0268 - R\ :sub:`0301low`\ (bits 7--2)
0269
0270 G\ :sub:`0300high`\ (bits 1--0)
0271 - G\ :sub:`0302low`\ (bits 7--4)
0272
0273 R\ :sub:`0301high`\ (bits 3--0)
0274 - R\ :sub:`0303low`\ (bits 7--6)
0275
0276 G\ :sub:`0302high`\ (bits 5--0)
0277 * - start + 100:
0278 - R\ :sub:`0303high`
0279 - G\ :sub:`0304low`
0280 - R\ :sub:`0305low`\ (bits 7--2)
0281
0282 G\ :sub:`0304high`\ (bits 1--0)
0283 - G\ :sub:`0306low`\ (bits 7--4)
0284
0285 R\ :sub:`0305high`\ (bits 3--0)
0286 * - start + 104:
0287 - R\ :sub:`0307low`\ (bits 7--6)
0288
0289 G\ :sub:`0306high`\ (bits 5--0)
0290 - R\ :sub:`0307high`
0291 - G\ :sub:`0308low`
0292 - R\ :sub:`0309low`\ (bits 7--2)
0293
0294 G\ :sub:`0308high`\ (bits 1--0)
0295 * - start + 108:
0296 - G\ :sub:`0310low`\ (bits 7--4)
0297
0298 R\ :sub:`0309high`\ (bits 3--0)
0299 - R\ :sub:`0311low`\ (bits 7--6)
0300
0301 G\ :sub:`0310high`\ (bits 5--0)
0302 - R\ :sub:`0311high`
0303 - G\ :sub:`0312low`
0304 * - start + 112:
0305 - R\ :sub:`0313low`\ (bits 7--2)
0306
0307 G\ :sub:`0312high`\ (bits 1--0)
0308 - G\ :sub:`0314low`\ (bits 7--4)
0309
0310 R\ :sub:`0313high`\ (bits 3--0)
0311 - R\ :sub:`0315low`\ (bits 7--6)
0312
0313 G\ :sub:`0314high`\ (bits 5--0)
0314 - R\ :sub:`0315high`
0315 * - start + 116:
0316 - G\ :sub:`0316low`
0317 - R\ :sub:`0317low`\ (bits 7--2)
0318
0319 G\ :sub:`0316high`\ (bits 1--0)
0320 - G\ :sub:`0318low`\ (bits 7--4)
0321
0322 R\ :sub:`0317high`\ (bits 3--0)
0323 - R\ :sub:`0319low`\ (bits 7--6)
0324
0325 G\ :sub:`0318high`\ (bits 5--0)
0326 * - start + 120:
0327 - R\ :sub:`0319high`
0328 - G\ :sub:`0320low`
0329 - R\ :sub:`0321low`\ (bits 7--2)
0330
0331 G\ :sub:`0320high`\ (bits 1--0)
0332 - G\ :sub:`0322low`\ (bits 7--4)
0333
0334 R\ :sub:`0321high`\ (bits 3--0)
0335 * - start + 124:
0336 - R\ :sub:`0323low`\ (bits 7--6)
0337
0338 G\ :sub:`0322high`\ (bits 5--0)
0339 - R\ :sub:`0323high`
0340 - G\ :sub:`0324low`
0341 - G\ :sub:`0324high`\ (bits 1--0)
0342
0343 .. raw:: latex
0344
0345 \normalsize