KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED は、より細かくグローバルな ISO 制御を可能にする拡張プロパティ コントロールです。
用法の要点
範囲 | コントロール | Type |
---|---|---|
Version 1 |
ピン留め (写真) |
非同期 |
新しい KSCAMERA_EXTENDEDPROP_ISO_MANUAL フラグは、次のように ksmedia_phone.h で定義されます。
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
次の表に、KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED コントロールの KSCAMERA_EXTENDEDPROP_HEADER 構造体フィールドの説明と要件を示します。
整数手動 ISO のサポートがない場合は、Windows 8.1 KS_CAMERACONTROL_EXTENDED_ISO は変更されません。 ドライバーは、新しい KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED コントロールのみをサポートする必要があります。 これらの両方のコントロールがサポートされている場合、パイプラインは既定で KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED コントロールになります。
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED コントロールがサポートされている場合、ドライバーがアドバタイズできる唯一の機能は次のとおりです。
KSCAMERA_EXTENDEDPROP_ISO_AUTO
KSCAMERA_EXTENDEDPROP_ISO_MANUAL
KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL
ドライバーが KSCAMERA_EXTENDEDPROP_ISO_MANUAL 機能フラグをアドバタイズする場合は、KSCAMERA_EXTENDED_PROP_VIDEOPROCSETTING プロパティの Min/Max/Step 値でサポートされている ISO 範囲もアドバタイズする必要があります。 ドライバーが最小値 0 と最大値 0、またはステップ値が 1 未満をアドバタイズした場合、コントロールは使用不可としてフラグが設定され、パイプラインによって拒否されます。
ドライバーが KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED と KSPROPERTY_CAMERACONTROL_EXTENDED_ISO の両方をサポートしている場合、ドライバーは KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED と KSPROPERTY_CAMERACONTROL_EXTENDED_ISO の両方の KSCAMERA_EXTENDEDPROP_ISO_AUTO をアドバタイズする必要があります。 それ以外の場合、両方の ISO コントロールに使用不可のフラグが設定され、MF パイプラインによって拒否されます。
ドライバーが KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED で KSCAMERA_EXTENDEDPROP_ISO_MANUAL をアドバタイズし、KSPROPERTY_CAMERACONTROL_EXTENDED_ISO の数値 KSCAMERA_EXTENDEDPROP_ISO_XXX 値をアドバタイズする場合、KSPROPERTY_CAMERACONTROL_EXTENDED_ISO でアドバタイズされる数値 KSCAMERA_EXTENDEDPROP_ISO_XXX 値は、KSCAMERA_EXTENDEDPROP_ISO_MANUAL によってアドバタイズされるサポートされている手動 ISO 範囲に含まれている必要があります。 さらに、サポートされている手動範囲のすべての数値 KSCAMERA_EXTENDEDPROP_ISO_XXX 値は、KSPROPERTY_CAMERACONTROL_EXTENDED_ISO でアドバタイズする必要があります。 それ以外の場合、両方の ISO コントロールに使用不可のフラグが設定され、MF パイプラインによって拒否される可能性があります。
たとえば、次のいずれかの機能は重大なエラーとして扱われ、MF パイプラインによって制御が拒否される可能性があります。
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (最小 = 40、最大 = 240、ステップ = 20)、KSCAMERA_EXTENDEDPROP_ISO_50
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (最小 = 40、最大 = 240、ステップ = 20)、KSCAMERA_EXTENDEDPROP_ISO_80
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (最小 = 40、最大 = 240、ステップ = 20)、KSCAMERA_EXTENDEDPROP_ISO_400
MF パイプラインでは、次のいずれかの機能が受け入れられます。
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40、max = 240、step = 20)、KSCAMERA_EXTENDEDPROP_ISO_80、KSCAMERA_EXTENDEDPROP_ISO_100、KSCAMERA_EXTENDEDPROP_ISO_200
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (最小 = 40、最大 = 240、ステップ = 20)
KSCAMERA_EXTENDEDPROP_ISO_80、KSCAMERA_EXTENDEDPROP_ISO_200
メンバー | 説明 |
---|---|
バージョン |
これは 1 である必要があり、 |
PinId |
これは写真ピンに関連付けられているピン ID である必要があります。 |
サイズ |
これは、sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) である必要があり、 |
結果 |
これには最後の SET 操作のエラー結果が含まれます。 SET 操作が実行されていない場合は、0 にする必要があります。 |
機能 |
これは、KSCAMERA_EXTENDEDPROP_ISO_AUTO または KSCAMERA_EXTENDEDPROP_ISO_MANUAL、および KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL フラグのビット論理和にする必要があります。 このコントロールは非同期である必要があります。 |
Flags |
これは読み取り/書き込みフィールドです。 これは、上記で定義した任意の KSCAMERA_EXTENDEDPROP_ISO_XXX フラグにすることができます。 |
次の表に、ISO DDI の KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体フィールドの説明と要件を示します。 この構造体は ksmedia.h で定義されています。
メンバー | 説明 |
---|---|
モード |
これは使用されず、0 である必要があります。 |
Min/Max/Step |
Min/Max/Step には、カメラ ドライバーでサポートされている手動 ISO 速度の最小値/最大値/増分が含まれています。 手動 ISO がサポートされている場合、ドライバーは GET 操作のためにこれらを返す必要があります。 |
VideoProc |
KSCAMERA_EXTENDEDPROP_HEADER の Flags フィールドに MANUAL を指定した場合、VideoProc.Value.ul は Min/Max/Step パラメーターで記述されている範囲内の現在の ISO 速度値を指定する必要があります。 手動以外のフラグが指定されている場合、SET 操作では、VideoProc フィールドは無視されます。 GET 操作の場合、ドライバーは常に現在の ISO 速度を返す必要があります。 |
予約されています。 |
これは使用されません。 これはドライバーで無視する必要があります。 |
GET 呼び出し
ドライバーは、KSCAMERA_EXTENDEDPROP_HEADER.Capability でその機能をアドバタイズし、KSCAMERA_EXTENDEDPROP_HEADER.Flags でドライバーの現在の ISO フラグをアドバタイズする必要があります。Get 呼び出しの前に SET 呼び出しが発行されていない場合、ドライバーは KSCAMERA_EXTENDEDPROP_HEADER.Flags でデフォルトを返す必要があります。
KSCAMERA_EXTENDEDPROP_ISO_MANUAL フラグが Capability フィールドにアドバタイズされている場合、ドライバーは、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.Min/Max/Step でサポートされている範囲をさらにアドバタイズする必要があります。
ドライバーは、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul で使用されている現在の ISO 速度も報告する必要があります。 GET 呼び出しの前に SET 呼び出しが発行されていない場合、ドライバーは KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul で現在の ISO 速度を返す必要があります。
SET 呼び出し
KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul には、KSCAMERA_EXTENDEDPROP_HEADER.Flags で KSCAMERA_EXTENDEDPROP_ISO_MANUAL が指定されている場合、必要な整数の手動 ISO 速度が含まれます。
KSCAMERA_EXTENDEDPROP_ISO_AUTO フラグが KSCAMERA_EXTENDEDPROP_HEADER.Flags で指定されている場合、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul は無視されます。
要件
ヘッダー |
Ksmedia.h |