2017-05-16 4 views
3

터보 jpeg를 사용하여 JPEG 이미지를 Y'UV420p로 변환하고 싶습니다. 나는 이것이 각각의 U와 V 구성 요소에있는 Y '의 정보가 두 배가되는 몇 가지 2x2 블록을 사용한다고 생각하지만이 작업을 수행하는 예제를 찾을 수 없었습니다.turbojpeg의 tjDecompressToYUV2 데이터 형식

tjDecompressToYUV2에서 어떻게 이러한 개별 사본을 추출하고 크기가 2의 배수 인 이미지에 할당 된 버퍼의 형식은 무엇입니까?

1024 x 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); 
... 

즉. 구성 요소는 버퍼에서 어떻게 추출됩니까?

답변

3

3 개의 출력 버퍼에 3 색 공간을 제공하는 tjDecompressToYUV 함수를 사용해보십시오. Y 버퍼는 Y 구성 요소에 대해 1 바이트 (8 비트 값)를 포함해야합니다. 나는 chroma 구성 요소를 사용한 적이 없으므로 저장 방법을 말할 수는 없습니다.

이 문제를 해결할 다른 방법이있을 수 있으므로 수행하려는 작업은 무엇입니까?