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

IVMRImageCompositor

COM
IID7a4fb5af-479f-4074-bb40-ce6722e43c82継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT InitCompositionTarget(IUnknown* pD3DDevice, IDirectDrawSurface7* pddsRenderTarget)
pD3DDeviceIUnknown*in合成に使用するDirect3Dデバイスを表すIUnknown。
pddsRenderTargetIDirectDrawSurface7*in合成先となるDirectDrawレンダーターゲットサーフェス。
vtbl 4 HRESULT TermCompositionTarget(IUnknown* pD3DDevice, IDirectDrawSurface7* pddsRenderTarget)
pD3DDeviceIUnknown*in解放するDirect3DデバイスのIUnknown。
pddsRenderTargetIDirectDrawSurface7*in解放するレンダーターゲットサーフェス。
vtbl 5 HRESULT SetStreamMediaType(DWORD dwStrmID, AM_MEDIA_TYPE* pmt, BOOL fTexture)
dwStrmIDDWORDin対象とする入力ストリームの番号。
pmtAM_MEDIA_TYPE*inそのストリームのメディア型AM_MEDIA_TYPE。
fTextureBOOLinテクスチャサーフェスとして扱うか。TRUEでテクスチャ合成する。
vtbl 6 HRESULT CompositeImage(IUnknown* pD3DDevice, IDirectDrawSurface7* pddsRenderTarget, AM_MEDIA_TYPE* pmtRenderTarget, LONGLONG rtStart, LONGLONG rtEnd, DWORD dwClrBkGnd, VMRVIDEOSTREAMINFO* pVideoStreamInfo, DWORD cStreams)
pD3DDeviceIUnknown*in合成に使用するDirect3DデバイスのIUnknown。
pddsRenderTargetIDirectDrawSurface7*in合成結果を書き込むレンダーターゲットサーフェス。
pmtRenderTargetAM_MEDIA_TYPE*inレンダーターゲットのメディア型AM_MEDIA_TYPE。
rtStartLONGLONGin合成対象の開始時刻(REFERENCE_TIME)。
rtEndLONGLONGin合成対象の終了時刻(REFERENCE_TIME)。
dwClrBkGndDWORDin背景塗りつぶし色をRGBで指定する値。
pVideoStreamInfoVMRVIDEOSTREAMINFO*in各入力ストリームの情報を並べたVMRVIDEOSTREAMINFO配列。
cStreamsDWORDinpVideoStreamInfo配列の要素数(合成する入力ストリーム数)。

HSP用 COM定義

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

出力引数:
#define global IID_IVMRImageCompositor "{7A4FB5AF-479F-4074-BB40-CE6722E43C82}"
#usecom global IVMRImageCompositor IID_IVMRImageCompositor "{}"
#comfunc global IVMRImageCompositor_InitCompositionTarget  3 sptr,sptr
#comfunc global IVMRImageCompositor_TermCompositionTarget  4 sptr,sptr
#comfunc global IVMRImageCompositor_SetStreamMediaType     5 int,var,int
#comfunc global IVMRImageCompositor_CompositeImage         6 sptr,sptr,var,int64,int64,int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。