다음을 통해 공유


KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT(확장된 하드웨어 최적화)

KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT 사진 캡처와 비디오 캡처의 기본 사용 사례를 제어하는 데 사용됩니다. Windows 10 이 컨트롤은 확장된 하드웨어 최적화 힌트를 지원하도록 확장됩니다.

사용량 요약 테이블

범위 컨트롤 형식
버전 1 필터 동기

다음 플래그는 KSCAMERA_EXTENDEDPROP_HEADER 배치할 수 있습니다. 드라이버의 하드웨어 최적화 힌트에 필드 플래그를 지정합니다.

#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT      0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO        0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO        0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY      0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY      0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER        0x0000000000000010

PHOTO 및 VIDEO 힌트는 기본 사용 사례를 지정하는 데 계속 사용됩니다.

Windows 10 경우 추가 비트 플래그는 드라이버의 품질, 속도 및 전력 소비를 절충하는 데 도움이 됩니다. 기본적으로 드라이버에는 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO 있어야 합니다.

드라이버가 이 컨트롤을 지원하는 경우 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO 및 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO 지원해야 합니다.

드라이버가 최적화 힌트를 지원하지 않는 경우 드라이버는 이 컨트롤을 구현해서는 안 됩니다.

다음 표에서는 플래그 기능에 대해 설명합니다.

플래그 설명
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT 필수 기능입니다. 지정된 경우 드라이버는 드라이버에서 이전에 설정한 힌트를 지우고 드라이버의 기본 전원, 품질, 대기 시간 절충을 적용해야 합니다.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO 필수 기능입니다. 지정된 경우 기본 사용 사례는 사진 캡처이며, 운전자는 비디오 녹화보다 사진 캡처의 우선 순위를 지정해야 합니다. 이 플래그는 미리 보기 핀이 중지된 상태일 때 사진 품질을 위해 센서 모드를 선택하거나 비디오 녹화 중에만 사진 캡처를 위해 실행 중 상태일 때 지정할 수 있습니다. 비디오 녹화 중에 사진 캡처를 지정하면 더 나은 사진 품질을 위해 비디오 스트림의 결함이 허용됩니다. 이 플래그는 VIDEO 플래그와 함께 사용할 수 없으며 품질, 대기 시간 및 POWER 플래그 중 하나 또는 두 개와 함께 사용할 수 있습니다.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO 필수 기능입니다. 지정된 경우 기본 사용 사례는 비디오 캡처이며, 드라이버는 사진 캡처보다 비디오 녹화의 우선 순위를 지정해야 합니다. 이 플래그는 미리 보기 핀이 비디오 녹화를 위해 센서 모드를 선택하기 위해 중지된 상태이거나 비디오 녹화 중에만 사진 캡처를 위한 실행 중 상태일 때 지정할 수 있습니다. 비디오 녹화 중에 사진 캡처를 지정하면 비디오 스트림의 결함이 허용되지 않습니다. 이 플래그는 PHOTO 플래그와 함께 사용할 수 없으며 품질, 대기 시간 및 POWER 플래그 중 하나 또는 두 개와 함께 사용할 수 있습니다.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY 이 기능은 선택 사항입니다. 지정된 경우 드라이버는 사진 캡처의 이미지 품질과 비디오 녹화에 대한 비디오 품질을 최적화해야 합니다. 이 플래그는 사진 캡처(기록 프레임이 없는 일반 사진, VPS 및 PS 포함) 및/또는 비디오 녹화가 시작되기 전에 또는 핀이 중지된 상태일 때 지정할 수 있습니다. 이 플래그는 PHOTO 플래그 또는 VIDEO 플래그와 함께 LATENCY 또는 POWER 플래그와 함께 사용할 수 있습니다.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY 이 기능은 선택 사항입니다. 지정된 경우 드라이버는 사진 캡처 및 비디오 녹화에 대한 속도와 대기 시간을 최적화해야 합니다. 이 플래그는 사진 캡처(기록 프레임이 없는 일반 사진, VPS 및 PS 포함) 및 비디오 녹화가 시작되기 전 또는 핀이 중지된 상태일 때 지정할 수 있습니다. 이 플래그는 PHOTO 플래그 또는 비디오 플래그와 함께 QUALITY 또는 POWER 플래그와 함께 사용할 수 있습니다.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER 이 기능은 선택 사항입니다. 지정된 경우 드라이버는 사진 캡처 및 비디오 녹화에 대한 전력 소비를 최적화해야 합니다. 이 플래그는 사진 캡처(기록 없이 일반 사진, VPS 및 PS 포함) 및/또는 비디오 녹화가 시작되기 전에 또는 핀이 중지된 상태일 때 지정할 수 있습니다. 이 플래그는 비디오 플래그와 함께 QUALITY 또는 LATENCY 플래그와 함께 사용할 수 있습니다.

