YUV的數據格式


一、YUV格式分為兩大類:planar(平面)和packed(打包)。planar格式,先連續存儲所有像素點的Y分量,緊接着存儲所有像素點的U,隨后存儲所有像素點的V。packed格式,每個像素點的Y、U、V分量是連續存儲的。

二、YUV碼流的存儲格式其實與其采樣的方式密切相關,主流的采樣方式有三種,YUV4:4:4,YUV4:2:2,YUV4:2:0。用三個圖來直觀地表示采集的方式,以黑點表示采樣該像素點的Y分量,以空心圓圈表示采用該像素點的UV分量。如下:

1、YUV 4:4:4采樣,每一個Y對應一組UV分量。

2、YUV 4:2:2采樣,每兩個Y共用一組UV分量。

3、YUV 4:2:0采樣,每四個Y共用一組UV分量。 

三、YUV各種存儲格式

1、YUV420

(1)IYUV(I420)

IYUV(I420)是planar模式的YUV。

假設YUVI420視頻的長為L,寬為W,則一幀YUV數據長度為L*W*3/2字節,一幀YUV數據中內存起始指針為P,Y數據的起始指針為P,U數據的起始指針為P+L*W,V數據的起始指針為P+L*W*5/4。

(2)YV12

YV12類似於IYUV(I420),只是U和V的順序相反。

(3)NV12

NV12是two-planar模式的YUV。

(4)NV21

NV21類型與NV12,只是U和V的順序相反。

 2、YUV444

假設YUVI420視頻的長為L,寬為W,則一幀YUV數據長度為L*W*3字節,一幀YUV數據中內存起始指針為P,Y數據的起始指針為P,U數據的起始指針為P+L*W,V數據的起始指針為P+L*W*2。

參考:

http://www.fourcc.org/fourcc.php

http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM