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