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 网络摄像头 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 网络摄像头使用。

256 像素块中的 YUV420 平面。

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 数据块开始。单个 UYVY 块的大小等于 UYVY 图像的宽度乘以 2。JPEG 块的大小取决于图像,并且每行都可能不同。

第二个平面,偏移量为 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,该数据手册不是公开可用的。或者,您可以参考github上提供的 SDK_User_Guide 的视频流数据格式 – ASPEED 模式压缩。

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

V4L2_PIX_FMT_HEXTILE

‘HXTL’

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