KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM

KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM は、デジタル ズームをコントロールするために使用されます。 これは、KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY リスト体で定義され、ズーム比を取得および設定し、ドライバーからズーム範囲を取得するために使用されます。 Windows 10 では、このコントロールは、スムーズなズームもサポートするように拡張されています。

用法の要点

範囲 コントロール Type

Version 1

Assert

同期

KSCAMERA_EXTENDEDPROP_HEADER.Flags フィールドに以下のフラグを配置することにより、スムーズ ズームとダイレクト ズームをコントロールできます。 既定値はドライバーによって定義されます。

#define KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT  0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT   0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH   0x0000000000000002

ドライバーがこのコントロールをサポートしている場合は、KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT.

ドライバーがデジタル ズームをサポートしていない場合、ドライバーはこのコントロールを実装しないでください。

以下の表では、フラグの機能について説明します。

フラグ 説明

KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT

これは必須の機能です。 指定すると、ドライバーは、ダイレクト ズームまたはスムーズ ズームを適用する必要があるかどうかを決定し、それに応じて VideoProc.Value.ul で指定されたターゲット ズーム係数にズームします。 このフラグは、DIRECT フラグと SMOOTH フラグと相互に排他的です。

KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT

これは必須の機能です。 指定すると、ドライバーは VideoProc.Value.ul で指定されたターゲット ズーム係数にできるだけ早くズームします。 このフラグは、AUTO フラグと SMOOTH フラグと相互に排他的です。

KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH

この機能は任意です。 指定すると、ドライバーは VideoProc.Value.ul で指定されたターゲット ズーム係数にスムーズな方法で徐々にズームします。 指定したズーム係数に達するまでに要するフレームの数は、ドライバー次第です。 このフラグは、AUTO フラグと DIRECT フラグと相互に排他的です。

GET 各呼び出しでは、ドライバーは、現在の構成またはセットアップに基づいて許可されている現在のズーム範囲を報告する必要があります。

次の表は、KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM プロパティを使用する場合の KSCAMERA_EXTENDEDPROP_HEADER 構造体フィールドの説明と要件を示します。

メンバー 説明

バージョン

これは 1 である必要があり、

PinId

これは、KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) である必要があり、

サイズ

これは、sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) である必要があり、

結果

これは最後の SET 操作のエラー結果を示します。 SET 操作が実行されていない場合は、0 にする必要があります。

機能

上記で定義されているサポートされているフラグのビット論理和である必要があります。

Flags

これは読み取り/書き込みフィールドです。 これは、上記で定義したサポートされているフラグのいずれかです。

次の表に、KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM プロパティの KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体フィールドの説明と要件を示します。

メンバー 説明

モード

これは使用されず、0 である必要があります。

Min/Max/Step

Min/Max/Step には、Q16 形式のカメラ ドライバーでサポートされているズーム比の最小/最大/増分が含まれています。 ドライバーは GET 操作のためにこれらの値を返す必要があります。

VideoProc

SET 操作の場合、VideoProc.Value.ul は、Min/Max/Step パラメーターで記述された範囲内の電力レベルを指定する必要があります。 GET 操作の場合、ドライバーは現在のズーム比を返す必要があります。

予約されています。

これは使用されません。 これはドライバーで無視する必要があります。

このプロパティ コントロールは同期的であり、取り消し可能ではありません。

要件

ヘッダー

Ksmedia.h