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

IWMResizerProps

COM
IID57665d4c-0414-4faa-905b-10e546f81c33継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ビデオリサイザー DSP のプロパティを設定します。

メソッド 5

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

vtbl 3 HRESULT SetResizerQuality(INT lquality)

より高品質なビデオを生成するアルゴリズムを使用するか、より高速なアルゴリズムを使用するかを指定します。

lqualityINTinブール値。TRUE の場合、ビデオリサイザーはより高品質なビデオを生成するアルゴリズムを使用します。FALSE の場合、ビデオリサイザーはより高速なアルゴリズムを使用します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドが成功しました。

解説(Remarks)

このメソッドは MFPKEY_RESIZE_QUALITY プロパティを設定することと同等です。

vtbl 4 HRESULT SetInterlaceMode(INT lmode)

SetInterlaceMode メソッドは、入力ビデオストリームがインターレースされているかどうかを指定します。

lmodeINTinブール値。TRUE の場合、ビデオはインターレースです。FALSE の場合、ビデオはプログレッシブです。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドが成功しました。

解説(Remarks)

このメソッドは MFPKEY_RESIZE_INTERLACE プロパティを設定することと同等です。

vtbl 5 HRESULT SetClipRegion(INT lClipOriXSrc, INT lClipOriYSrc, INT lClipWidthSrc, INT lClipHeightSrc)

ソース矩形を設定します。(IWMResizerProps.SetClipRegion)

lClipOriXSrcINTinソース矩形の左端をピクセル単位で指定します。
lClipOriYSrcINTinソース矩形の上端をピクセル単位で指定します。
lClipWidthSrcINTinソース矩形の幅をピクセル単位で指定します。
lClipHeightSrcINTinソース矩形の高さをピクセル単位で指定します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドが成功しました。

解説(Remarks)

既定では、ビデオリサイザーはビデオフレーム全体をコピーします。このメソッドを呼び出すと、ビデオリサイザーはビデオをソース矩形にクロップし、その部分を出力バッファーにコピーします。

このメソッドは、次のプロパティを設定することと同等です。

vtbl 6 HRESULT SetFullCropRegion(INT lClipOriXSrc, INT lClipOriYSrc, INT lClipWidthSrc, INT lClipHeightSrc, INT lClipOriXDst, INT lClipOriYDst, INT lClipWidthDst, INT lClipHeightDst)

ソース矩形と宛先矩形を設定します。(IWMResizerProps.SetFullCropRegion)

lClipOriXSrcINTinソース矩形の左端をピクセル単位で指定します。
lClipOriYSrcINTinソース矩形の上端をピクセル単位で指定します。
lClipWidthSrcINTinソース矩形の幅をピクセル単位で指定します。
lClipHeightSrcINTinソース矩形の高さをピクセル単位で指定します。
lClipOriXDstINTin宛先矩形の左端をピクセル単位で指定します。
lClipOriYDstINTin宛先矩形の上端をピクセル単位で指定します。
lClipWidthDstINTin宛先矩形の幅をピクセル単位で指定します。
lClipHeightDstINTin宛先矩形の高さをピクセル単位で指定します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドが成功しました。

解説(Remarks)

既定では、ビデオリサイザーはビデオフレーム全体をコピーします。このメソッドを呼び出すと、ビデオリサイザーはビデオをソース矩形にクロップし、その部分を宛先矩形にコピーします。

このメソッドは、次のプロパティを設定することと同等です。

vtbl 7 HRESULT GetFullCropRegion(INT* lClipOriXSrc, INT* lClipOriYSrc, INT* lClipWidthSrc, INT* lClipHeightSrc, INT* lClipOriXDst, INT* lClipOriYDst, INT* lClipWidthDst, INT* lClipHeightDst)

ソース矩形と宛先矩形を取得します。

lClipOriXSrcINT*inoutソース矩形の左端をピクセル単位で受け取ります。
lClipOriYSrcINT*inoutソース矩形の上端をピクセル単位で受け取ります。
lClipWidthSrcINT*inoutソース矩形の幅をピクセル単位で受け取ります。
lClipHeightSrcINT*inoutソース矩形の高さをピクセル単位で受け取ります。
lClipOriXDstINT*inout宛先矩形の左端をピクセル単位で受け取ります。
lClipOriYDstINT*inout宛先矩形の上端をピクセル単位で受け取ります。
lClipWidthDstINT*inout宛先矩形の幅をピクセル単位で受け取ります。
lClipHeightDstINT*inout宛先矩形の高さをピクセル単位で受け取ります。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドが成功しました。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMResizerProps "{57665D4C-0414-4FAA-905B-10E546F81C33}"
#usecom global IWMResizerProps IID_IWMResizerProps "{}"
#comfunc global IWMResizerProps_SetResizerQuality  3 int
#comfunc global IWMResizerProps_SetInterlaceMode   4 int
#comfunc global IWMResizerProps_SetClipRegion      5 int,int,int,int
#comfunc global IWMResizerProps_SetFullCropRegion  6 int,int,int,int,int,int,int,int
#comfunc global IWMResizerProps_GetFullCropRegion  7 var,var,var,var,var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。