我对NV12格式有点困惑。我正在查看this页面以了解格式。
我目前理解的是,如果您有640 x 480
diminsion的图像或视频,则Y平面将具有640 x 480
个字节,而U和V两个平面都具有640/2 x 480/2
。这并不意味着U平面具有640/2 x 480/2
且V平面具有640/2 x 480/2
且仅具有640/2 x 480/2
个字节。所以out缓冲区数组中的总字节数将是。
2乘以(640/2) * (480/2)
,因为uv平面将占用两个字节。
byte [] myArray new byte[(640 * 480) + (2 * (640/2) * (480/2)) ];
所以问题是我以正确的方式理解它?我是以指定NV12格式的格式制作字节数组。
答案 0 :(得分:20)
NV12格式被二次采样为4:2:0
框架的总大小为W x H x 3 / 2
其中W为宽度,H为高度。
vga分辨率中的1帧是460800字节,其中
希望这能回答你的问题...
答案 1 :(得分:0)
要添加到第一个答案,NV12格式将U和V色度数据交织。
对于640x480
图像帧,NV12表示形式由720行640字节组成:
前480行各包含640个亮度(Y)值。
最后240行各包含(U,V)个值的320个元组。