KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION
이 확장 속성 컨트롤은 driver\MFT0에서 디지털 비디오 안정화를 제어하는 데 사용됩니다.
사용량 요약 테이블
범위 | 컨트롤 | 형식 |
---|---|---|
버전 1 |
Pin |
동기 |
KSCAMERA_EXTENDEDPROP_HEADER 배치할 수 있는 다음 플래그입니다. driver\MFT0에서 디지털 비디오 안정화를 제어하기 위해 필드 플래그에 플래그를 지정합니다. 기본적으로 드라이버는 비디오 안정화를 해제해야 합니다.
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO 0x0000000000000002
드라이버가 디지털 비디오 안정화를 지원하지 않는 경우 드라이버는 이 컨트롤을 구현해서는 안 됩니다.
드라이버가 이 컨트롤을 지원하는 경우 VIDEOSTABILIZATION_ON\OFF를 지원해야 합니다.
비디오 핀이 KSSTATE_STOP 상태보다 높은 상태에 있는 경우 이 컨트롤의 SET 호출은 영향을 주지 않습니다. 비디오 핀이 중지 상태가 아니고 STATUS_INVALID_DEVICE_STATE 반환하는 경우 드라이버는 수신된 SET 호출을 거부해야 합니다. GET 호출에서 드라이버는 Flags 필드에 현재 설정을 반환해야 합니다.
이 컨트롤이 프로필의 컨텍스트에서 사용되는 경우 프로필은 품질 모드에 대한 드라이버에 대한 힌트 역할을 해야 합니다. 드라이버는 선택한 프로필(예: 비디오 회의 또는 고품질 비디오 녹화)에 따라 비디오 안정화가 켜져 있을 때 짧은 대기 시간 또는 높은 품질에 맞게 최적화할지 여부를 결정할 수 있습니다.
참고
PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION Windows 10 사용되지 않습니다.
다음 표에서는 플래그 기능에 대해 설명합니다.
플래그 | 설명 |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF |
이는 필수 기능입니다. 지정된 경우 driver\MFT0에서 디지털 비디오 손떨림 보정을 사용할 수 없습니다. |
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON |
이는 필수 기능입니다. 지정하면 driver\MFT0에서 디지털 비디오 손떨림 보정을 사용할 수 있으며 기본 오버스캔 패딩 설정은 드라이버에 달려 있습니다. 이 플래그는 AUTO 및 OFF 플래그와 함께 사용할 수 없습니다. |
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO |
이 기능은 선택 사항입니다. 지정된 경우 이러한 기능을 지원하는 드라이버는 비디오 안정화를 수행해야 하는지 여부와 장면 분석 및 캡처 시나리오에 따라 적용할 손떨림 보정의 양을 결정합니다. 이 플래그는 ON 및 OFF 플래그와 함께 사용할 수 없습니다. |
참고
구현에 따라 오버스캐닝된 버퍼는 드라이버 내부적으로 또는 파이프라인에 의해 할당될 수 있습니다.
오버스캐닝된 버퍼를 드라이버에서 할당하는 경우 드라이버는 일반 미디어 유형과 오버스캐닝된 미디어 유형을 모두 보급해야 합니다. MFT0은 일반 미디어 유형을 보급해야 합니다. MFT0의 출력 미디어 형식에서 일반 미디어 형식을 설정하면 MFT0은 비디오 안정화가 설정된 경우 드라이버에서 보급된 미디어 형식을 입력 미디어 유형으로 선택하여 해당 오버스캐닝된 미디어 유형을 선택해야 합니다. 비디오 손떨림 보정이 꺼져 있으면 MFT0에서 입력 미디어 유형으로 일반 미디어 형식을 선택해야 합니다. 비디오 손떨림 보정이 켜져 있을 때 오버스캐닝된 미디어 유형이 출력 미디어 형식으로 설정된 경우 MFT0은 MF_E_INVALIDMEDIATYPE 반환해야 합니다.
드라이버에서 오버스캐닝된 버퍼를 할당하는 경우 드라이버와 MFT0 모두 일반 미디어 유형을 보급해야 합니다. MFT0은 입력 미디어 형식과 출력 미디어 형식 모두에 대한 일반 미디어 형식을 설정해야 합니다.
효과 기반 비디오 안정화(즉, 드라이버나 MFT0에서 수행되지 않은 비디오 안정화)를 지원하기 위해 드라이버와 MFT0은 오버스캐닝된 미디어 유형을 추가로 보급해야 합니다. 이 경우 일반 및 오버스캐닝된 미디어 유형은 모두 드라이버와 MFT0에 의해 노출됩니다. 다음 규칙이 적용되어 효과 기반 및 driver\MFT0 기반 비디오 안정화가 제대로 작동하는지 확인합니다.
드라이버\MFT0 기반 비디오 안정화가 설정된 동안 오버스캐닝된 미디어 유형이 MFT0 출력 미디어 유형으로 설정된 경우 MFT0은 MF_E_INVALIDMEDIATYPE 반환해야 합니다.
일반 미디어 유형이 MFT0 출력 미디어 유형으로 설정된 경우 효과 기반 비디오 안정화가 오버스캐닝된 미디어 유형만 사용할 수 있는 경우 앱은 효과 기반 비디오 안정화를 켜려는 시도에서 오류를 반환해야 합니다.
아래 표에는 비디오 손떨림 보정 컨트롤을 사용할 때 KSCAMERA_EXTENDEDPROP_HEADER 구조 필드에 대한 설명과 요구 사항이 포함되어 있습니다.
멤버 | Description |
---|---|
버전 |
1이어야 합니다. |
PinId |
비디오 핀과 연결된 핀 ID여야 합니다. |
크기 |
sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)여야 합니다. |
결과 |
마지막 SET 작업의 오류 결과를 나타냅니다. SET 작업이 수행되지 않은 경우 0이어야 합니다. |
기능 |
위에서 정의한 대로 지원되는 KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX 플래그의 비트 OR이어야 합니다. |
플래그 |
읽기/쓰기 필드입니다. 위에서 정의한 KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX 플래그 중 하나일 수 있습니다. |
요구 사항
헤더 |
Ksmedia.h |