libva中的图像格式说明

主要内容

本文主要就libva中的2D图像的格式进行简单说明,libva版本位libva-2.6.0(版本号为1.6.0)

VAAPI图像类别

图像类别(format type) 尺寸系数 值 说明(description)
VA_RT_FORMAT_YUV420 1.5 0x00000001 常用解码格式
VA_RT_FORMAT_YUV422 2.0 0x00000002
VA_RT_FORMAT_YUV444 3.0 0x00000004
VA_RT_FORMAT_YUV411 1.5 0x00000008
VA_RT_FORMAT_YUV400 1.0 0x00000010
VA_RT_FORMAT_YUV420_10 3.0 0x00000100
VA_RT_FORMAT_YUV422_10 4.0 0x00000200
VA_RT_FORMAT_YUV444_10 6.0 0x00000400
VA_RT_FORMAT_YUV420_12 3.0 0x00001000
VA_RT_FORMAT_YUV422_12 4.0 0x00002000
VA_RT_FORMAT_YUV444_12 6.0 0x00004000
VA_RT_FORMAT_RGB16 6.0 0x00010000
VA_RT_FORMAT_RGB32 4.0 0x00020000
VA_RT_FORMAT_RGBP 3.0 0x00100000
VA_RT_FORMAT_RGB32_10 6.0 0x00200000
VA_RT_FORMAT_PROTECTED 0.0 0x80000000 一般不使用
VA_RT_FORMAT_RGB32_10BPP 8.0 0x00200000 与VA_RT_FORMAT_RGB32_10相同
VA_RT_FORMAT_YUV420_10BPP 4.0 0x00000100 与VA_RT_FORMAT_YUV420_10相同

YUV系列图像格式

图像格式(format) 占用物理空间(bits)/像素(pix) 有效物理空间(bits)/像素(pix) 使用平面(planes) 图像格式类型(format type) 值 说明(description)
YUV 24 24 1 YUV444 libva中不存在此格式,仅此提及而已
AYUV 32 32 1 YUV444 0x56555941 packet格式,按照A、Y、U、V的顺序排布
444P 24 24 3 YUV444 0x50343434 三个平面分别保存Y、U、V数据
YV24 24 24 3 YUV444 0x34325659 三平面分别保存Y,V,U数据
YV32 32 32 4 YUV444 0x32335659 四平面分别保存Y,V,U和A数据
Y410 32 32 1 YUV444 0x30313459 每个像素是四字节小端值,A,V,Y,U分别位于值的31:30, 29:20, 19:10, 9:0位上
Y416 64 64 1 YUV444 0x36313459 每个像素采样顺序位A,V,Y,U,每个分量占用16位
YUY2 16 16 1 YUV422 0x32595559 none
VYUY 16 16 1 YUV422 0x59555956 none
YVYU 16 16 1 YUV422 0x55595659 none
P208 16 16 2 YUV422 0x38303250 两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
422H 16 16 3 YUV422 0x48323234 三平面分别保存Y,U,V数据
Y210 32 20 1 YUV422 0x30313259 采样顺序为Y,U,Y,V,每个分量占用16位,但低6位被忽略
Y216 32 32 1 YUV422 0x36313259 采样顺序为Y,U,Y,V,每个分量占用16位
YV16 16 16 1 YUV422 0x36315659 三平面分别保存Y,V,U数据
NV16 12 12 1 YUV422 x 两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
NV61 12 12 1 YUV422 x 两个平面分别保存,第一个平面保存Y数据,第二平面保存(V,U)数据对
P010 32 20 1 YUV420 0x30313050 每个采样数据为16位小端数据,低六位被忽略,两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
P016 32 32 1 YUV420 0x36313050 每个采样数据为16位小端数据,两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
NV12 12 12 2 YUV420 0x3231564E 两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
NV21 12 12 1 YUV420 0x3132564E 两个平面分别保存,第一个平面保存Y数据,第二平面保存(V,U)数据对
YV12 12 12 3 YUV420 0x32315659 三平面分别保存Y,V,U数据
I420(IYUV) 12 12 3 YUV420 0x30323449 三平面分别保存Y,U,V数据
I010 24 15 3 YUV420 0x30313049 每个采样数据为16位小端数据,低六位被忽略,三平面分别保存Y,V,U数据
422V 16 16 1 YUV440 0x56323234 三平面分别保存Y,U,V数据
NV11 12 12 1 YUV411 0x3131564e 两个平面分别保存,第一个平面保存Y数据,第二平面保存(U,V)数据对
411P 12 12 1 YUV411 0x50313134 三平面分别保存Y,U,V数据
411R 12 12 1 YUV411 0x52313134 三平面分别保存Y,U,V数据,但是每个第四行为全亮度数据

