libjpeg解码nv12或yuv420p

时间:2012-12-02 12:58:05

标签: libjpeg

我正在尝试使用libjpeg从jpeg中获取YUV420 palanar或semiplanar(NV12)图像。

我看到有一个选项可以指定JCS_YCbCr的输出格式,它通常是YUV格式,但据我所知,它会给我数据为3个元素{Y,U,V}的数组。因此,为了使图像格式正确,我必须自己重新排列和子采样像素,我想避免出于性能原因。

所以我想知道有没有办法配置libjpeg直接输出YUV420p / NV12缓冲区。

1 个答案:

答案 0 :(得分:3)

只需查看gstreamer源代码树中的gst_jpeg_decode()即可。此功能以及gst_jpeg_decode_direct()功能完全符合您的要求。

请注意,它提供了YUV420平面输出,绕过了libjpeg完成的所有颜色转换。 (注意:这假设输入JPEG是在YUV420色彩空间(又名I420)中编码的,几乎所有的JPEG都是如此。