2017-05-09 17 views
1

AVFoundation을 사용하여 이미지를 캡처하고 최대 품질의 JPEG로 저장하려고합니다. AVFoundation 캡처에 대한 AVVideoCodecJPEG 및 AVVideoQualityKey를 알고 있지만 찾고있는 출력을 생성하지 않습니다. 즉, 4 : 4 : 4 크로마 하위 샘플링을 사용하려면 최종 JPEG가 필요합니다. 대신 AVFoundation은 1.0 (최대)으로 설정된 품질에서도 4 : 2 : 0 크로마 하위 샘플링을 사용하여 이미지를 생성합니다. BGRA32 형식으로 이미지를 캡처하고 나중에 VideoToolbox로 압축하려고했습니다. 동일한 결과입니다. 원하는 출력을 얻을 수있는 유일한 방법은 CGImageDestinationCreateWithData 메서드를 사용하는 것입니다. 그러나 너무 느립니다. 12 MPx 이미지의 경우 0.4 초 (품질을 1.0 미만으로 설정하면 이미지는 0.1 초 크기로 압축 될 수 있지만 4 : 2 : 0 크로마 서브 샘플링).AVFoundation 또는 VideoToolbox JPEG 압축

AVFoundation 또는 VideoToolbox를 사용하여 4 : 4 : 4의 채도 서브 샘플링을 사용하여 JPEG을 제작하는 데 성공한 사람이 있습니까? 아니면 거기에 CGImageDestinationCreateWithData 메서드를 가속하는 방법은 무엇입니까? 미리 감사드립니다.

답변

1

하드웨어 가속화 JPG 압축을 사용하여 4 : 4 : 4 크로마 하위 샘플링을 지원하지 않는 것 같습니다.