Win32 API 日本語リファレンス
ホームMedia.DirectShow › IVMRDeinterlaceControl9

IVMRDeinterlaceControl9

COM
IIDa215fb8d-13c2-4f7f-993c-003d6271a459継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT GetNumberOfDeinterlaceModes(VMR9VideoDesc* lpVideoDescription, DWORD* lpdwNumDeinterlaceModes, GUID* lpDeinterlaceModes)
lpVideoDescriptionVMR9VideoDesc*in対象映像の形式を記述するVMR9VideoDesc構造体へのポインタ。
lpdwNumDeinterlaceModesDWORD*inout入力でlpDeinterlaceModes配列のサイズ、出力で利用可能なモード数を受け取るDWORDへのポインタ。
lpDeinterlaceModesGUID*out利用可能なデインターレースモードのGUID配列を受け取るポインタ。数量取得時はNULL可。
vtbl 4 HRESULT GetDeinterlaceModeCaps(GUID* lpDeinterlaceMode, VMR9VideoDesc* lpVideoDescription, VMR9DeinterlaceCaps* lpDeinterlaceCaps)
lpDeinterlaceModeGUID*in性能を問い合わせるデインターレースモードを示すGUIDへのポインタ。
lpVideoDescriptionVMR9VideoDesc*in対象映像の形式を記述するVMR9VideoDescへのポインタ。
lpDeinterlaceCapsVMR9DeinterlaceCaps*out指定モードの能力を受け取るVMR9DeinterlaceCapsへのポインタ。
vtbl 5 HRESULT GetDeinterlaceMode(DWORD dwStreamID, GUID* lpDeinterlaceMode)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpDeinterlaceModeGUID*out設定されているデインターレースモードのGUIDを受け取るポインタ。
vtbl 6 HRESULT SetDeinterlaceMode(DWORD dwStreamID, GUID* lpDeinterlaceMode)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpDeinterlaceModeGUID*in設定するデインターレースモードを示すGUIDへのポインタ。
vtbl 7 HRESULT GetDeinterlacePrefs(DWORD* lpdwDeinterlacePrefs)
lpdwDeinterlacePrefsDWORD*out現在のデインターレース優先設定フラグを受け取るDWORDへのポインタ。
vtbl 8 HRESULT SetDeinterlacePrefs(DWORD dwDeinterlacePrefs)
dwDeinterlacePrefsDWORDinデインターレース選択の優先順位を指定するVMR9DeinterlacePrefsフラグ。
vtbl 9 HRESULT GetActualDeinterlaceMode(DWORD dwStreamID, GUID* lpDeinterlaceMode)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpDeinterlaceModeGUID*out実際に使用されているデインターレースモードのGUIDを受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IVMRDeinterlaceControl9 "{A215FB8D-13C2-4F7F-993C-003D6271A459}"
#usecom global IVMRDeinterlaceControl9 IID_IVMRDeinterlaceControl9 "{}"
#comfunc global IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes  3 var,var,var
#comfunc global IVMRDeinterlaceControl9_GetDeinterlaceModeCaps       4 var,var,var
#comfunc global IVMRDeinterlaceControl9_GetDeinterlaceMode           5 int,var
#comfunc global IVMRDeinterlaceControl9_SetDeinterlaceMode           6 int,var
#comfunc global IVMRDeinterlaceControl9_GetDeinterlacePrefs          7 var
#comfunc global IVMRDeinterlaceControl9_SetDeinterlacePrefs          8 int
#comfunc global IVMRDeinterlaceControl9_GetActualDeinterlaceMode     9 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。