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”表示一个元数据字节。
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”表示一个填充字节。
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”表示一个填充字节。
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”表示一个填充字节。
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”表示一个填充字节。
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”表示一个填充字节。
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”表示一个填充字节。
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 |