KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE
KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE は、ビデオのフレーム レートを元のフレーム レートのスケール係数で減らす動的コントロールです。
使用状況の概要表
取得 | 設定 | 対象 | プロパティ記述子の種類 | プロパティ値の種類 |
---|---|---|---|---|
はい | はい | フィルター | 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 メンバーには、次のいずれかの値が含まれます。
フレームレートスロットル制御 | 説明 |
---|---|
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF | フレームレートスロットルは無効です。 |
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON | フレームレートスロットルが有効になっています。 |
KSCAMERA_EXTENDEDPROP_HEADER の Flags メンバーには、カメラ用に現在設定されているフラグが含まれています。 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF がデフォルトになります。
このプロパティ コントロールは同期的であり、取り消し可能ではありません。
このコントロールは、カメラがアクティブにストリーミングしている間にのみ適用されます。 アクティブにストリーミングするということは、プレビュー ピンまたはレコード ピンが KSSTATE_RUN の状態にあり、フレームを配信できる状態にあることを意味します。 セットでストリームがアクティブでない場合、このコントロールは STATUS_INVALID_DEVICE_STATE を返す必要があります。 これはフィルター スコープ コントロールですが、フォト ピンや IR/深度などの非 RGB ストリームには影響しません。
解説
物件を取得する
KSPROPERTY_TYPE_GET 要求に応答する際、ドライバーは KSCAMERA_EXTENDEDPROP_HEADER のメンバーを次のように設定します。
メンバー | 値 |
---|---|
バージョン | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
サイズ | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) である必要があります。 |
結果 | 0 を指定する必要があります。 このフィールドは、最後の SET 操作の結果を返すために使用されます。 |
機能 | KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON または 0x1 |
フラグ | これは、KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON または KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF のいずれかになります。 |
フレームレート スロットル フラグが以前に設定されていない場合、ドライバーは Flagsを KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF に設定します。 KSCAMERA_EXTENDEDPROP_HEADER に続く KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体のメンバは、フレームレート スロットル モードの要件に従って設定されます。
プロパティを設定する
プロパティが設定されている場合、KSPROPERTY_TYPE_SET 要求では、KSCAMERA_EXTENDEDPROP_HEADER の Flags メンバーに設定するフレームレート スロットル モードが含まれます。 Flags に KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF フラグが含まれている場合、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING の VideoProc.Value メンバーは無視する必要があります。
ペイロードの構造
次の表には、フレームレート スロットル DDI の KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造フィールドの説明と要件が含まれています。 この構造体は ksmedia.h で定義されています。
メンバー | 説明 |
---|---|
モード | これは使用されず、0 である必要があります。 |
Min/Max/Step | 最大値は 100 である必要があります。これは、フレーム レートに変化がないことを示します。 ステップは、Max % Step == 0 となるように 100 の係数にする必要があります。 Min は少なくとも 1 つのステップ サイズまたはステップ サイズの倍数に等しくなければなりません。 最小値は 0 にできません。 |
VideoProc | VideoProc.Value.ul では、このコントロールのスケール係数のパーセンテージを指定する必要があります。 この値は Min と Max の範囲内で、Step 値の倍数に設定する必要があります。 この値を適切に設定することで、アプリケーションは新しいフレーム レートが元の値を超えたり、ゼロになったりしないようにすることができます。 たとえば、値を 80 に設定すると、元のフレーム レートの 80% のフレーム レートが生成されます。 |
予約済み | これは使用されません。 これはドライバーで無視する必要があります。 |
要件
サポートされている最小クライアント: Windows 11、バージョン 24H2
ヘッダー: ksmedia.h (Ksmedia.h を含む)