Win32 API 日本語リファレンス
ホームGraphics.Direct3D11 › ID3D11VideoProcessorEnumerator

ID3D11VideoProcessorEnumerator

COM
IID31627037-53ab-4200-9061-05faa9ab45f9継承元ID3D11DeviceChild自前メソッド開始 vtbl7

公式ドキュメント

Microsoft Direct3D 11 デバイスのビデオプロセッサー機能を列挙します。(ID3D11VideoProcessorEnumerator)

解説(Remarks)

このインターフェイスへのポインターを取得するには、ID3D11VideoDevice::CreateVideoProcessorEnumerator を呼び出します。

ビデオプロセッサーのインスタンスを作成するには、ID3D11VideoProcessorEnumerator ポインターを ID3D11VideoDevice::CreateVideoProcessor メソッドに渡します。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 7 HRESULT GetVideoProcessorContentDesc(D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pContentDesc)

この列挙子の作成に使用されたコンテンツ記述を取得します。

pContentDescD3D11_VIDEO_PROCESSOR_CONTENT_DESC*outコンテンツ記述を受け取る D3D11_VIDEO_PROCESSOR_CONTENT_DESC 構造体へのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT CheckVideoProcessorFormat(DXGI_FORMAT Format, DWORD* pFlags)

ビデオプロセッサーが指定されたビデオ形式をサポートしているかどうかを照会します。

FormatDXGI_FORMATin照会するビデオ形式。DXGI_FORMAT 値で指定します。
pFlagsDWORD*outD3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT 列挙型の 0 個以上のフラグのビットごとの OR を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT GetVideoProcessorCaps(D3D11_VIDEO_PROCESSOR_CAPS* pCaps)

ビデオプロセッサーの機能を取得します。

pCapsD3D11_VIDEO_PROCESSOR_CAPS*out機能を受け取る D3D11_VIDEO_PROCESSOR_CAPS 構造体へのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT GetVideoProcessorRateConversionCaps(DWORD TypeIndex, D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS* pCaps)

デインターレースや逆テレシネを含む、フレームレート変換に関連するビデオプロセッサー機能のグループを返します。

TypeIndexDWORDin取得するグループの 0 から始まるインデックス。最大インデックスを取得するには、ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps を呼び出し、D3D11_VIDEO_PROCESSOR_CAPS 構造体の RateConversionCapsCount メンバーを確認します。
pCapsD3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS*outフレームレート変換機能を受け取る D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS 構造体へのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS 構造体で定義される機能は相互に依存しています。そのため、ドライバーはこれらの機能について複数の異なるグループをサポートできます。

vtbl 11 HRESULT GetVideoProcessorCustomRate(DWORD TypeIndex, DWORD CustomRateIndex, D3D11_VIDEO_PROCESSOR_CUSTOM_RATE* pRate)

ビデオプロセッサーがサポートするカスタムフレームレートの一覧を取得します。

TypeIndexDWORDinフレームレート機能グループの 0 から始まるインデックス。最大インデックスを取得するには、ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps を呼び出し、D3D11_VIDEO_PROCESSOR_CAPS 構造体の RateConversionCapsCount メンバーを確認します。
CustomRateIndexDWORDin

取得するカスタムレートの 0 から始まるインデックス。最大インデックスを取得するには、ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps を呼び出し、D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS 構造体の CustomRateCount メンバーを確認します。

このインデックス値は、常に TypeIndex パラメーターで指定された機能グループに対する相対値です。

pRateD3D11_VIDEO_PROCESSOR_CUSTOM_RATE*outカスタムレートを受け取る D3D11_VIDEO_PROCESSOR_CUSTOM_RATE 構造体へのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 HRESULT GetVideoProcessorFilterRange(D3D11_VIDEO_PROCESSOR_FILTER Filter, D3D11_VIDEO_PROCESSOR_FILTER_RANGE* pRange)

イメージフィルターの値の範囲を取得します。

FilterD3D11_VIDEO_PROCESSOR_FILTERinイメージフィルターの種類。D3D11_VIDEO_PROCESSOR_FILTER 値で指定します。
pRangeD3D11_VIDEO_PROCESSOR_FILTER_RANGE*outD3D11_VIDEO_PROCESSOR_FILTER_RANGE 構造体へのポインター。このメソッドは、指定されたフィルターの値の範囲をこの構造体に格納します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D11VideoProcessorEnumerator "{31627037-53AB-4200-9061-05FAA9AB45F9}"
#usecom global ID3D11VideoProcessorEnumerator IID_ID3D11VideoProcessorEnumerator "{}"
#comfunc global ID3D11VideoProcessorEnumerator_GetVideoProcessorContentDesc         7 var
#comfunc global ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat            8 int,var
#comfunc global ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps                9 var
#comfunc global ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps  10 int,var
#comfunc global ID3D11VideoProcessorEnumerator_GetVideoProcessorCustomRate          11 int,int,var
#comfunc global ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange         12 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。