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