341 lines
10 KiB
ReStructuredText
341 lines
10 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
|
|
|
|
********************************************************************************************************************************************************************************************************************************************************************************
|
|
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')
|
|
********************************************************************************************************************************************************************************************************************************************************************************
|
|
|
|
|
|
Generic line-based metadata formats
|
|
|
|
|
|
Description
|
|
===========
|
|
|
|
These generic line-based metadata formats define the memory layout of the data
|
|
without defining the format or meaning of the metadata itself.
|
|
|
|
.. _v4l2-meta-fmt-generic-8:
|
|
|
|
V4L2_META_FMT_GENERIC_8
|
|
-----------------------
|
|
|
|
The V4L2_META_FMT_GENERIC_8 format is a plain 8-bit metadata format. This format
|
|
is used on CSI-2 for 8 bits per :term:`Data Unit`.
|
|
|
|
Additionally it is used for 16 bits per Data Unit when two bytes of metadata are
|
|
packed into one 16-bit Data Unit. Otherwise the 16 bits per pixel dataformat is
|
|
:ref:`V4L2_META_FMT_GENERIC_CSI2_16 <v4l2-meta-fmt-generic-csi2-16>`.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_8.**
|
|
Each cell is one byte. "M" denotes a byte of metadata.
|
|
|
|
.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- M\ :sub:`10`
|
|
- M\ :sub:`20`
|
|
- M\ :sub:`30`
|
|
* - start + 4:
|
|
- M\ :sub:`01`
|
|
- M\ :sub:`11`
|
|
- M\ :sub:`21`
|
|
- M\ :sub:`31`
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-10:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_10
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_10 contains 8-bit generic metadata packed in 10-bit
|
|
Data Units, with one padding byte after every four bytes of metadata. This
|
|
format is typically used by CSI-2 receivers with a source that transmits
|
|
MEDIA_BUS_FMT_META_10 and the CSI-2 receiver writes the received data to memory
|
|
as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
This format is also used in conjunction with 20 bits per :term:`Data Unit`
|
|
formats that pack two bytes of metadata into one Data Unit. Otherwise the
|
|
20 bits per pixel dataformat is :ref:`V4L2_META_FMT_GENERIC_CSI2_20
|
|
<v4l2-meta-fmt-generic-csi2-20>`.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_10.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{.8cm}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- M\ :sub:`10`
|
|
- M\ :sub:`20`
|
|
- M\ :sub:`30`
|
|
- x
|
|
* - start + 5:
|
|
- M\ :sub:`01`
|
|
- M\ :sub:`11`
|
|
- M\ :sub:`21`
|
|
- M\ :sub:`31`
|
|
- x
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-12:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_12
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_12 contains 8-bit generic metadata packed in 12-bit
|
|
Data Units, with one padding byte after every two bytes of metadata. This format
|
|
is typically used by CSI-2 receivers with a source that transmits
|
|
MEDIA_BUS_FMT_META_12 and the CSI-2 receiver writes the received data to memory
|
|
as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
This format is also used in conjunction with 24 bits per :term:`Data Unit`
|
|
formats that pack two bytes of metadata into one Data Unit. Otherwise the
|
|
24 bits per pixel dataformat is :ref:`V4L2_META_FMT_GENERIC_CSI2_24
|
|
<v4l2-meta-fmt-generic-csi2-24>`.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_12.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{.8cm}|p{.8cm}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- M\ :sub:`10`
|
|
- x
|
|
- M\ :sub:`20`
|
|
- M\ :sub:`30`
|
|
- x
|
|
* - start + 6:
|
|
- M\ :sub:`01`
|
|
- M\ :sub:`11`
|
|
- x
|
|
- M\ :sub:`21`
|
|
- M\ :sub:`31`
|
|
- x
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-14:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_14
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_14 contains 8-bit generic metadata packed in 14-bit
|
|
Data Units, with three padding bytes after every four bytes of metadata. This
|
|
format is typically used by CSI-2 receivers with a source that transmits
|
|
MEDIA_BUS_FMT_META_14 and the CSI-2 receiver writes the received data to memory
|
|
as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_14.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{.8cm}|p{.8cm}|p{.8cm}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- M\ :sub:`10`
|
|
- M\ :sub:`20`
|
|
- M\ :sub:`30`
|
|
- x
|
|
- x
|
|
- x
|
|
* - start + 7:
|
|
- M\ :sub:`01`
|
|
- M\ :sub:`11`
|
|
- M\ :sub:`21`
|
|
- M\ :sub:`31`
|
|
- x
|
|
- x
|
|
- x
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-16:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_16
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_16 contains 8-bit generic metadata packed in 16-bit
|
|
Data Units, with one padding byte after every byte of metadata. This format is
|
|
typically used by CSI-2 receivers with a source that transmits
|
|
MEDIA_BUS_FMT_META_16 and the CSI-2 receiver writes the received data to memory
|
|
as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
Some devices support more efficient packing of metadata in conjunction with
|
|
16-bit image data. In that case the dataformat is
|
|
:ref:`V4L2_META_FMT_GENERIC_8 <v4l2-meta-fmt-generic-8>`.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_16.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. tabularcolumns:: |p{2.4cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|p{1.2cm}|p{.8cm}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- x
|
|
- M\ :sub:`10`
|
|
- x
|
|
- M\ :sub:`20`
|
|
- x
|
|
- M\ :sub:`30`
|
|
- x
|
|
* - start + 8:
|
|
- M\ :sub:`01`
|
|
- x
|
|
- M\ :sub:`11`
|
|
- x
|
|
- M\ :sub:`21`
|
|
- x
|
|
- M\ :sub:`31`
|
|
- x
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-20:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_20
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_20 contains 8-bit generic metadata packed in 20-bit
|
|
Data Units, with alternating one or two padding bytes after every byte of
|
|
metadata. This format is typically used by CSI-2 receivers with a source that
|
|
transmits MEDIA_BUS_FMT_META_20 and the CSI-2 receiver writes the received data
|
|
to memory as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
Some devices support more efficient packing of metadata in conjunction with
|
|
16-bit image data. In that case the dataformat is
|
|
:ref:`V4L2_META_FMT_GENERIC_CSI2_10 <v4l2-meta-fmt-generic-csi2-10>`.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_20.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. 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}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- x
|
|
- M\ :sub:`10`
|
|
- x
|
|
- x
|
|
- M\ :sub:`20`
|
|
- x
|
|
- M\ :sub:`30`
|
|
- x
|
|
- x
|
|
* - start + 10:
|
|
- M\ :sub:`01`
|
|
- x
|
|
- M\ :sub:`11`
|
|
- x
|
|
- x
|
|
- M\ :sub:`21`
|
|
- x
|
|
- M\ :sub:`31`
|
|
- x
|
|
- x
|
|
|
|
.. _v4l2-meta-fmt-generic-csi2-24:
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_24
|
|
-----------------------------
|
|
|
|
V4L2_META_FMT_GENERIC_CSI2_24 contains 8-bit generic metadata packed in 24-bit
|
|
Data Units, with two padding bytes after every byte of metadata. This format is
|
|
typically used by CSI-2 receivers with a source that transmits
|
|
MEDIA_BUS_FMT_META_24 and the CSI-2 receiver writes the received data to memory
|
|
as-is.
|
|
|
|
The packing of the data follows the MIPI CSI-2 specification and the padding of
|
|
the data is defined in the MIPI CCS specification.
|
|
|
|
Some devices support more efficient packing of metadata in conjunction with
|
|
16-bit image data. In that case the dataformat is
|
|
:ref:`V4L2_META_FMT_GENERIC_CSI2_12 <v4l2-meta-fmt-generic-csi2-12>`.
|
|
|
|
This format is little endian.
|
|
|
|
**Byte Order Of V4L2_META_FMT_GENERIC_CSI2_24.**
|
|
Each cell is one byte. "M" denotes a byte of metadata and "x" a byte of padding.
|
|
|
|
.. 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}|
|
|
|
|
.. flat-table:: Sample 4x2 Metadata Frame
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 12 8 8 8 8 8 8 8 8 8 8 8 8
|
|
|
|
* - start + 0:
|
|
- M\ :sub:`00`
|
|
- x
|
|
- x
|
|
- M\ :sub:`10`
|
|
- x
|
|
- x
|
|
- M\ :sub:`20`
|
|
- x
|
|
- x
|
|
- M\ :sub:`30`
|
|
- x
|
|
- x
|
|
* - start + 12:
|
|
- M\ :sub:`01`
|
|
- x
|
|
- x
|
|
- M\ :sub:`11`
|
|
- x
|
|
- x
|
|
- M\ :sub:`21`
|
|
- x
|
|
- x
|
|
- M\ :sub:`31`
|
|
- x
|
|
- x
|