2012-12-02 143 views
3

我想使用libjpeg從jpeg中取出YUV420 palanar或semiplanar(NV12)圖像。libjpeg解碼nv12或yuv420p

我看到有一個選項可以指定輸出格式爲JCS_YCbCr,通常這個格式是YUV格式,但據我所知它會給我數據作爲3個元素{Y,U,V}的數組。因此,爲了使圖像適合格式,我必須重新排列像素並對像素進行二次採樣,並且我想避免出於性能原因。

所以我想知道是否有一個YUV420P/NV12緩衝直接配置libjpeg的輸出方式。

回答

2

只需在gstreamer源代碼樹中查看gst_jpeg_decode()即可。這個函數與gst_jpeg_decode_direct()函數一起完成你想要做的事情。

請注意,它給YUV420平面輸出,繞過由libjpeg完成的所有顏色轉換。 (注意:這假定輸入的JPEG是在YUV420色彩空間(又名I420)中編碼的,對於幾乎所有的JPEG都是如此。