2.14. 保留格式标识符

这些格式未由此规范定义,仅列出供参考并避免命名冲突。如果要注册自己的格式,请发送电子邮件至 linux-media 邮件列表 https://linuxtv.org/lists.php 以包含在 videodev2.h 文件中。 如果您想与其他开发人员共享您的格式,请添加指向您文档的链接,并将副本发送到 linux-media 邮件列表,以便包含在本节中。 如果您认为您的格式应该列在标准格式部分中,请在 linux-media 邮件列表中提出建议。

保留图像格式

标识符

代码

详情

V4L2_PIX_FMT_DV

‘dvsd’

未知

V4L2_PIX_FMT_ET61X251

‘E625’

ET61X251 驱动程序的压缩格式。

V4L2_PIX_FMT_HI240

‘HI24’

BTTV 驱动程序使用的 8 位 RGB 格式。

V4L2_PIX_FMT_CPIA1

‘CPIA’

gspca cpia1 驱动程序使用的 YUV 格式。

V4L2_PIX_FMT_JPGL

‘JPGL’

Divio webcams NW 80x 中使用的 JPEG-Light 格式(Pegasus 无损 JPEG)。

V4L2_PIX_FMT_SPCA501

‘S501’

gspca 驱动程序使用的每行 YUYV。

V4L2_PIX_FMT_SPCA505

‘S505’

gspca 驱动程序使用的每行 YYUV。

V4L2_PIX_FMT_SPCA508

‘S508’

gspca 驱动程序使用的每行 YUVY。

V4L2_PIX_FMT_SPCA561

‘S561’

gspca 驱动程序使用的压缩 GBRG Bayer 格式。

V4L2_PIX_FMT_PAC207

‘P207’

gspca 驱动程序使用的压缩 BGGR Bayer 格式。

V4L2_PIX_FMT_MR97310A

‘M310’

gspca 驱动程序使用的压缩 BGGR Bayer 格式。

V4L2_PIX_FMT_JL2005BCD

‘JL20’

gspca 驱动程序使用的 JPEG 压缩 RGGB Bayer 格式。

V4L2_PIX_FMT_OV511

‘O511’

gspca 驱动程序使用的 OV511 JPEG 格式。

V4L2_PIX_FMT_OV518

‘O518’

gspca 驱动程序使用的 OV518 JPEG 格式。

V4L2_PIX_FMT_PJPG

‘PJPG’

gspca 驱动程序使用的 Pixart 73xx JPEG 格式。

V4L2_PIX_FMT_SE401

‘S401’

gspca se401 驱动程序使用的压缩 RGB 格式

V4L2_PIX_FMT_SQ905C

‘905C’

gspca 驱动程序使用的压缩 RGGB bayer 格式。

V4L2_PIX_FMT_MJPEG

‘MJPG’

Zoran 驱动程序使用的压缩格式

V4L2_PIX_FMT_PWC1

‘PWC1’

PWC 驱动程序的压缩格式。

V4L2_PIX_FMT_PWC2

‘PWC2’

PWC 驱动程序的压缩格式。

V4L2_PIX_FMT_SN9C10X

‘S910’

SN9C102 驱动程序的压缩格式。

V4L2_PIX_FMT_SN9C20X_I420

‘S920’

gspca sn9c20x 驱动程序的 YUV 4:2:0 格式。

V4L2_PIX_FMT_SN9C2028

‘SONX’

gspca sn9c2028 驱动程序的压缩 GBRG bayer 格式。

V4L2_PIX_FMT_STV0680

‘S680’

gspca stv0680 驱动程序的 Bayer 格式。

V4L2_PIX_FMT_WNVA

‘WNVA’

由 Winnov Videum 驱动程序使用,http://www.thedirks.org/winnov/

V4L2_PIX_FMT_TM6000

‘TM60’

由 Trident tm6000 使用

V4L2_PIX_FMT_CIT_YYVYUY

‘CITV’

由 xirlink CIT 使用,可在 IBM 网络摄像头上找到。

使用一行 Y,然后一行 VYUY

V4L2_PIX_FMT_KONICA420

‘KONI’

由 Konica 网络摄像头使用。

