NV21 格式和奇数图像尺寸

sil*_*ren 6 android image yuv android-camera nv12-nv21

我在 Android 中使用 NV21 图像已经有一段时间了,我一直在跟踪一个错误,该错误可能是由 NV21 图像中的不正确索引字节引起的。

这个问题的答案中的图像很好地概述了 Y、U 和 V 字节在图像缓冲区中的位置。不确定是否允许,但我将其嵌入如下:

YUV420SP NV21 格式

  1. 当图像具有奇数尺寸(如奇偶校验)时会发生什么?这种格式甚至可能吗?
  2. 我们在某处有这种格式的官方规范吗?

jpo*_*ell 7

对于具有奇数维度的图像(即 W 或 H 之一,在 WxH 图像中为奇数),您希望 Y 平面像往常一样完全采样,使用 WxH 样本,然后是 2(⌈W/ 2⌉ x ⌈H/2⌉) 色度样本,我们将每个图像维度除以 2,但向上舍入而不是向下舍入。

所以图像边缘的一些像素的色度样本仅对应于 1 或 2 个原始像素,而不是 4 个。我希望这是有道理的。您可以在此链接中看到其他几个库在处理 YUV 图像中的奇数维度之前遇到了问题。

对于你的第二个问题,我还没有看到官方规范,但我在android框架中看到了一些处理这种格式的代码,我会看看是否可以挖掘它的链接,并将其附加到这个答案中。