Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2.. c:namespace:: V4L
3
4********************************************************************************************************************************************************************************************************************************************************************************
5V4L2_META_FMT_GENERIC_8 ('MET8'), V4L2_META_FMT_GENERIC_CSI2_10 ('MC1A'), V4L2_META_FMT_GENERIC_CSI2_12 ('MC1C'), V4L2_META_FMT_GENERIC_CSI2_14 ('MC1E'), V4L2_META_FMT_GENERIC_CSI2_16 ('MC1G'), V4L2_META_FMT_GENERIC_CSI2_20 ('MC1K'), V4L2_META_FMT_GENERIC_CSI2_24 ('MC1O')
6********************************************************************************************************************************************************************************************************************************************************************************
7
8
9Generic line-based metadata formats
10
11
12Description
13===========
14
15These generic line-based metadata formats define the memory layout of the data
16without defining the format or meaning of the metadata itself.
17
18.. _v4l2-meta-fmt-generic-8:
19
20V4L2_META_FMT_GENERIC_8
21-----------------------
22
23The V4L2_META_FMT_GENERIC_8 format is a plain 8-bit metadata format. This format
24is used on CSI-2 for 8 bits per :term:`Data Unit`.
25
26Additionally it is used for 16 bits per Data Unit when two bytes of metadata are
27packed into one 16-bit Data Unit. Otherwise the 16 bits per pixel dataformat is
28:ref:`V4L2_META_FMT_GENERIC_CSI2_16 <v4l2-meta-fmt-generic-csi2-16>`.
29
30**Byte Order Of V4L2_META_FMT_GENERIC_8.**
31Each cell is one byte. "M" denotes a byte of metadata.
32
33.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|
34
35.. flat-table:: Sample 4x2 Metadata Frame
36 :header-rows: 0
37 :stub-columns: 0
38 :widths: 12 8 8 8 8
39
40 * - start + 0:
41 - M\ :sub:`00`
42 - M\ :sub:`10`
43 - M\ :sub:`20`
44 - M\ :sub:`30`
45 * - start + 4:
46 - M\ :sub:`01`
47 - M\ :sub:`11`
48 - M\ :sub:`21`
49 - M\ :sub:`31`
50
51.. _v4l2-meta-fmt-generic-csi2-10:
52
53V4L2_META_FMT_GENERIC_CSI2_10
54-----------------------------
55
56V4L2_META_FMT_GENERIC_CSI2_10 contains 8-bit generic metadata packed in 10-bit
57Data Units, with one padding byte after every four bytes of metadata. This
58format is typically used by CSI-2 receivers with a source that transmits
59MEDIA_BUS_FMT_META_10 and the CSI-2 receiver writes the received data to memory
60as-is.
61
62The packing of the data follows the MIPI CSI-2 specification and the padding of
63the data is defined in the MIPI CCS specification.
64
65This format is also used in conjunction with 20 bits per :term:`Data Unit`
66formats that pack two bytes of metadata into one Data Unit. Otherwise the
6720 bits per pixel dataformat is :ref:`V4L2_META_FMT_GENERIC_CSI2_20
68<v4l2-meta-fmt-generic-csi2-20>`.
69
70This format is little endian.
71
72**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_10.**
73Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
74
75.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}|
76
77.. flat-table:: Sample 4x2 Metadata Frame
78 :header-rows: 0
79 :stub-columns: 0
80 :widths: 12 8 8 8 8 8
81
82 * - start + 0:
83 - M\ :sub:`00`
84 - M\ :sub:`10`
85 - M\ :sub:`20`
86 - M\ :sub:`30`
87 - x
88 * - start + 5:
89 - M\ :sub:`01`
90 - M\ :sub:`11`
91 - M\ :sub:`21`
92 - M\ :sub:`31`
93 - x
94
95.. _v4l2-meta-fmt-generic-csi2-12:
96
97V4L2_META_FMT_GENERIC_CSI2_12
98-----------------------------
99
100V4L2_META_FMT_GENERIC_CSI2_12 contains 8-bit generic metadata packed in 12-bit
101Data Units, with one padding byte after every two bytes of metadata. This format
102is typically used by CSI-2 receivers with a source that transmits
103MEDIA_BUS_FMT_META_12 and the CSI-2 receiver writes the received data to memory
104as-is.
105
106The packing of the data follows the MIPI CSI-2 specification and the padding of
107the data is defined in the MIPI CCS specification.
108
109This format is also used in conjunction with 24 bits per :term:`Data Unit`
110formats that pack two bytes of metadata into one Data Unit. Otherwise the
11124 bits per pixel dataformat is :ref:`V4L2_META_FMT_GENERIC_CSI2_24
112<v4l2-meta-fmt-generic-csi2-24>`.
113
114This format is little endian.
115
116**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_12.**
117Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
118
119.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}|
120
121.. flat-table:: Sample 4x2 Metadata Frame
122 :header-rows: 0
123 :stub-columns: 0
124 :widths: 12 8 8 8 8 8 8
125
126 * - start + 0:
127 - M\ :sub:`00`
128 - M\ :sub:`10`
129 - x
130 - M\ :sub:`20`
131 - M\ :sub:`30`
132 - x
133 * - start + 6:
134 - M\ :sub:`01`
135 - M\ :sub:`11`
136 - x
137 - M\ :sub:`21`
138 - M\ :sub:`31`
139 - x
140
141.. _v4l2-meta-fmt-generic-csi2-14:
142
143V4L2_META_FMT_GENERIC_CSI2_14
144-----------------------------
145
146V4L2_META_FMT_GENERIC_CSI2_14 contains 8-bit generic metadata packed in 14-bit
147Data Units, with three padding bytes after every four bytes of metadata. This
148format is typically used by CSI-2 receivers with a source that transmits
149MEDIA_BUS_FMT_META_14 and the CSI-2 receiver writes the received data to memory
150as-is.
151
152The packing of the data follows the MIPI CSI-2 specification and the padding of
153the data is defined in the MIPI CCS specification.
154
155This format is little endian.
156
157**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_14.**
158Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
159
160.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}|p{1.8cm}|p{1.8cm}|
161
162.. flat-table:: Sample 4x2 Metadata Frame
163 :header-rows: 0
164 :stub-columns: 0
165 :widths: 12 8 8 8 8 8 8 8
166
167 * - start + 0:
168 - M\ :sub:`00`
169 - M\ :sub:`10`
170 - M\ :sub:`20`
171 - M\ :sub:`30`
172 - x
173 - x
174 - x
175 * - start + 7:
176 - M\ :sub:`01`
177 - M\ :sub:`11`
178 - M\ :sub:`21`
179 - M\ :sub:`31`
180 - x
181 - x
182 - x
183
184.. _v4l2-meta-fmt-generic-csi2-16:
185
186V4L2_META_FMT_GENERIC_CSI2_16
187-----------------------------
188
189V4L2_META_FMT_GENERIC_CSI2_16 contains 8-bit generic metadata packed in 16-bit
190Data Units, with one padding byte after every byte of metadata. This format is
191typically used by CSI-2 receivers with a source that transmits
192MEDIA_BUS_FMT_META_16 and the CSI-2 receiver writes the received data to memory
193as-is.
194
195The packing of the data follows the MIPI CSI-2 specification and the padding of
196the data is defined in the MIPI CCS specification.
197
198Some devices support more efficient packing of metadata in conjunction with
19916-bit image data. In that case the dataformat is
200:ref:`V4L2_META_FMT_GENERIC_8 <v4l2-meta-fmt-generic-8>`.
201
202This format is little endian.
203
204**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_16.**
205Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
206
207.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|
208
209.. flat-table:: Sample 4x2 Metadata Frame
210 :header-rows: 0
211 :stub-columns: 0
212 :widths: 12 8 8 8 8 8 8 8 8
213
214 * - start + 0:
215 - M\ :sub:`00`
216 - x
217 - M\ :sub:`10`
218 - x
219 - M\ :sub:`20`
220 - x
221 - M\ :sub:`30`
222 - x
223 * - start + 8:
224 - M\ :sub:`01`
225 - x
226 - M\ :sub:`11`
227 - x
228 - M\ :sub:`21`
229 - x
230 - M\ :sub:`31`
231 - x
232
233.. _v4l2-meta-fmt-generic-csi2-20:
234
235V4L2_META_FMT_GENERIC_CSI2_20
236-----------------------------
237
238V4L2_META_FMT_GENERIC_CSI2_20 contains 8-bit generic metadata packed in 20-bit
239Data Units, with alternating one or two padding bytes after every byte of
240metadata. This format is typically used by CSI-2 receivers with a source that
241transmits MEDIA_BUS_FMT_META_20 and the CSI-2 receiver writes the received data
242to memory as-is.
243
244The packing of the data follows the MIPI CSI-2 specification and the padding of
245the data is defined in the MIPI CCS specification.
246
247Some devices support more efficient packing of metadata in conjunction with
24816-bit image data. In that case the dataformat is
249:ref:`V4L2_META_FMT_GENERIC_CSI2_10 <v4l2-meta-fmt-generic-csi2-10>`.
250
251This format is little endian.
252
253**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_20.**
254Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
255
256.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.8cm}
257
258.. flat-table:: Sample 4x2 Metadata Frame
259 :header-rows: 0
260 :stub-columns: 0
261 :widths: 12 8 8 8 8 8 8 8 8 8 8
262
263 * - start + 0:
264 - M\ :sub:`00`
265 - x
266 - M\ :sub:`10`
267 - x
268 - x
269 - M\ :sub:`20`
270 - x
271 - M\ :sub:`30`
272 - x
273 - x
274 * - start + 10:
275 - M\ :sub:`01`
276 - x
277 - M\ :sub:`11`
278 - x
279 - x
280 - M\ :sub:`21`
281 - x
282 - M\ :sub:`31`
283 - x
284 - x
285
286.. _v4l2-meta-fmt-generic-csi2-24:
287
288V4L2_META_FMT_GENERIC_CSI2_24
289-----------------------------
290
291V4L2_META_FMT_GENERIC_CSI2_24 contains 8-bit generic metadata packed in 24-bit
292Data Units, with two padding bytes after every byte of metadata. This format is
293typically used by CSI-2 receivers with a source that transmits
294MEDIA_BUS_FMT_META_24 and the CSI-2 receiver writes the received data to memory
295as-is.
296
297The packing of the data follows the MIPI CSI-2 specification and the padding of
298the data is defined in the MIPI CCS specification.
299
300Some devices support more efficient packing of metadata in conjunction with
30116-bit image data. In that case the dataformat is
302:ref:`V4L2_META_FMT_GENERIC_CSI2_12 <v4l2-meta-fmt-generic-csi2-12>`.
303
304This format is little endian.
305
306**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_24.**
307Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
308
309.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{.8cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{.8cm}|
310
311.. flat-table:: Sample 4x2 Metadata Frame
312 :header-rows: 0
313 :stub-columns: 0
314 :widths: 12 8 8 8 8 8 8 8 8 8 8 8 8
315
316 * - start + 0:
317 - M\ :sub:`00`
318 - x
319 - x
320 - M\ :sub:`10`
321 - x
322 - x
323 - M\ :sub:`20`
324 - x
325 - x
326 - M\ :sub:`30`
327 - x
328 - x
329 * - start + 12:
330 - M\ :sub:`01`
331 - x
332 - x
333 - M\ :sub:`11`
334 - x
335 - x
336 - M\ :sub:`21`
337 - x
338 - x
339 - M\ :sub:`31`
340 - x
341 - x