2.7.1.2. 平面YUV格式¶
平面格式將亮度(luma)和色度(chroma)資料分別儲存在獨立的記憶體區域中。它們有兩種變體:
半平面格式使用兩個平面。第一個平面是亮度平面,用於儲存Y分量。第二個平面是色度平面,用於交錯儲存Cb和Cr分量。
全平面格式使用三個平面分別儲存Y、Cb和Cr分量。
在一個平面內,分量按畫素順序儲存,可以是線性或平鋪的。行尾可能支援填充,並且色度平面的行步幅可能受亮度平面行步幅的約束。
一些平面格式允許將平面放置在獨立的記憶體位置。它們透過名稱中的‘M’字尾進行標識(例如V4L2_PIX_FMT_NV12M)。這些格式僅供支援多平面API的驅動程式和應用程式使用,具體描述見單平面和多平面API。除非明確說明支援非連續平面,否則格式要求平面在記憶體中緊密相連。
2.7.1.2.1. 半平面YUV格式¶
這些格式通常被稱為NV格式(NV12、NV16等)。它們使用兩個平面,將亮度分量儲存在第一個平面中,將色度分量儲存在第二個平面中。Cb和Cr分量在色度平面中交錯儲存,且Cb和Cr始終成對儲存。色度順序以不同格式呈現。
對於記憶體連續格式,色度行尾的填充畫素數量與亮度行填充畫素數量相同。如果沒有水平子取樣,色度行步幅(以位元組為單位)等於亮度行步幅的兩倍。如果水平子取樣為2,則色度行步幅等於亮度行步幅。垂直子取樣不影響行步幅。
對於非連續格式,格式不對亮度與色度行的填充和步幅之間的關係強制任何約束。
所有分量都以相同的每分量位數儲存。
識別符號 |
程式碼 |
每分量位數 |
子取樣 |
色度順序 [1] |
連續性 [2] |
平鋪方式 [3] |
|---|---|---|---|---|---|---|
V4L2_PIX_FMT_NV12 |
‘NV12’ |
8 |
4:2:0 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_NV21 |
‘NV21’ |
8 |
4:2:0 |
Cr, Cb |
是 |
線性 |
V4L2_PIX_FMT_NV12M |
‘NM12’ |
8 |
4:2:0 |
Cb, Cr |
否 |
線性 |
V4L2_PIX_FMT_NV21M |
‘NM21’ |
8 |
4:2:0 |
Cr, Cb |
否 |
線性 |
V4L2_PIX_FMT_NV12MT |
‘TM12’ |
8 |
4:2:0 |
Cb, Cr |
否 |
64x32 瓦塊 水平Z字形順序 |
V4L2_PIX_FMT_NV12MT_16X16 |
‘VM12’ |
8 |
4:2:2 |
Cb, Cr |
否 |
16x16 瓦塊 |
V4L2_PIX_FMT_P010 |
‘P010’ |
10 |
4:2:0 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_P010_4L4 |
‘T010’ |
10 |
4:2:0 |
Cb, Cr |
是 |
4x4 瓦塊 |
V4L2_PIX_FMT_P012 |
‘P012’ |
12 |
4:2:0 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_P012M |
‘PM12’ |
12 |
4:2:0 |
Cb, Cr |
否 |
線性 |
V4L2_PIX_FMT_NV15 |
‘NV15’ |
10 |
4:2:0 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_NV15_4L4 |
‘VT15’ |
15 |
4:2:0 |
Cb, Cr |
是 |
4x4 瓦塊 |
V4L2_PIX_FMT_MT2110T |
‘MT2T’ |
15 |
4:2:0 |
Cb, Cr |
否 |
16x32 / 16x16 瓦塊平鋪低位 |
V4L2_PIX_FMT_MT2110R |
‘MT2R’ |
15 |
4:2:0 |
Cb, Cr |
否 |
16x32 / 16x16 瓦塊光柵低位 |
V4L2_PIX_FMT_NV16 |
‘NV16’ |
8 |
4:2:2 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_NV61 |
‘NV61’ |
8 |
4:2:2 |
Cr, Cb |
是 |
線性 |
V4L2_PIX_FMT_NV16M |
‘NM16’ |
8 |
4:2:2 |
Cb, Cr |
否 |
線性 |
V4L2_PIX_FMT_NV61M |
‘NM61’ |
8 |
4:2:2 |
Cr, Cb |
否 |
線性 |
V4L2_PIX_FMT_NV20 |
‘NV20’ |
10 |
4:2:2 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_NV24 |
‘NV24’ |
8 |
4:4:4 |
Cb, Cr |
是 |
線性 |
V4L2_PIX_FMT_NV42 |
‘NV42’ |
8 |
4:4:4 |
Cr, Cb |
是 |
線性 |
顏色取樣位置: 色度取樣水平交錯分佈。
2.7.1.2.1.1. NV12, NV21, NV12M和NV21M¶
半平面YUV 4:2:0格式。色度平面在每個方向上子取樣2。色度行包含的畫素數量是亮度行的一半,位元組數量與亮度行相同;色度平面包含的行數是亮度平面的一半。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start + 20 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start1 + 4 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
2.7.1.2.1.2. NV15¶
半平面10位YUV 4:2:0格式,類似於NV12,使用10位分量,分量之間無填充。一組4個分量以小端位元組序儲存,佔用5個位元組。
start + 0 |
Y’00[7:0] |
Y’01[5:0]Y’00[9:8] |
Y’02[3:0]Y’01[9:6] |
Y’03[1:0]Y’02[9:4] |
Y’03[9:2] |
start + 5 |
Y’10[7:0] |
Y’11[5:0]Y’10[9:8] |
Y’12[3:0]Y’11[9:6] |
Y’13[1:0]Y’12[9:4] |
Y’13[9:2] |
start + 10 |
Y’20[7:0] |
Y’21[5:0]Y’20[9:8] |
Y’22[3:0]Y’21[9:6] |
Y’23[1:0]Y’22[9:4] |
Y’23[9:2] |
start + 15 |
Y’30[7:0] |
Y’31[5:0]Y’30[9:8] |
Y’32[3:0]Y’31[9:6] |
Y’33[1:0]Y’32[9:4] |
Y’33[9:2] |
start + 20 |
Cb00[7:0] |
Cr00[5:0]Cb00[9:8] |
Cb01[3:0]Cr00[9:6] |
Cr01[1:0]Cb01[9:4] |
Cr01[9:2] |
start + 25 |
Cb10[7:0] |
Cr10[5:0]Cb10[9:8] |
Cb11[3:0]Cr10[9:6] |
Cr11[1:0]Cb11[9:4] |
Cr11[9:2] |
2.7.1.2.1.3. 平鋪NV12¶
半平面YUV 4:2:0格式,使用宏塊平鋪。色度平面在每個方向上子取樣2。色度行包含的畫素數量是亮度行的一半,位元組數量與亮度行相同;色度平面包含的行數是亮度平面的一半。每個瓦塊在記憶體中(從左到右,從上到下)線性跟隨前一個瓦塊。
V4L2_PIX_FMT_NV12MT_16X16類似於V4L2_PIX_FMT_NV12M,但以2D 16x16瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。行步幅和影像高度必須對齊到16的倍數。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12MT類似於V4L2_PIX_FMT_NV12M,但以2D 64x32瓦塊儲存畫素,並在記憶體中以Z字形順序儲存2x2瓦塊組,水平方向交替Z形和映象Z形。行步幅必須是128畫素的倍數,以確保Z字形數量為整數。影像高度必須是32畫素的倍數。如果垂直解析度是奇數個瓦塊,則最後一行的瓦塊以線性順序儲存。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12MT 宏塊Z字形記憶體佈局¶
V4L2_PIX_FMT_NV12MT 瓦塊記憶體佈局示例¶
V4L2_PIX_FMT_NV12_4L4以4x4瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。行步幅和影像高度必須對齊到4的倍數。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12_16L16以16x16瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。行步幅和影像高度必須對齊到16的倍數。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12_32L32以32x32瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。行步幅和影像高度必須對齊到32的倍數。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12M_8L128類似於V4L2_PIX_FMT_NV12M,但以2D 8x128瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。影像高度必須對齊到128的倍數。亮度平面和色度平面的佈局是相同的。
V4L2_PIX_FMT_NV12_8L128類似於V4L2_PIX_FMT_NV12M_8L128,但將兩個平面儲存在一段記憶體中。
V4L2_PIX_FMT_MM21將亮度畫素儲存在16x32瓦塊中,將色度畫素儲存在16x16瓦塊中。行步幅必須對齊到16的倍數,影像高度必須對齊到32的倍數。亮度瓦塊和色度瓦塊的數量相同,即使瓦塊大小不同。影像由兩個非連續平面組成。
2.7.1.2.1.4. 平鋪NV15¶
V4L2_PIX_FMT_NV15_4L4是半平面10位YUV 4:2:0格式,使用4x4平鋪。所有分量緊密打包,相互之間無任何填充。因此,每組4個分量佔用5個位元組(YYYY或UVUV = 4 * 10 位 = 40 位 = 5 位元組)。
V4L2_PIX_FMT_NV12M_10BE_8L128類似於V4L2_PIX_FMT_NV12M,但以2D 8x128瓦塊儲存10位畫素,並在記憶體中線性儲存瓦塊。資料以大端位元組序排列。影像高度必須對齊到128的倍數。亮度平面和色度平面的佈局是相同的。請注意,瓦塊大小是8位元組乘以128位元組,這意味著一個畫素的低位和高位可能在不同的瓦塊中。10位畫素是緊密打包的,因此5個位元組包含4個10位畫素,佈局如下(針對亮度):位元組0:Y0(位9-2) 位元組1:Y0(位1-0)Y1(位9-4) 位元組2:Y1(位3-0)Y2(位9-6) 位元組3:Y2(位5-0)Y3(位9-8) 位元組4:Y3(位7-0)
V4L2_PIX_FMT_NV12_10BE_8L128類似於V4L2_PIX_FMT_NV12M_10BE_8L128,但將兩個平面儲存在一段記憶體中。
V4L2_PIX_FMT_MT2110T是聯發科(Mediatek)的其中一種打包10位YUV 4:2:0格式。它是一種完全打包的10位4:2:0格式,類似於NV15(每畫素15位),但其最低兩位資料儲存在單獨的分割槽中。該格式由16x32亮度瓦塊和16x16色度瓦塊組成。每個瓦塊長640位元組,分為8個80位元組的分割槽。分割槽的前16位元組表示畫素資料的2個最低有效位。其餘64位元組表示畫素資料的8個最高有效位。
MT2110T色度瓦塊佈局¶
濾除每個分割槽的上半部分會得到一個有效的V4L2_PIX_FMT_MM21幀。一個分割槽是大小為16x4的子瓦塊。最低兩位被稱為平鋪,因為每個位元組包含與相同索引匹配的畫素列的最低兩位。色度瓦塊只有4個分割槽。
start + 0 |
start + 1 |
. . . |
start+15 |
|
|---|---|---|---|---|
位1:0 |
Y’0:0 |
Y’0:1 |
. . . |
Y’0:15 |
位3:2 |
Y’1:0 |
Y’1:1 |
. . . |
Y’1:15 |
位5:4 |
Y’2:0 |
Y’2:1 |
. . . |
Y’2:15 |
位7:6 |
Y’3:0 |
Y’3:1 |
. . . |
Y’3:15 |
V4L2_PIX_FMT_MT2110R與V4L2_PIX_FMT_MT2110T相同,除了最低兩位佈局採用光柵順序。這意味著第一個位元組包含第一行的4個畫素,每行4個位元組。
位元組0 |
... |
位元組3 |
|||||||
|---|---|---|---|---|---|---|---|---|---|
7:6 |
5:4 |
3:2 |
1:0 |
... |
7:6 |
5:4 |
3:2 |
1:0 |
|
start + 0 |
Y’0:3 |
Y’0:2 |
Y’0:1 |
Y’0:0 |
... |
Y’0:15 |
Y’0:14 |
Y’0:13 |
Y’0:12 |
start + 4 |
Y’1:3 |
Y’1:2 |
Y’1:1 |
Y’1:0 |
... |
Y’1:15 |
Y’1:14 |
Y’1:13 |
Y’1:12 |
start + 8 |
Y’2:3 |
Y’2:2 |
Y’2:1 |
Y’2:0 |
... |
Y’2:15 |
Y’2:14 |
Y’2:13 |
Y’2:12 |
start+12 |
Y’3:3 |
Y’3:2 |
Y’3:1 |
Y’3:0 |
... |
Y’3:15 |
Y’3:14 |
Y’3:13 |
Y’3:12 |
2.7.1.2.1.5. NV16, NV61, NV16M和NV61M¶
半平面YUV 4:2:2格式。色度平面在水平方向上子取樣2。色度行包含的畫素數量是亮度行的一半,位元組數量與亮度行相同;色度平面包含的行數與亮度平面相同。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start + 20 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
start + 24 |
Cb20 |
Cr20 |
Cb21 |
Cr21 |
start + 28 |
Cb30 |
Cr30 |
Cb31 |
Cr31 |
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cr00 |
Cb02 |
Cr02 |
start1 + 4 |
Cb10 |
Cr10 |
Cb12 |
Cr12 |
start1 + 8 |
Cb20 |
Cr20 |
Cb22 |
Cr22 |
start1 + 12 |
Cb30 |
Cr30 |
Cb32 |
Cr32 |
2.7.1.2.1.6. NV20¶
半平面10位YUV 4:2:2格式,類似於NV16,使用10位分量,分量之間無填充。一組4個分量以小端位元組序儲存,佔用5個位元組。
start + 0 |
Y’00[7:0] |
Y’01[5:0]Y’00[9:8] |
Y’02[3:0]Y’01[9:6] |
Y’03[1:0]Y’02[9:4] |
Y’03[9:2] |
start + 5 |
Y’10[7:0] |
Y’11[5:0]Y’10[9:8] |
Y’12[3:0]Y’11[9:6] |
Y’13[1:0]Y’12[9:4] |
Y’13[9:2] |
start + 10 |
Y’20[7:0] |
Y’21[5:0]Y’20[9:8] |
Y’22[3:0]Y’21[9:6] |
Y’23[1:0]Y’22[9:4] |
Y’23[9:2] |
start + 15 |
Y’30[7:0] |
Y’31[5:0]Y’30[9:8] |
Y’32[3:0]Y’31[9:6] |
Y’33[1:0]Y’32[9:4] |
Y’33[9:2] |
start + 20 |
Cb00[7:0] |
Cr00[5:0]Cb00[9:8] |
Cb01[3:0]Cr00[9:6] |
Cr01[1:0]Cb01[9:4] |
Cr01[9:2] |
start + 25 |
Cb10[7:0] |
Cr10[5:0]Cb10[9:8] |
Cb11[3:0]Cr10[9:6] |
Cr11[1:0]Cb11[9:4] |
Cr11[9:2] |
start + 30 |
Cb20[7:0] |
Cr20[5:0]Cb20[9:8] |
Cb21[3:0]Cr20[9:6] |
Cr21[1:0]Cb21[9:4] |
Cr21[9:2] |
start + 35 |
Cb30[7:0] |
Cr30[5:0]Cb30[9:8] |
Cb31[3:0]Cr30[9:6] |
Cr31[1:0]Cb31[9:4] |
Cr31[9:2] |
2.7.1.2.1.7. NV24和NV42¶
半平面YUV 4:4:4格式。色度平面不進行子取樣。色度行包含的畫素數量與亮度行相同,位元組數量是亮度行的兩倍;色度平面包含的行數與亮度平面相同。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
||||
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
||||
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
||||
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
||||
start + 16 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
Cb02 |
Cr02 |
Cb03 |
Cr03 |
start + 24 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
Cb12 |
Cr12 |
Cb13 |
Cr13 |
start + 32 |
Cb20 |
Cr20 |
Cb21 |
Cr21 |
Cb22 |
Cr22 |
Cb23 |
Cr23 |
start + 40 |
Cb30 |
Cr30 |
Cb31 |
Cr31 |
Cb32 |
Cr32 |
Cb33 |
Cr33 |
2.7.1.2.1.8. P010和平鋪P010¶
P010類似於NV12,每分量10位,擴充套件到16位。資料在高10位,低6位為零,以小端位元組序排列。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 8 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 16 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 24 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 32 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start + 40 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
2.7.1.2.1.9. P012和P012M¶
P012類似於NV12,每分量12位,擴充套件到16位。資料在高12位,低4位為零,以小端位元組序排列。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 8 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 16 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 24 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 32 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start + 40 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 8 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 16 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 24 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cr00 |
Cb01 |
Cr01 |
start1 + 8 |
Cb10 |
Cr10 |
Cb11 |
Cr11 |
2.7.1.2.2. 全平面YUV格式¶
這些格式將Y、Cb和Cr分量儲存在三個獨立的平面中。亮度平面在前,兩個色度平面的順序因格式而異。這兩個色度平面始終使用相同的子取樣。
對於記憶體連續格式,色度行尾的填充畫素數量與亮度行填充畫素數量相同。因此,色度行步幅(以位元組為單位)等於亮度行步幅除以水平子取樣因子。垂直子取樣不影響行步幅。
對於非連續格式,格式不對亮度與色度行的填充和步幅之間的關係強制任何約束。
所有分量都以相同的每分量位數儲存。
V4L2_PIX_FMT_P010_4L4以4x4瓦塊儲存畫素,並在記憶體中線性儲存瓦塊。行步幅必須對齊到8的倍數,影像高度必須對齊到4的倍數。亮度平面和色度平面的佈局是相同的。
識別符號 |
程式碼 |
每分量位數 |
子取樣 |
平面順序 [4] |
連續性 [5] |
|---|---|---|---|---|---|
V4L2_PIX_FMT_YUV410 |
‘YUV9’ |
8 |
4:1:0 |
Y, Cb, Cr |
是 |
V4L2_PIX_FMT_YVU410 |
‘YVU9’ |
8 |
4:1:0 |
Y, Cr, Cb |
是 |
V4L2_PIX_FMT_YUV411P |
‘411P’ |
8 |
4:1:1 |
Y, Cb, Cr |
是 |
V4L2_PIX_FMT_YUV420M |
‘YM12’ |
8 |
4:2:0 |
Y, Cb, Cr |
否 |
V4L2_PIX_FMT_YVU420M |
‘YM21’ |
8 |
4:2:0 |
Y, Cr, Cb |
否 |
V4L2_PIX_FMT_YUV420 |
‘YU12’ |
8 |
4:2:0 |
Y, Cb, Cr |
是 |
V4L2_PIX_FMT_YVU420 |
‘YV12’ |
8 |
4:2:0 |
Y, Cr, Cb |
是 |
V4L2_PIX_FMT_YUV422P |
‘422P’ |
8 |
4:2:2 |
Y, Cb, Cr |
是 |
V4L2_PIX_FMT_YUV422M |
‘YM16’ |
8 |
4:2:2 |
Y, Cb, Cr |
否 |
V4L2_PIX_FMT_YVU422M |
‘YM61’ |
8 |
4:2:2 |
Y, Cr, Cb |
否 |
V4L2_PIX_FMT_YUV444M |
‘YM24’ |
8 |
4:4:4 |
Y, Cb, Cr |
否 |
V4L2_PIX_FMT_YVU444M |
‘YM42’ |
8 |
4:4:4 |
Y, Cr, Cb |
否 |
亮度平面和色度平面的順序
指示平面在記憶體中是否必須連續或可以分離
顏色取樣位置: 色度取樣水平交錯分佈。
2.7.1.2.2.1. YUV410和YVU410¶
平面YUV 4:1:0格式。色度平面在每個方向上子取樣4。色度行包含的畫素和位元組數量是亮度行的四分之一,色度平面包含的行數是亮度平面的四分之一。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cr00 |
|||
start + 17 |
Cb00 |
|||
2.7.1.2.2.2. YUV411P¶
平面YUV 4:1:1格式。色度平面在水平方向上子取樣4。色度行包含的畫素和位元組數量是亮度行的四分之一,色度平面包含的行數與亮度平面相同。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cb00 |
|||
start + 17 |
Cb10 |
|||
start + 18 |
Cb20 |
|||
start + 19 |
Cb30 |
|||
start + 20 |
Cr00 |
|||
start + 21 |
Cr10 |
|||
start + 22 |
Cr20 |
|||
start + 23 |
Cr30 |
|||
2.7.1.2.2.3. YUV420, YVU420, YUV420M和YVU420M¶
平面YUV 4:2:0格式。色度平面在每個方向上子取樣2。色度行包含的畫素和位元組數量是亮度行的一半,色度平面包含的行數是亮度平面的一半。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cr00 |
Cr01 |
||
start + 18 |
Cr10 |
Cr11 |
||
start + 20 |
Cb00 |
Cb01 |
||
start + 22 |
Cb10 |
Cb11 |
||
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cb01 |
||
start1 + 2 |
Cb10 |
Cb11 |
||
start2 + 0 |
Cr00 |
Cr01 |
||
start2 + 2 |
Cr10 |
Cr11 |
||
2.7.1.2.2.4. YUV422P, YUV422M和YVU422M¶
平面YUV 4:2:2格式。色度平面在水平方向上子取樣2。色度行包含的畫素和位元組數量是亮度行的一半,色度平面包含的行數與亮度平面相同。
start + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start + 16 |
Cb00 |
Cb01 |
||
start + 18 |
Cb10 |
Cb11 |
||
start + 20 |
Cb20 |
Cb21 |
||
start + 22 |
Cb30 |
Cb31 |
||
start + 24 |
Cr00 |
Cr01 |
||
start + 26 |
Cr10 |
Cr11 |
||
start + 28 |
Cr20 |
Cr21 |
||
start + 30 |
Cr30 |
Cr31 |
||
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cb01 |
||
start1 + 2 |
Cb10 |
Cb11 |
||
start1 + 4 |
Cb20 |
Cb21 |
||
start1 + 6 |
Cb30 |
Cb31 |
||
start2 + 0 |
Cr00 |
Cr01 |
||
start2 + 2 |
Cr10 |
Cr11 |
||
start2 + 4 |
Cr20 |
Cr21 |
||
start2 + 6 |
Cr30 |
Cr31 |
||
2.7.1.2.2.5. YUV444M和YVU444M¶
平面YUV 4:4:4格式。色度平面不進行子取樣。色度行包含的畫素和位元組數量與亮度行相同,色度平面包含的行數與亮度平面相同。
start0 + 0 |
Y’00 |
Y’01 |
Y’02 |
Y’03 |
start0 + 4 |
Y’10 |
Y’11 |
Y’12 |
Y’13 |
start0 + 8 |
Y’20 |
Y’21 |
Y’22 |
Y’23 |
start0 + 12 |
Y’30 |
Y’31 |
Y’32 |
Y’33 |
start1 + 0 |
Cb00 |
Cb01 |
Cb02 |
Cb03 |
start1 + 4 |
Cb10 |
Cb11 |
Cb12 |
Cb13 |
start1 + 8 |
Cb20 |
Cb21 |
Cb22 |
Cb23 |
start1 + 12 |
Cb20 |
Cb21 |
Cb32 |
Cb33 |
start2 + 0 |
Cr00 |
Cr01 |
Cr02 |
Cr03 |
start2 + 4 |
Cr10 |
Cr11 |
Cr12 |
Cr13 |
start2 + 8 |
Cr20 |
Cr21 |
Cr22 |
Cr23 |
start2 + 12 |
Cr30 |
Cr31 |
Cr32 |
Cr33 |