2012-12-02 2 views
3

나는 libjpeg를 사용하여 jpeg에서 YUV420 석면 또는 준 평면 (NV12) 이미지를 얻으려고합니다.libjpeg 디코드 nv12 또는 yuv420p

일반적으로 YUV 형식 인 JCS_YCbCr의 출력 형식을 지정할 수있는 옵션이 있지만 데이터가 {Y, U, V}의 3 요소 배열로 제공된다는 것을 이해하면 알 수 있습니다. 그래서 올바른 형식으로 이미지를 얻으려면 픽셀을 다시 배치하고 서브 샘플링해야하며 성능상의 이유로 피하기를 원합니다.

그래서 libjpeg가 YUV420p/NV12 버퍼를 직접 출력하도록 구성하는 방법이 있는지 궁금합니다.

답변

2

gstreamer 소스 트리에서 gst_jpeg_decode()을 살펴보십시오. gst_jpeg_decode_direct() 기능과 함께이 기능은 사용자가 원하는 기능을 정확하게 수행합니다.

libjpeg에서 수행 한 모든 색상 변환을 우회하여 YUV420 평면 출력을 제공합니다. (참고 : 여기서는 입력 JPEG이 YUV420 색 공간 (일명 I420)으로 인코딩되어 있다고 가정합니다. 거의 모든 JPEG의 경우 해당됩니다.