turbojpeg的tjDecompressToYUV2数据格式

时间:2017-05-16 00:48:10

标签: turbojpeg

我想使用turbo jpeg将JPEG图像转换为Y' UV420p。我认为这使用了一些2x2块,其中有两倍的信息在Y'在每个U和V组件中都有,但我还没有找到这样做的例子。

如何从tjDecompressToYUV2中提取这些单独的coponents,以及为尺寸是2的幂的倍数的图像分配的缓冲区的格式是什么?

假设我的图像宽1024像素,高512像素。我如何提取每个Y' U和V值来自以下代码:

constexpr auto height = 512u;
constexpr auto width = 1024u;  
unsigned char buffer[height * width * 3 / 2];
...
tjDecompressToYUV2(jpegDecompressor, jpegImage, jpegSize, buffer, width, 2, height, TJFLAG_FASTDCT);
...

即。如何从缓冲区中提取组件?

1 个答案:

答案 0 :(得分:1)

尝试使用tjDecompressToYUV函数,该函数为3个不同的输出缓冲区提供3个颜色空间。 Y缓冲区应包含Y分量的一个字节(8位值)。我从未使用色度分量,所以我无法告诉你它们是如何存储的。

你要做的是什么,因为可能有另一种方法可以解决这个问题?