Back to Linux

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')

Documentation/userspace-api/media/v4l/metafmt-generic.rst

latest10.1 KB
Original Source

.. 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