2.13.2. 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’)

通用基于行的元数据格式

2.13.2.1. 描述

这些通用的基于行的元数据格式定义了数据的内存布局,而没有定义元数据本身的格式或含义。

2.13.2.1.1. V4L2_META_FMT_GENERIC_8

V4L2_META_FMT_GENERIC_8 格式是一种普通的 8 位元数据格式。此格式在 CSI-2 上用于每个数据单元 8 位。

此外,当两个元数据字节被打包到一个 16 位数据单元中时,它也用于每个数据单元 16 位。否则,每个像素 16 位的数据格式是 V4L2_META_FMT_GENERIC_CSI2_16

V4L2_META_FMT_GENERIC_8 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节。

示例 4x2 元数据帧

起始 + 0

M00

M10

M20

M30

起始 + 4

M01

M11

M21

M31

2.13.2.1.2. V4L2_META_FMT_GENERIC_CSI2_10

V4L2_META_FMT_GENERIC_CSI2_10 包含打包在 10 位数据单元中的 8 位通用元数据,每四个字节的元数据后有一个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_10,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

此格式也与每个数据单元 20 位格式结合使用,该格式将两个元数据字节打包到一个数据单元中。否则,每个像素 20 位的数据格式是 V4L2_META_FMT_GENERIC_CSI2_20

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_10 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

M10

M20

M30

x

起始 + 5

M01

M11

M21

M31

x

2.13.2.1.3. V4L2_META_FMT_GENERIC_CSI2_12

V4L2_META_FMT_GENERIC_CSI2_12 包含打包在 12 位数据单元中的 8 位通用元数据,每两个字节的元数据后有一个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_12,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

此格式也与每个数据单元 24 位格式结合使用,该格式将两个元数据字节打包到一个数据单元中。否则,每个像素 24 位的数据格式是 V4L2_META_FMT_GENERIC_CSI2_24

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_12 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

M10

x

M20

M30

x

起始 + 6

M01

M11

x

M21

M31

x

2.13.2.1.4. V4L2_META_FMT_GENERIC_CSI2_14

V4L2_META_FMT_GENERIC_CSI2_14 包含打包在 14 位数据单元中的 8 位通用元数据,每四个字节的元数据后有三个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_14,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_14 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

M10

M20

M30

x

x

x

起始 + 7

M01

M11

M21

M31

x

x

x

2.13.2.1.5. V4L2_META_FMT_GENERIC_CSI2_16

V4L2_META_FMT_GENERIC_CSI2_16 包含打包在 16 位数据单元中的 8 位通用元数据,每个元数据字节后有一个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_16,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

某些设备支持与 16 位图像数据结合使用时更有效的元数据打包。在这种情况下,数据格式为 V4L2_META_FMT_GENERIC_8

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_16 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

x

M10

x

M20

x

M30

x

起始 + 8

M01

x

M11

x

M21

x

M31

x

2.13.2.1.6. V4L2_META_FMT_GENERIC_CSI2_20

V4L2_META_FMT_GENERIC_CSI2_20 包含打包在 20 位数据单元中的 8 位通用元数据,每个元数据字节后交替出现一个或两个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_20,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

某些设备支持与 16 位图像数据结合使用时更有效的元数据打包。在这种情况下,数据格式为 V4L2_META_FMT_GENERIC_CSI2_10

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_20 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

x

M10

x

x

M20

x

M30

x

x

起始 + 10

M01

x

M11

x

x

M21

x

M31

x

x

2.13.2.1.7. V4L2_META_FMT_GENERIC_CSI2_24

V4L2_META_FMT_GENERIC_CSI2_24 包含打包在 24 位数据单元中的 8 位通用元数据,每个元数据字节后有两个填充字节。此格式通常由 CSI-2 接收器使用,该接收器的源发送 MEDIA_BUS_FMT_META_24,CSI-2 接收器按原样将接收到的数据写入内存。

数据的打包遵循 MIPI CSI-2 规范,数据的填充在 MIPI CCS 规范中定义。

某些设备支持与 16 位图像数据结合使用时更有效的元数据打包。在这种情况下,数据格式为 V4L2_META_FMT_GENERIC_CSI2_12

此格式为小端字节序。

V4L2_META_FMT_GENERIC_CSI2_24 的字节顺序。每个单元格是一个字节。“M”表示一个元数据字节,“x”表示一个填充字节。

示例 4x2 元数据帧

起始 + 0

M00

x

x

M10

x

x

M20

x

x

M30

x

x

起始 + 12

M01

x

x

M11

x

x

M21

x

x

M31

x

x