2.13.3. 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.3.1. 描述

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

2.13.3.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 元数据帧示例

start + 0

M00

M10

M20

M30

start + 4

M01

M11

M21

M31

2.13.3.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 元数据帧示例

start + 0

M00

M10

M20

M30

x

start + 5

M01

M11

M21

M31

x

2.13.3.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 元数据帧示例

start + 0

M00

M10

x

M20

M30

x

start + 6

M01

M11

x

M21

M31

x

2.13.3.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 元数据帧示例

start + 0

M00

M10

M20

M30

x

x

x

start + 7

M01

M11

M21

M31

x

x

x

2.13.3.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 元数据帧示例

start + 0

M00

x

M10

x

M20

x

M30

x

start + 8

M01

x

M11

x

M21

x

M31

x

2.13.3.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 元数据帧示例

start + 0

M00

x

M10

x

x

M20

x

M30

x

x

start + 10

M01

x

M11

x

x

M21

x

M31

x

x

2.13.3.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 元数据帧示例

start + 0

M00

x

x

M10

x

x

M20

x

x

M30

x

x

start + 12

M01

x

x

M11

x

x

M21

x

x

M31

x

x