NV12格式和UV平面

Mad*_*adu 5 c# yuv color-space libyuv nv12-nv21

我对NV12格式有点困惑.我正在查看页面以了解格式.我目前理解的是,如果你有一个640 x 480diminsion 的图像或视频,那么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)) ];
Run Code Online (Sandbox Code Playgroud)

所以问题是我以正确的方式理解它?我是以指定NV12格式的格式制作字节数组的.

Fre*_*ihl 23

NV12格式被子采样为4:2:0

420

框架的总大小是W x H x 3 / 2W是宽度而H是高度.

vga分辨率中的1帧是460800字节,其中

  • Y部分是640x480字节
  • Cb-part是640*480/4 = 76800字节
  • Cr部分是640*480/4 = 76800字节

希望这能回答你的问题......