IWMResizerProps
COM公式ドキュメント
ビデオリサイザー DSP のプロパティを設定します。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
より高品質なビデオを生成するアルゴリズムを使用するか、より高速なアルゴリズムを使用するかを指定します。
| lquality | INT | in | ブール値。TRUE の場合、ビデオリサイザーはより高品質なビデオを生成するアルゴリズムを使用します。FALSE の場合、ビデオリサイザーはより高速なアルゴリズムを使用します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
このメソッドは MFPKEY_RESIZE_QUALITY プロパティを設定することと同等です。
SetInterlaceMode メソッドは、入力ビデオストリームがインターレースされているかどうかを指定します。
| lmode | INT | in | ブール値。TRUE の場合、ビデオはインターレースです。FALSE の場合、ビデオはプログレッシブです。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
このメソッドは MFPKEY_RESIZE_INTERLACE プロパティを設定することと同等です。
ソース矩形を設定します。(IWMResizerProps.SetClipRegion)
| lClipOriXSrc | INT | in | ソース矩形の左端をピクセル単位で指定します。 |
| lClipOriYSrc | INT | in | ソース矩形の上端をピクセル単位で指定します。 |
| lClipWidthSrc | INT | in | ソース矩形の幅をピクセル単位で指定します。 |
| lClipHeightSrc | INT | in | ソース矩形の高さをピクセル単位で指定します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
既定では、ビデオリサイザーはビデオフレーム全体をコピーします。このメソッドを呼び出すと、ビデオリサイザーはビデオをソース矩形にクロップし、その部分を出力バッファーにコピーします。
このメソッドは、次のプロパティを設定することと同等です。
ソース矩形と宛先矩形を設定します。(IWMResizerProps.SetFullCropRegion)
| lClipOriXSrc | INT | in | ソース矩形の左端をピクセル単位で指定します。 |
| lClipOriYSrc | INT | in | ソース矩形の上端をピクセル単位で指定します。 |
| lClipWidthSrc | INT | in | ソース矩形の幅をピクセル単位で指定します。 |
| lClipHeightSrc | INT | in | ソース矩形の高さをピクセル単位で指定します。 |
| lClipOriXDst | INT | in | 宛先矩形の左端をピクセル単位で指定します。 |
| lClipOriYDst | INT | in | 宛先矩形の上端をピクセル単位で指定します。 |
| lClipWidthDst | INT | in | 宛先矩形の幅をピクセル単位で指定します。 |
| lClipHeightDst | INT | in | 宛先矩形の高さをピクセル単位で指定します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
既定では、ビデオリサイザーはビデオフレーム全体をコピーします。このメソッドを呼び出すと、ビデオリサイザーはビデオをソース矩形にクロップし、その部分を宛先矩形にコピーします。
このメソッドは、次のプロパティを設定することと同等です。
ソース矩形と宛先矩形を取得します。
| lClipOriXSrc | INT* | inout | ソース矩形の左端をピクセル単位で受け取ります。 |
| lClipOriYSrc | INT* | inout | ソース矩形の上端をピクセル単位で受け取ります。 |
| lClipWidthSrc | INT* | inout | ソース矩形の幅をピクセル単位で受け取ります。 |
| lClipHeightSrc | INT* | inout | ソース矩形の高さをピクセル単位で受け取ります。 |
| lClipOriXDst | INT* | inout | 宛先矩形の左端をピクセル単位で受け取ります。 |
| lClipOriYDst | INT* | inout | 宛先矩形の上端をピクセル単位で受け取ります。 |
| lClipWidthDst | INT* | inout | 宛先矩形の幅をピクセル単位で受け取ります。 |
| lClipHeightDst | INT* | inout | 宛先矩形の高さをピクセル単位で受け取ります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 |
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 方式にも切替可。#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 sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。