YUVFormat.YUV_420 和 ColorSpace.YUV420 有什么区别?

Pau*_*ire 0 java jmf color-space fmj jcodec

我搜索并阅读了大量资料,但似乎找不到答案。我认为这些“类型”是相等的,但是当我使用 jcodec 将 h264 解码为字节时,我假设数据输出是 YUV 4:2:O Planar (YUV420P);这是我的 VPX 编码器的预期输入类型。VPX 编码图像如下所示: 在此输入图像描述

所以我必须假设虽然 YUVFormat.YUV_420 最有可能是 YUV420P,但 ColorSpace.YUV420 是 YUV420 的其他变体。有谁知道它是什么变体,以便我可以找到转换例程?

小智 5

一种格式将 u 和 v 数据交错以形成完整的扫描线。另一个写入整个 U,然后写入整个 v 数据。这些是在整个 Y 图像之后。yuv420 和 yuv420p 指定哪种布局。yuv420先写入所有u数据,然后写入所有v数据,yv420p逐行扫描u和v数据交错。该图像可能有点误导,因为数据大小足够小,无法显示大块的 u 和 v 像素。

yuv420非P

我相信 yuv420p 会交织 U1U2U3 V1V2V3 U4U5U6 V4V5V6