YUV格式概述
2022-09-01
583
1
YUV 的存储格式,有两种:
- planar 平面格式:指先连续存储所有像素点的 Y 分量,然后存储 U 分量,最后是 V 分量。
- packed 打包模式:指每个像素点的 Y、U、V 分量是连续交替存储的。
为了表述方便,下面的一些YUV分量使用如下的方法标识:如V0表示最左第一个V采样,Yn表示第n+1个Y采样。
打包模式的YUV格式
标识 | 十六进制的 FOURCC | 每像素位数 | 描述 |
---|---|---|---|
AYUV | 0x56555941 | 32 | 结合 YUV 和 alpha |
CLJR | 0x524A4C43 | 8 | 将 4 个像素打包到 u_int32 中的 Cirrus Logic 格式。YUV 4:1:1 的一种形式,每个 Y、U 和 V 样本少于 8 位 |
cyuv | 0x76757963 | 16 | 本质上是 UYVY 的副本,只是高度的感觉是颠倒的——图像相对于 UYVY 版本是颠倒的。 |
GREY | 0x59455247 | 8 | Y800 的副本(也可能是“Y8”) |
IRAW | 0x57615349 | ? | 英特尔未压缩 YUV。 |
IUYV | 0x56595549 | 16 | 由Lead Technologies的 Silviu Brinzei 注册的 UYVY 的隔行版本(行序 0、2、4、….、1、3、5….)。 |
IY41 | 0x31345949 | 12 | 由Lead Technologies的 Silviu Brinzei 注册的 Y41P 隔行扫描版本(行序 0、2、4、….、1、3、5….)。 |
IYU1 | 0x31555949 | 12 | IEEE 1394 数码相机 1.04 规范的模式 2 中使用的 12 位格式。这相当于Y411 |
IYU2 | 0x32555949 | 24 | IEEE 1394 数码相机 1.04 规范的模式 0 中使用的 24 位格式 |
UYNV | 0x564E5955 | 16 | NVidia 注册的UYVY的直接副本,用于解决一些旧编解码器中的问题,这些编解码器不喜欢提供超过 2 个 UYVY 表面的硬件。 |
UYVP | 0x50565955 | 24? | YCbCr 4:2:2 以 U0Y0V0Y1 顺序每个组件扩展精度 10 位。由Evans & Sutherland的Rich Ehlers注册。(等待组件包装结构确认) |
UYVY | 0x59565955 | 16 | YUV 4:2:2(Y 在每个像素处采样,U 和 V 在每行水平上每隔一个像素采样)。一个宏像素包含 1 个 u_int32 中的 2 个像素。 |
V210 | 0x30313256 | 32 | 10 位 4:2:2 YCrCb 等效于同名 Quicktime 格式。 |
V422 | 0x32323456 | 16 | 这是 UYVY 的颠倒版本。 |
V655 | 0x35353656 | 16? | Vitec Multimedia 注册的 16 位 YUV 4:2:2 格式 |
VYUY | 0x59555956 | ? | ATI 打包 YUV 数据(格式未知,但您可以在此处获取支持它的编解码器) |
Y422 | 0x32323459 | 16 | ADS Technologies Pyro WebCam 火线相机使用的 UYVY 的直接副本。 |
YUY2 | 0x32595559 | 16 | YUV 4:2:2 与 UYVY 相同,但在 u_int32 宏像素内具有不同的组件排序。 |
YUYV | 0x56595559 | 16 | YUY2的副本 |
YUNV | 0x564E5559 | 16 | NVidia 注册的YUY2的直接副本,用于解决一些不喜欢提供超过 2 个 YUY2 表面的硬件的旧编解码器中的问题。 |
YVYU | 0x55595659 | 16 | YUV 4:2:2 与 UYVY 相同,但在 u_int32 宏像素内具有不同的组件排序。 |
Y41P | 0x50313459 | 12 | YUV 4:1:1(Y 在每个像素处采样,U 和 V 在每行水平上每隔四个像素采样一次)。一个宏像素包含 3 个 u_int32 中的 8 个像素。 |
Y411 | 0x31313459 | 12 | YUV 4:1:1 具有打包的 6 字节/4 像素宏块结构。 |
Y211 | 0x31313259 | 8 | 打包的 YUV 格式,Y 在每行的第二个像素处采样一次,U 和 V 在每第四个像素处采样一次。 |
Y41T | 0x54313459 | 12 | 格式与 Y41P 相同,但每个 Y 分量的 lsb 用于表示像素透明度。 |
Y42T | 0x54323459 | 16 | 格式与 UYVY 相同,但每个 Y 分量的 lsb 用于表示像素透明度 |
YUVP | 0x50565559 | 24? | YCbCr 4:2:2 按 Y0U0Y1V0 顺序每个组件扩展精度 10 位。由Evans & Sutherland的Rich Ehlers注册。 |
Y800 | 0x30303859 | 8 | 用于单色图像的简单单 Y 平面。 |
Y8 | 0x20203859 | 8 | Y800 的副本。 |
平面模式的YUV格式
标签 | 十六进制的 FOURCC | 每像素位数 | 描述 |
---|---|---|---|
YVU9 | 0x39555659 | 9 | 8 位 Y 平面后跟 8 位 4x4 二次采样 V 和 U 平面。由英特尔注册。 |
YUV9 | 0x39565559 | 9? | 由英特尔注册。我没有关于这种格式的其他信息。可能是 YVU9 的副本。 |
IF09 | 0x39304649 | 9.5 | 与 YVU9 一样,但附加了一个额外的 4x4 二次采样平面,其中包含相对于最后一帧的增量信息。(Bpp 报告为 9) |
YV16 | 0x36315659 | 16 | 8 位 Y 平面后跟 8 位 2x1 二次采样 V 和 U 平面。 |
YV12 | 0x32315659 | 12 | 8 位 Y 平面后跟 8 位 2x2 二次采样 V 和 U 平面。 |
I420 | 0x30323449 | 12 | 8 位 Y 平面后跟 8 位 2x2 二次采样 U 和 V 平面。 |
IYUV | 0x56555949 | 12 | 复制 FOURCC,与 I420 相同。 |
NV12 | 0x3231564E | 12 | 8 位 Y 平面,后跟具有 2x2 子采样的交错 U/V 平面 |
NV21 | 0x3132564E | 12 | 作为 NV12,U 和 V 在交错平面中反转 |
IMC1 | 0x31434D49 | 12 | 与 YV12 一样,除了 U 和 V 平面外,每个平面都具有与 Y 平面相同的步幅 |
IMC2 | 0x32434D49 | 12 | 与 IMC1 类似,只是 U 和 V 线在半步幅边界处交错 |
IMC3 | 0x33434D49 | 12 | 与 IMC1 相同,只是 U 和 V 交换了 |
IMC4 | 0x34434D49 | 12 | 与 IMC2 相同,只是 U 和 V 交换了 |
CLPL | 0x4C504C43 | 12 | 类似于 YV12 的格式,但包括一个间接级别。 |
Y41B | 0x42313459 | 12? | Weitek 格式列为“YUV 4:1:1 平面”。我没有关于这种格式的其他信息。 |
Y42B | 0x42323459 | 16? | Weitek 格式列为“YUV 4:2:2 平面”。我没有关于这种格式的其他信息。 |
Y800 | 0x30303859 | 8 | 用于单色图像的简单单 Y 平面。 |
Y8 | 0x20203859 | 8 | 据我所知,Y800 的副本。 |
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936