YUV格式内存分布

YUV格式

复制代码
            每个A、Y、U、V均占用1个字节
            Y、U、V混合存储,Y,U,V分别都占w*h字节。每行Y,U,V都是各w个。
            每个像素有Y,U,V分量都是1个,共3字节,因此一个像素占3字节。

            内存分布如下:
                             3*w
            +------------------------------------+
            |Y0U0V0Y1U1V1Y2U2V2Y3U3V3...         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Y2 U1 V1
            第四个像素:Y3 U1 V1

AYUV格式

复制代码
            每个A、Y、U、V均占用1个字节
            A,Y,U,V混合存储,A,Y,U,V分别都占w*h字节。每行A,Y,U,V都是各w个。
            每个像素有A,Y,U,V分量都是1个,共4字节,因此一个像素占4字节。

            内存分布如下:
                             4*w
            +------------------------------------+
            |A0Y0U0V0A1Y1U1V1A2Y2U2V2A3Y3U3V3... |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:A0 Y0 U0 V0
            第二个像素:A1 Y1 U0 V0
            第三个像素:A2 Y2 U1 V1
            第四个像素:A3 Y3 U1 V1

YV24格式

复制代码
            每个Y、U、V均占用1个字节
            Y,U,V分别存储,Y,U,V分别都占w*h字节。每行Y,U,V都是各w个。
            每个像素有Y,U,V分量都是1个,共3字节,因此一个像素占3字节。

            内存分布如下:
                             w
            +------------------------------------+
            |Y0Y1Y2Y3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            +------------------------------------+
            |V0V1V2V3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            +------------------------------------+
            |U0U1U2U3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Y2 U1 V1
            第四个像素:Y3 U1 V1

YV32格式

复制代码
            每个A、Y、U、V均占用1个字节
            A,Y,U,V分别存储,A,Y,U,V分别都占w*h字节。每行A,Y,U,V都是各w个。
            每个像素有A,Y,U,V分量都是1个,共4字节,因此一个像素占4字节。

            内存分布如下:
                             w
            +------------------------------------+
            |A0A1A2A3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            +------------------------------------+
            |Y0Y1Y2Y3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            +------------------------------------+
            |V0V1V2V3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            +------------------------------------+
            |U0U1U2U3...                         |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:A0 Y0 U0 V0
            第二个像素:A1 Y1 U1 V1
            第三个像素:A2 Y2 U2 V2
            第四个像素:A3 Y3 U3 V3

Y410格式

复制代码
            每个A、Y、U、V均占用1个字节
            A,V,Y,U混合存储,每个像素是四字节小端值,
            A,V,Y,U分别位于值的[31:30], [29:20], [19:10], [9:0]位上。
            内存分布如下:
                             w*4
            +------------------------------------+
            |A0V0Y0U01A2V2Y2U2A3V3Y3U3...        |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:A0 Y0 U0 V0
            第二个像素:A1 Y1 U1 V1
            第三个像素:A2 Y2 U2 V2
            第四个像素:A3 Y3 U3 V3

Y416格式

复制代码
            每个A、Y、U、V均占用1个字节
            A,V,Y,U混合存储,A,V,Y,U每个分量占两个字节。
            内存分布如下:
                             w*8
            +------------------------------------+
            |A0V0Y0U01A2V2Y2U2A3V3Y3U3...        |
            |...                                 |   h
            |...                                 |
            |                                    |
            +------------------------------------+
            第一个像素:A0 Y0 U0 V0
            第二个像素:A1 Y1 U1 V1
            第三个像素:A2 Y2 U2 V2
            第四个像素:A3 Y3 U3 V3

YUYV格式

复制代码
           每个Y、U、V均占用1个字节
          YUYV格式
          Y、U、V混合存储,Y占w*h,U、V分别占w*h/2。每行Y有w个,U、V各w/2个。
          两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共4字节,因此一个像素占2字节。

            内存分布如下:
                             2*w
            +----------------------------+
            |Y0U0Y1V1Y2U2Y3V3...         |
            |...                         |   h
            |...                         |
            |                            |
            +----------------------------+
            第一个像素:Y0 U0 V1
            第二个像素:Y1 U0 V1
            第三个像素:Y2 U2 V3
            第四个像素:Y3 U2 V3

YV16格式

