2014-02-14 2 views
3

나는 8 메가 픽셀로 정지 영상을 캡처하려고합니다. 완성 처리기로 오는 데 걸리는 시간은 카메라 파이프 라인에 의해 결정됩니다. 보통 iPhone 5S는 iPhone 5가 0.15 초 미만인 0.33 초를 취하고 있습니다. 몸이 이것을 설명합니다. 이것은 프로파일 링 코드입니다.아이폰 5S보다 아이폰 5S에서 스틸 이미지 캡처 시간이 느린가요?

__block NSDate *TimerAcross = [NSDate date]; 
    [stillImageOutput captureStillImageAsynchronouslyFromConnection:connection 
                completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) 
    { 
     DLog(@"handler call timer = %f", [[NSDate date] timeIntervalSinceDate:TimerAcross]); 
    }` 

사각형 코드 (사과 데모 코드)에서 동일한 코드를 사용해 볼 때. 나는 아이폰 5S에 걸리는 시간이 약 0.6 초이고 아이폰 5보다 적음을 본다. 이유는 무엇인가.

내 설정은 YUVSP 이미지를 캡처하기위한 것입니다. `NSMutableDictionary * outputSettings = [NSMutableDictionary dictionaryWithObject : AVVideoCodecJPEG forKey : AVVideoCodecKey];

[outputSettings setValue : @ (kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) forKey : (id) kCVPixelBufferPixelFormatTypeKey];

NSMutableDictionary *videoOutputSettings = [NSDictionary dictionaryWithObject:@(kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) forKey:(id)kCVPixelBufferPixelFormatTypeKey]; 

[stillImageOutput setOutputSettings:outputSettings]; 
[videoDataOutput setVideoSettings:videoOutputSettings]; 
videoDataOutput.alwaysDiscardsLateVideoFrames = YES; 

if([captureSession canAddOutput:stillImageOutput] && [captureSession canAddOutput:videoDataOutput]) 
{ 
    [captureSession addOutput:videoDataOutput]; 
    [captureSession addOutput:stillImageOutput]; 
    NSLog(@"added output to captureSession"); 
    return YES; 
} 
else 
{ 
    NSLog(@"error in adding still image output"); 
    return NO; 
} 

}`

답변

2

공유하거나 연결의 비디오 방향 설정을 확인하시기 바랍니다.

일부 고정 방향으로 설정하면 하드웨어가 콜백을 통해 복귀하는 데 약간의 시간이 걸릴 수 있습니다. 현재 장치 방향에 따라 [connection setVideoOrientation :] 방향 설정 방법을 사용하면 빠른 콜백이됩니다.

자세한 내용은 당신은 멋진 일이 Link

+2

을 읽을 수 있습니다. @ poloolop을. 프리젠 테이션을 올바른 방향으로 설정하고 제안한 후에 ​​설정했습니다. 나는 아직도이 문제가 5S에 불과하다는 것을 알아낼 수 없다. –