2017-06-16 263 views
0

我不理解的文檔,例如:ffmpeg - AVPixelFormat,什麼是「smaples」在文檔中的含義?

AV_PIX_FMT_YUV422P planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) 

我不理解的「(1×1每Y樣本的Cr & Cb採樣)」的含義, 什麼意思4:2 :2?我無法在任何地方找到解釋。

此外,我看到有像AV_PIX_FMT_YUV420P類型有12bpp。這是否意味着每個像素都由12位表示?如果是這樣,它是如何表示的?我應該爲每個像素分配兩個字節並忽略最後4位?或者我應該分配像ceil((#像素)* 1.5)字節的東西?

+0

https://en.wikipedia.org/wiki/YUV? – aergistal

回答

2

AV_PIX_FMT_YUV422P平面YUV 4:2:2,16bpp的,(每2×1個& Cb採樣 Y樣本)

對於這裏所有意圖和目的,Cb = UCr = v(有一個區別不是在這裏做的,但它只會讓事情更混亂,所以最好現在忽略)

PAV_PIX_FMT_YUV422P代表平面。每個通道都有它自己的平面或緩衝區。有用於Y,U單獨的圖像,和V.

4:2:2色度(UV)平面是亮度(Y)面的高度的一半。所以如果你的圖像是1920x1080,色度平面是1920x540。 對於4:2:0鍍鉻面是半高和半寬,960x540。

4:2:2 16bpp = (8 × 1920 × 1080 + 8 × 1920 × 1080 + 8 × 960 × 540)/(1920 × 1080)

4:2:0 12bpp = (8 × 1920 × 1080 + 8 × 960 × 540 + 8 × 960 × 540)/(1920 × 1080)

我應該分配兩個字節用於每個像素?

不,你應該分配3架飛機和獨立填充。

相關問題