KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE
フォーカス モード プロパティは、カメラの自動、手動、およびプリセットのフォーカス モードを制御します。
用法の要点テーブル
Yammer の入手 | 設定 | 移行先 | プロパティ記述子の種類 | プロパティ値の種類 |
---|---|---|---|---|
はい |
Yes |
Assert |
プロパティ値 (操作データ) には、KSCAMERA_EXTENDEDPROP_HEADER 構造体と KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体が含まれています。
プロパティ データの合計サイズは、sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) です。 KSCAMERA_EXTENDEDPROP_HEADER の Size メンバーは、このプロパティ データの合計サイズに設定されます。
KSCAMERA_EXTENDEDPROP_HEADER の Capability メンバーには、次のビデオ処理オプションの 1 つ以上のビット論理和の組み合わせが含まれています。
処理モードとフォーカス モード | 説明 |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO | カメラ ドライバーは、ビデオに独自の処理ロジックを使用します。 |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL | カメラ ドライバーは、プリセットの処理方法または温度ベースのメソッドを使用します。 |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK | 現在のビデオ処理方法がロックされています。 |
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS | 収束焦点は設定されません。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO | マクロ範囲の焦点収束。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL | 通常の範囲の焦点収束。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE | 全範囲の焦点収束。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY | 無限範囲の焦点収束。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL | 過焦点範囲。 |
KSCAMERA_EXTENDEDPROP_HEADER の Flags メンバーには、カメラに現在設定されているビデオ処理フラグが含まれています。 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO の設定を KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK と組み合わせることができる場合。
このプロパティ コントロールは非同期であり、取り消し可能です。
解説
処理モード
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
このフラグは、完了イベントがトリガーされたときに自動フォーカス操作が収束したことを示します。 完了時に、このフラグが KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK と組み合わされていない場合、フォーカスが分岐し、カメラ ドライバーが収束を試み続ける可能性があります。 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK フラグが含まれている場合、フォーカスは最初の収束にロックされ、新しいフォーカス コマンドが受信されるまで変更されません。
ロックを自動モードと組み合わせずに使用する場合、既にロックされているコントロールをカメラ ドライバーによる操作なしとして扱う必要があります。 ロックを自動モードと組み合わせて使用する場合、既にロックされているコントロールが新しい収束をトリガーする必要があります。
このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL フラグと KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS フラグと相互に排他的です。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
手動は、このビデオ処理で、特定の値が提供されることを示します。 特定の値はドライバーに提供されます。
このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK、または KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせてはなりません。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK
このフラグが対応する KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO フラグなしで設定されている場合、カメラ ドライバーは現在のフォーカス状態をロックし、フォーカスがロックされると完了イベントをトリガーすることが期待されます。 カメラ ドライバーは、新しいフォーカス コマンドを受け取るまでフォーカスの状態を変えてはなりません。 このフラグ KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 組み合わせた場合、カメラ ドライバーは自動フォーカスに収束し、フォーカスをその収束ポイントにロックしてから、完了イベントをトリガーします。 このフラグは、KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS または KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL と組み合わせてはなりません。
このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO と組み合わされていない限り、フォーカス コントロールの範囲フラグと共に指定することはできません。 その場合、範囲フラグを使用してフォーカスが実行され、自動フォーカス スキャンを実行する場所が決定されます。 次に、収束すると、フォーカス設定がロックされ、完了イベントが発生します。
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS
このフラグは、フォーカスが連続していることを示します。 この場合、フォーカス制御の収束ポイントは 1 つもありません。 ドライバーは、この要求を受け入れて、すぐに非同期操作を完了する必要があります。
このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK、または KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL と組み合わせてはなりません。
このモードはすべてのドライバーで必要になります。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO
このフラグは、マクロ範囲に対してフォーカスの収束を実行する必要があることを示します。 正確な焦点範囲はドライバーによって決まります。 このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO および KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせることができます。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL
このフラグは、通常範囲に対してフォーカスの収束を実行する必要があることを示します。 正確な焦点範囲はドライバーによって決まります。 このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO および KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせることができます。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE
このフラグは、全範囲に対してフォーカスの収束を実行する必要があることを示します。 正確な焦点範囲はドライバーによって決まります。 このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO および KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせることができます。
このモードはすべてのドライバーで必要になります。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY
このフラグは、無限範囲に対してフォーカスの収束を実行する必要があることを示します。 正確な焦点範囲はドライバーによって決まります。 このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO および KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせることができます。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL
このフラグは、過焦点範囲に対してフォーカスの収束を実行する必要があることを示します。 正確な焦点範囲はドライバーによって決まります。 このフラグは、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO および KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS と組み合わせることができます。
プロパティの取得
KSPROPERTY_TYPE_GET 要求に応答する際、ドライバーは KSCAMERA_EXTENDEDPROP_HEADER のメンバーを次のように設定します。
メンバー | 値 |
---|---|
バージョン | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)。 |
サイズ | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
結果 | 0 |
機能 | KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL | KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE | (ビデオ処理とフォーカス モードがサポートされています) |
Flags | 現在のビデオ処理とフォーカス モード。 |
フォーカス範囲フラグが以前に設定されていない場合、ドライバーは Flags を KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO (既定) と共に KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE に設定します。 KSCAMERA_EXTENDEDPROP_HEADER 構造体に続く KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体のメンバーは、フォーカス モードの要件に従って設定されます。
VideoProp.Value.ull 値には、モードが KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO の場合の現在の露出設定が含まれている必要があります。
プロパティの設定
プロパティが設定されている場合、KSPROPERTY_TYPE_SET 要求、KSCAMERA_EXTENDEDPROP_HEADER の Flags メンバーには、設定するフォーカス モードが含まれます。 Flags に KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK、KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS が含まれている場合、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING の VideoProc.Value メンバーは無視する必要があります。
要件
バージョン |
Windows 8.1 以降で使用できます。 |
ヘッダー |
ksmedia.h (Ksmedia.h をインクルード) |