复制代码
         每个Y、U、V均占用1个字节
         Y、U、V分开存储,Y占w*h,U、V分别都占w*h/2。每行Y有w个,U、V都是w/2个。
        两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共4字节,因此一个像素占2字节。
            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |...                 |   h
            |...                 |
            |                    |
            +--------------------+
            |V0V1      |
            |...       |   h
            |...       |
            |          |
            +----------+
            |U0U1      |
            |...       |  h
            |...       |
            |          |
            +----------+
                w/2

            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Y2 U1 V1
            第四个像素:Y3 U1 V1

P208格式

复制代码
           每个Y、U、V均占用1个字节
           Y、U和V分开存储,Y占w*h,U、V分别占w*h/2。每行Y有w个,U、V各w/2个。
           两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共4字节,因此一个像素占2字节。
            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |...                 |   h
            |...                 |
            |                    |
            +--------------------+
            |U0V0U1V1...         |
            |...                 |   h
            |...                 |
            |                    |
            +--------------------+

            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Y2 U1 V1
            第四个像素:Y3 U1 V1

VYUY格式

复制代码
          每个Y、U、V均占用1个字节
          V、Y、U、Y混合存储,Y占w*h,U、V分别占w*h/2。每行Y有w个,U、V各w/2个。
          两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共4字节,因此一个像素占2字节。
            
            内存分布如下:
                             2*w
            +----------------------------+
            |V0Y0U1Y1V2Y2U3Y3...         |
            |...                         |   h
            |...                         |
            |                            |
            +----------------------------+
            第一个像素:Y0 U1 V0
            第二个像素:Y1 U1 V0
            第三个像素:Y2 U3 V2
            第四个像素:Y3 U3 V2

Y210格式

复制代码
           每个Y、U、V均占用2个字节
           Y、U、V混合存储,Y占w*h*2,U、V分别占w*h。每行Y有w个,U、V各w/2个,
           但每个分量占16位,仅仅高十位有效。
           两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共8字节,因此一个像素占4字节。

            内存分布如下:
                             4*w
            +----------------------------+
            |Y0U0Y1V1Y2U2Y3V3...         |
            |...                         |   h
            |...                         |
            |                            |
            +----------------------------+
            第一个像素:Y0 U0 V1
            第二个像素:Y1 U0 V1
            第三个像素:Y2 U2 V3
            第四个像素:Y3 U2 V3

Y216格式

复制代码
           每个Y、U、V均占用2个字节
           Y、U、V混合存储,Y占w*h*2,U、V分别占w*h。每行Y有w个,U、V各w/2个,但每个分量占16位。
           两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共8字节,因此一个像素占4字节。

            内存分布如下:
                             4*w
            +----------------------------+
            |Y0U0Y1V1Y2U2Y3V3...         |
            |...                         |   h
            |...                         |
            |                            |
            +----------------------------+
            第一个像素:Y0 U0 V1
            第二个像素:Y1 U0 V1
            第三个像素:Y2 U2 V3
            第四个像素:Y3 U2 V3

P010格式

复制代码
           每个Y、U、V均占用2个字节
           Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每两行Y有2w个,U、V各w/2个,但每个分量占16位,
           仅仅高十位有效。
           两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共8字节,因此一个像素占4字节。

            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |YwYw+1...           |   h
            |...                 |
            |                    |
            +--------------------+
            |U0V0U1V1 ..|
            |.... 		|   h/2
            +-----------+

            第一个像素:Y0 U0 V1
            第二个像素:Y1 U0 V1
            第三个像素:Y2 U2 V3
            第四个像素:Y3 U2 V3

P016格式

复制代码
          每个Y、U、V均占用2个字节
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每两行Y有2w个,U、V各w/2个,但每个分量占16位。
         两个Y共用一个U和V,两个像素有Y分量2个,U、V分量各一个,共8字节,因此一个像素占4字节。

           内存分布如下:
                   w
           +--------------------+
           |Y0Y1Y2Y3...         |
           |YwYw+1...           |   h
           |...                 |
           |                    |
           +--------------------+
           |U0V0U1V1 ..|
           |.... 	   |   h/2
           +-----------+

           第一个像素:Y0 U0 V1
           第二个像素:Y1 U0 V1
           第三个像素:Y2 U2 V3
           第四个像素:Y3 U2 V3

YV12格式

