KSPROPERTY_CAMERACONTROL_EXTENDED_WHITEBALANCEMODE
ホワイト バランス モードプロパティは、ホワイト バランスの自動処理を行うか、代わりに手動の温度値を使用するかを指定します。
用法の要点テーブル
取得 | 設定 | 対象 | プロパティ記述子の種類 | プロパティ値の種類 |
---|---|---|---|---|
はい | はい | フィルター | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
プロパティ値 (操作データ) には、 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_HEADER の Flags メンバーには、カメラに現在設定されているビデオ処理フラグが含まれています。 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO の設定は、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK と組み合わせることができます。
このプロパティ コントロールは非同期であり、取り消し可能ではありません。
解説
処理モード
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
これは、自動処理がサポートされていることを示します。 ドライバーは、内部ロジックを使用してビデオ処理を最適化します。 KSPROPERTY_TYPE_GET 要求の場合、 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING の VideoProc メンバーには、ビデオ処理用に現在のドライバーによって決定された値が含まれている必要があります。 ホワイト バランスの場合はケルビンの現在の温度を含む必要があります。 Mode メンバーは、自動操作では無視されます。
このフラグは、ビット論理和の値として KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK と組み合わせることができます。 ロックされている場合、カメラ ドライバーの予想される動作は、ホワイト バランスに収束し、新しいホワイト バランス コマンドが受信されるまで、再び自動ホワイト バランスを試みずに、ホワイト バランス値を収束値にロックすることです。
ロックを自動モードと組み合わせずに使用する場合、既にロックされているコントロールをカメラ ドライバーによる操作なしとして扱う必要があります。 ロックを自動モードと組み合わせて使用する場合、既にロックされているコントロールが新しい収束をトリガーする必要があります。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
手動は、このビデオ処理で、特定の値が提供されることを示します。 ホワイト バランスの場合、 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING の Mode メンバーが KSCAMERA_EXTENDEDPROP_WHITEBALANCE_TEMPERATURE を示している場合、 VideoProc.Value.ul にはケルビン度の温度値が含まれます。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK ロック オプション フラグは、現在のビデオ処理が現在プログラムされている値にロックされていることを示します。 たとえば、アプリケーションは、特定のホワイト バランスが決定されるまで自動モードを要求できます。その時点で、アプリケーションは同じホワイト バランス設定で一連の写真を撮ることを決定します。 このような場合、アプリケーションで KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK フラグを指定できます。 カメラ ドライバーは、異なる写真間でホワイト バランス情報が変更されないようにします。
プロパティの取得
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 OR'd (サポートされているビデオ処理モードで使用) |
フラグ | 現在のビデオ処理モード。 |
ホワイト バランス モードが以前に設定されていない場合、ドライバーは Flags を KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO (既定値) に設定します。 KSCAMERA_EXTENDEDPROP_HEADER 構造体に続く KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体のメンバーは、処理モードの要件に従って設定されます。
プロパティの設定
プロパティが設定されている場合、KSPROPERTY_TYPE_SET 要求、 KSCAMERA_EXTENDEDPROP_HEADER の Flags メンバーには、設定するホワイト バランス モードが含まれます。 Flags に KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO モード フラグが含まれている場合、 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING の VideoProc.Value メンバーは無視する必要があります。
要件
バージョン: Windows 8.1 以降で使用可能
ヘッダー: ksmedia.h (Ksmedia.h を含む)