YUV420 平面格式,以 256 像素块为单位。

V4L2_PIX_FMT_YYUV

‘YYUV’

未知

V4L2_PIX_FMT_Y4

‘Y04 ‘

旧的 4 位灰度格式。 仅使用每个字节的最高有效 4 位,其他位设置为 0。

V4L2_PIX_FMT_Y6

‘Y06 ‘

旧的 6 位灰度格式。 仅使用每个字节的最高有效 6 位,其他位设置为 0。

V4L2_PIX_FMT_S5C_UYVY_JPG

‘S5CI’

三星 S5C73MX 相机使用的双平面格式。 第一个平面包含交错的 JPEG 和 UYVY 图像数据,后跟元数据,形式为 UYVY 数据块的偏移量数组。 实际指针数组紧跟在交错的 JPEG/UYVY 数据之后,此数组中的条目数等于 UYVY 图像的高度。 每个条目都是一个大端序的 4 字节无符号整数,它是一个 UYVY 图像的单像素行的偏移量。 第一个平面可以从 JPEG 或 UYVY 数据块开始。

第二个平面,偏移量为 4084 字节,包含指向第一个平面中指针数组的 4 字节偏移量。 此偏移量后跟一个 4 字节值,指示指针数组的大小。 第二个平面中的所有数字也采用大端序。 第二个平面中的其余数据未定义。 第二个平面中的信息允许轻松找到指针数组的位置,指针数组对于每个帧可能不同。 对于给定的 UYVY 图像高度,指针数组的大小是恒定的。

为了提取 UYVY 和 JPEG 帧,应用程序最初可以将数据指针设置为第一个平面的开头,然后从指针表的第一个条目添加偏移量。 这样的指针指示 UYVY 图像像素线的开头。 整个 UYVY 行可以复制到单独的缓冲区。 对于每一行都应重复这些步骤,即指针数组中的条目数。 UYVY 行之间的任何内容都是 JPEG 数据,应连接起来形成 JPEG 流。

V4L2_PIX_FMT_MT21C

‘MT21’

联发科 MT8173、MT8192、MT8195 等使用的压缩双平面 YVU420 格式。 压缩是无损的。 此格式在对齐和平铺方面与 V4L2_PIX_FMT_MM21 相似。 它仍然是一种不透明的中间格式,必须使用 MDP 硬件将 V4L2_PIX_FMT_MT21C 转换为 V4L2_PIX_FMT_NV12MV4L2_PIX_FMT_YUV420MV4L2_PIX_FMT_YVU420

V4L2_PIX_FMT_QC08C

‘QC08C’

高通平台使用的压缩宏块 8 位 YUV420 格式。 它是一种不透明的中间格式。 使用的压缩是无损的,它被各种多媒体硬件块(如 GPU、显示控制器、ISP 和视频加速器)使用。 它包含用于逐行视频的四个平面和用于隔行视频的八个平面。

V4L2_PIX_FMT_QC10C

‘QC10C’

高通平台使用的压缩宏块 10 位 YUV420 格式。 它是一种不透明的中间格式。 使用的压缩是无损的,它被各种多媒体硬件块(如 GPU、显示控制器、ISP 和视频加速器)使用。 它包含用于逐行视频的四个平面。

V4L2_PIX_FMT_AJPG

‘AJPG’

Aspeed 平台上的 aspeed-video 驱动程序使用的 ASPEED JPEG 格式,通常适用于远程 KVM。 在每次帧压缩时,我都会将新帧与前一个帧进行比较,以确定哪些宏块的数据发生了更改,并且仅压缩更改的宏块。

该实现基于 AST2600 A3 数据表修订版 0.9,该版本未公开提供。 或者您可以参考 SDK_User_Guide 的视频流数据格式 – ASPEED 模式压缩,该格式可在 github 上获得。

解码器的实现可以在这里找到,aspeed_codec

V4L2_PIX_FMT_HEXTILE

‘HXTL’

Nuvoton NPCM 视频驱动程序使用的压缩格式。 此格式在远程帧缓冲区协议(RFC 6143,第 7.7.4 节 Hextile 编码)中定义。