次の方法で共有


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