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