다음 표에는 컨트롤을 사용할 때 KSCAMERA_EXTENDEDPROP_HEADER 구조 필드에 대한 설명과 요구 사항이 포함되어 있습니다.

멤버
버전 1
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE(0xFFFFFFFF)
크기 sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
결과 마지막 SET 작업의 오류 결과를 나타냅니다. SET 작업이 수행되지 않은 경우 0이어야 합니다.
기능 위에 정의된 대로 지원되는 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* 플래그의 비트 OR이어야 합니다.
플래그 읽기/쓰기 필드입니다. 위에서 정의한 지원되는 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* 플래그의 유효한 조합일 수 있습니다.

설명

최적화 힌트를 사용할 때 다음 항목에 유의하세요.

  • 품질/대기 시간/POWER 및 사진/비디오는 독립적인 힌트의 두 집합입니다. 동시에 또는 서로 다른 시간에 독립적으로 지정할 수 있습니다. 품질/대기 시간/전원을 설정해도 사진/비디오를 덮어쓰지 않으며 그 반대의 경우도 마찬가지입니다. 다른 시간에 지정된 경우 드라이버는 GET 호출에서 두 힌트 집합의 현재 설정을 반환해야 합니다.

  • 품질/대기 시간/POWER의 경우 힌트가 설정되면 드라이버는 해당 제약 조건 내에서 최적화해야 합니다. 최적화를 사용할 수 없는 경우 드라이버는 힌트를 무시해야 합니다.

  • 비디오 사용 사례에 대해 두 개의 힌트를 동시에 지정하는 경우 각 힌트의 최적화는 힌트가 하나만 지정된 경우보다 작을 수 있습니다. 더 구체적으로 살펴보면 다음과 같습니다.

    • LATENCY는 품질 또는 전원도 지정된 경우 품질 또는 전원보다 우선합니다. 이 경우 품질만 지정한 경우보다 품질이 낮을 수 있으며 전원만 지정된 경우보다 전력 소비량이 높을 수 있습니다.

    • 품질과 전원을 모두 지정하면 품질만 지정된 경우보다 품질이 낮을 수 있으며 전원 사용량이 POWER만 지정된 경우보다 높을 수 있습니다.

  • 최적화 힌트는 애플리케이션에서 지정한 캡처 시나리오의 제약 조건 내에서 3A, ISP 처리, 센서 선택 등의 처리 장단점이 용이하도록 드라이버에 대한 힌트로만 제공됩니다. 앱 개발자는 최상의 결과를 얻기 위해 특정 캡처 시나리오에 가장 적합한 컨트롤 및 API를 선택하고 구성하는 것이 중요합니다. 그렇지 않으면 최적화 힌트만으로도 효과가 감소할 수 있습니다. 예를 들어 고품질 사진 캡처의 경우 품질 힌트를 사용하려면 특정 IHV 플랫폼에서 PS 대신 VPS 또는 LowLagPhoto/TakePhoto를 사용해야 합니다. 마찬가지로 대기 시간이 더 짧거나 전력 소비가 필요한 경우 비디오 안정화를 사용하지 않도록 설정해야 합니다.

  • 각 기능 플래그에 지정된 것 이외의 시간/상태에서 수신되는 경우 최적화 힌트는 무시됩니다.

드라이버에서 비디오 손떨림 보정 컨트롤도 사용하도록 설정된 경우(ON 또는 AUTO):

  • 드라이버는 짧은 대기 시간 및/또는 낮은 파워 비디오 안정화 알고리즘을 포함하는 가장 낮은 공격적인 비디오 안정화를 적용하여 대기 시간 및/또는 POWER 힌트가 설정된 경우 처리 대기 시간 및/또는 전력 소비를 줄일 수 있습니다. 비디오 손떨림 보정이 AUTO로 설정되면 드라이버는 비디오 안정화를 해제하여 대기 시간 및/또는 전력 소비를 더욱 줄일 수 있습니다.

  • 드라이버는 품질 힌트가 설정된 경우 비디오 품질을 개선하기 위해 가장 공격적인 비디오 안정화를 적용할 수 있습니다.

요구 사항

헤더: Ksmedia.h(Ksmedia.h 포함)