复制代码
          每个Y、U、V均占用1个字节
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每行Y有w个,U、V各w/4个。
         四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,因此一个像素占1.5字节。

           内存分布如下:
                   w
           +--------------------+
           |Y0Y1Y2Y3...         |
           |YwYw+1...           |   h
           |...                 |
           |                    |
           +--------------------+
           +----------+
           |V0V1      |
           |...       |   h/2
           +----------+
           +----------+
           |U0U1      |
           |...       |  h/2
           +----------+
               w/2

           第一个像素:Y0 U0 V0
           第二个像素:Y1 U0 V0
           第w+1个像素:Yw U0 V0
           第w+2个像素:Yw+1 U0 V0

NV12格式

复制代码
           每个Y、U、V、R、G、B均占用1个字节
           Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每行Y有w个,U、V各w/4个。
           四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,因此一个像素占1.5字节。

            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |YwYw+1...           |   h
            |...                 |
            |                    |
            +--------------------+
            +-----------+
            |U0V0U1V1...|
            |...        |   h/2
            +-----------+
                w/2

            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第w+1个像素:Yw U0 V0
            第w+2个像素:Yw+1 U0 V0

NV21格式

复制代码
           每个Y、U、V、R、G、B均占用1个字节
           Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每两行Y有2*w个,U、V各w/4个。
           四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,因此一个像素占1.5字节。

            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |YwYw+1...           |   h
            |...                 |
            |                    |
            +--------------------+
            |V0U0V1U1...|
            |...        |   h/2
            +-----------+
                w/2

            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Yw U0 V0
            第四个像素:Yw+1 U0 V0

NV16格式

复制代码
           每个Y、U、V均占用1个字节
           Y、UV分开存储,Y占w*h,UV平面占w*h。UV平面使用(U,V)数据对的方式储存。
           四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,因此一个像素占1.5字节。
           NV61格式的UV顺序与此相反

            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |YwYw+1...           |   h
            |...                 |
            |                    |
            +--------------------+
            |U0V0U1V1...		 |
            |...  			     |
            |...      			 |   h
            |...      			 |
            +--------------------+
                    w

            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第三个像素:Y2 U1 V1
            第四个像素:Y3 U1 V1

I420格式

复制代码
           每个Y、U、V均占用1个字节
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每行Y有w个,U、V各w/4个。
           四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,因此一个像素占1.5字节。

            内存分布如下:
                    w
            +--------------------+
            |Y0Y1Y2Y3...         |
            |YwYw+1...           |   h
            |...                 |
            |                    |
            +--------------------+
            +----------+
            |U0U1      |
            |...       |  h/2
            +----------+
            +----------+
            |V0V1      |
            |...       |   h/2
            +----------+
                 w/2
            第一个像素:Y0 U0 V0
            第二个像素:Y1 U0 V0
            第w+1个像素:Yw U0 V0
            第w+2个像素:Yw+1 U0 V0

I010格式

复制代码
          每个Y、U、V均占用1个字节
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/4。每行Y有w个,U、V各w/4个,但每个分量占16位,
          仅仅高十位有效。
          四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共12字节,因此一个像素占3字节。

           内存分布如下:
                   w
           +--------------------+
           |Y0Y1Y2Y3...         |
           |YwYw+1...           |   h
           |...                 |
           |                    |
           +--------------------+
           +----------+
           |V0V1      |
           |...       |   h/2
           +----------+
           +----------+
           |U0U1      |
           |...       |  h/2
           +----------+
               w/2

           第一个像素:Y0 U0 V0
           第二个像素:Y1 U0 V0
           第w+1个像素:Yw U0 V0
           第w+2个像素:Yw+1 U0 V0

NV11格式

复制代码
         每个Y、U、V、R、G、B均占用1个字节
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/2。每行Y有w个,U、V各w/4个。
          四个Y共用一个U和V,四个像素有Y分量4个,U、V分量各一个,共6字节,
          因此一个像素占1.5字节。

           内存分布如下:
                   w
           +--------------------+
           |Y0Y1Y2Y3...         |
           |YwYw+1...           |   h
           |...                 |
           |                    |
           +--------------------+
           +-----------+
           |U0V0U1V1...|
           |...        |   
           |...        |   h
           |...        |   
           +-----------+
               w/2

           第一个像素:Y0 U0 V0
           第二个像素:Y1 U0 V0
           第三个像素:Y2 U0 V0
           第四个像素:Y3 U0 V0

422V格式:

