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