复制代码
          每个Y、U、V均占用1个字节
          422V格式
          Y、U、V分开存储,Y占w*h,U、V分别占w*h/2。每行Y有w个,U、V各w/2个。
          四个Y共用两个U和V,四个像素有Y分量4个,U、V分量各两个,共8字节,因此一个像素占2字节。

           内存分布如下:
                   w
           +--------------------+
           |Y0Y1Y2Y3...         |
           |YwYw+1...           |   h
           |...                 |
           |                    |
           +--------------------+
           +-----------+
           |U0U1U2.....|
           |...        |
           |...        |   h
           |...        |
           +-----------+
           +-----------+
           |V0V1V2.....|
           |...        |
           |...        |   h
           |...        |
           +-----------+
               w/2

           第一个像素:Y0 U0 V0
           第二个像素:Y1 U1 V1
           第W+1个像素:Yw U0 V0
           第W+2个像素:Yw+1 U1 V1

RGB系列图像格式

图像格式(gotmat) 占用物理空间(bits)/像素(pix) 有效物理空间(bits)/像素(pix) 使用平面(planes) 值 说明(description)
RGBA 32 32 1 0x41424752 none
BGRA 32 32 1 0x41524742 none
ARGB 32 32 1 0x42475241 none
ABGR 32 32 1 0x52474241 none
RGBX 32 24 1 0x58424752 像素的数据顺序位R,G,B,X,每个数据占用16位,X代表无效数据,但占用空间
BGRX 32 24 1 0x58524742 像素的数据顺序位R,G,B,X,每个数据占用16位,X代表无效数据,但占用空间
XRGB 32 24 1 0x42475258 像素的数据顺序位X,R,G,B,每个数据占用16位,X代表无效数据,但占用空间
XBGR 32 24 1 0x52474258 像素的数据顺序位X,R,G,B,每个数据占用16位,X代表无效数据,但占用空间
RGBP 24 24 3 0x50424752 三个平面分别包含R,G,B数据
BGRP 24 24 3 0x50524742 三个平面分别包含B,G,R数据
RGB565 16 16 1 0x36314752 R,G,B的数据分别位于15:11, 10:5,4:0位上
BGR565 16 16 1 0x36314742 B,G,R的数据分别位于15:11, 10:5,4:0位上
ARGB64 64 64 1 0x34475241 像素的数据顺序位A,R,G,B每个数据占用16位
ABGR64 64 64 1 0x34474241 像素的数据顺序位A,B,G,R每个数据占用16位
AR30 32 32 1 0x30335241 像素的数据顺序位A,R,G,B数据占用31:30,29:20, 19:10,9:0
AB30 32 32 1 0x30334241 像素的数据顺序位A,B,G,R数据占用31:30,29:20, 19:10,9:0

GRAY系列图像格式

图像格式(gotmat) 占用物理空间(bits)/像素(pix) 有效物理空间(bits)/像素(pix) 使用平面(planes) 说明(description)
Y8 8 8 1 none
Y800 8 8 1 none
Y16 16 16 1 每个像素采样Y值,使用16位数据储存

其他系列图像格式

图像格式(gotmat) 占用物理空间(bits)/像素(pix) 有效物理空间(bits)/像素(pix) 使用平面(planes) 说明(description)
AI44 8 8 1 八个位中低四位包含Y数据,高四位包含A数据

注意

YUV 4:1:1 是指水平 Y 取样四个点,UV 各只取样一个点,水平的 Y 和 UV 的取样比例是 4:1,也就是

复制代码
Y  Y Y Y 一个 U 一个 V .... 

YUV 4:2:0 是指水平和垂直 Y 各取样两个点,UV 各只取样一个点,水平的取样比例是 2:1,重直的取样比例 2:1,也就是

复制代码
Y Y 
Y Y 一个 U 一个 V .... 

和 YUV 4:1:1 一样,色度和亮度差 1/2 * 1/2 = 1/4,只是取样的方式不同。

同理YUV440和YUV422也是类似。

相关格式的转换问题可以参考ffmpeg的libswscale的rgb2yuv.c,input.c,rgb2rgb_template.c.utils.c等文件

相关推荐
H.莓飛1 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla1 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
无人生还别怕2 小时前
如何搭建docker仓库(轻量级)registry
linux·运维·docker·云原生·容器·registry·openanolisos
无足鸟ICT2 小时前
【RHCA+】agedu命令(查看磁盘使用情况)
linux
StarsGreen3 小时前
Android 启动流程详解
android·linux·单片机·嵌入式硬件
zhengfei6113 小时前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡
linux·运维·tcp/ip
叼烟扛炮3 小时前
Linux 学习笔记(六十一):网络编程毕业设计——Reactor 反应堆模式
linux·网络·笔记·学习·课程设计
xyzzklk4 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
叼烟扛炮5 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php