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

IBasicVideo

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID56a868b5-0ad4-11ce-b03a-0020af0ba770継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 32

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_AvgTimePerFrame(DOUBLE* pAvgTimePerFrame)
pAvgTimePerFrameDOUBLE*out1フレーム当たりの平均時間(秒)を受け取る出力ポインタ。
vtbl 8 HRESULT get_BitRate(INT* pBitRate)
pBitRateINT*outビデオストリームのビットレート(bps)を受け取る出力ポインタ。
vtbl 9 HRESULT get_BitErrorRate(INT* pBitErrorRate)
pBitErrorRateINT*outビットエラーレートを受け取る出力ポインタ。
vtbl 10 HRESULT get_VideoWidth(INT* pVideoWidth)
pVideoWidthINT*out元映像の幅(ピクセル)を受け取る出力ポインタ。
vtbl 11 HRESULT get_VideoHeight(INT* pVideoHeight)
pVideoHeightINT*out元映像の高さ(ピクセル)を受け取る出力ポインタ。
vtbl 12 HRESULT put_SourceLeft(INT SourceLeft)
SourceLeftINTinソース矩形の左端X座標(ピクセル)を指定する入力値。
vtbl 13 HRESULT get_SourceLeft(INT* pSourceLeft)
pSourceLeftINT*outソース矩形の左端X座標(ピクセル)を受け取る出力ポインタ。
vtbl 14 HRESULT put_SourceWidth(INT SourceWidth)
SourceWidthINTinソース矩形の幅(ピクセル)を指定する入力値。
vtbl 15 HRESULT get_SourceWidth(INT* pSourceWidth)
pSourceWidthINT*outソース矩形の幅(ピクセル)を受け取る出力ポインタ。
vtbl 16 HRESULT put_SourceTop(INT SourceTop)
SourceTopINTinソース矩形の上端Y座標(ピクセル)を指定する入力値。
vtbl 17 HRESULT get_SourceTop(INT* pSourceTop)
pSourceTopINT*outソース矩形の上端Y座標(ピクセル)を受け取る出力ポインタ。
vtbl 18 HRESULT put_SourceHeight(INT SourceHeight)
SourceHeightINTinソース矩形の高さ(ピクセル)を指定する入力値。
vtbl 19 HRESULT get_SourceHeight(INT* pSourceHeight)
pSourceHeightINT*outソース矩形の高さ(ピクセル)を受け取る出力ポインタ。
vtbl 20 HRESULT put_DestinationLeft(INT DestinationLeft)
DestinationLeftINTin描画先矩形の左端X座標(ピクセル)を指定する入力値。
vtbl 21 HRESULT get_DestinationLeft(INT* pDestinationLeft)
pDestinationLeftINT*out描画先矩形の左端X座標(ピクセル)を受け取る出力ポインタ。
vtbl 22 HRESULT put_DestinationWidth(INT DestinationWidth)
DestinationWidthINTin描画先矩形の幅(ピクセル)を指定する入力値。
vtbl 23 HRESULT get_DestinationWidth(INT* pDestinationWidth)
pDestinationWidthINT*out描画先矩形の幅(ピクセル)を受け取る出力ポインタ。
vtbl 24 HRESULT put_DestinationTop(INT DestinationTop)
DestinationTopINTin描画先矩形の上端Y座標(ピクセル)を指定する入力値。
vtbl 25 HRESULT get_DestinationTop(INT* pDestinationTop)
pDestinationTopINT*out描画先矩形の上端Y座標(ピクセル)を受け取る出力ポインタ。
vtbl 26 HRESULT put_DestinationHeight(INT DestinationHeight)
DestinationHeightINTin描画先矩形の高さ(ピクセル)を指定する入力値。
vtbl 27 HRESULT get_DestinationHeight(INT* pDestinationHeight)
pDestinationHeightINT*out描画先矩形の高さ(ピクセル)を受け取る出力ポインタ。
vtbl 28 HRESULT SetSourcePosition(INT Left, INT Top, INT Width, INT Height)
LeftINTinソース矩形の左端X座標(ピクセル)を指定する入力値。
TopINTinソース矩形の上端Y座標(ピクセル)を指定する入力値。
WidthINTinソース矩形の幅(ピクセル)を指定する入力値。
HeightINTinソース矩形の高さ(ピクセル)を指定する入力値。
vtbl 29 HRESULT GetSourcePosition(INT* pLeft, INT* pTop, INT* pWidth, INT* pHeight)
pLeftINT*outソース矩形の左端X座標を受け取る出力ポインタ。
pTopINT*outソース矩形の上端Y座標を受け取る出力ポインタ。
pWidthINT*outソース矩形の幅を受け取る出力ポインタ。
pHeightINT*outソース矩形の高さを受け取る出力ポインタ。
vtbl 30 HRESULT SetDefaultSourcePosition()
vtbl 31 HRESULT SetDestinationPosition(INT Left, INT Top, INT Width, INT Height)
LeftINTin描画先矩形の左端X座標(ピクセル)を指定する入力値。
TopINTin描画先矩形の上端Y座標(ピクセル)を指定する入力値。
WidthINTin描画先矩形の幅(ピクセル)を指定する入力値。
HeightINTin描画先矩形の高さ(ピクセル)を指定する入力値。
vtbl 32 HRESULT GetDestinationPosition(INT* pLeft, INT* pTop, INT* pWidth, INT* pHeight)
pLeftINT*out描画先矩形の左端X座標を受け取る出力ポインタ。
pTopINT*out描画先矩形の上端Y座標を受け取る出力ポインタ。
pWidthINT*out描画先矩形の幅を受け取る出力ポインタ。
pHeightINT*out描画先矩形の高さを受け取る出力ポインタ。
vtbl 33 HRESULT SetDefaultDestinationPosition()
vtbl 34 HRESULT GetVideoSize(INT* pWidth, INT* pHeight)
pWidthINT*out元映像のネイティブ幅(ピクセル)を受け取る出力ポインタ。
pHeightINT*out元映像のネイティブ高さ(ピクセル)を受け取る出力ポインタ。
vtbl 35 HRESULT GetVideoPaletteEntries(INT StartIndex, INT Entries, INT* pRetrieved, INT* pPalette)
StartIndexINTin取得を開始するパレットエントリのインデックスを指定する入力値。
EntriesINTin取得するパレットエントリの個数を指定する入力値。
pRetrievedINT*out実際に取得できたエントリ数を受け取る出力ポインタ。
pPaletteINT*out取得したパレットエントリ(RGB値)を格納する配列への出力ポインタ。
vtbl 36 HRESULT GetCurrentImage(INT* pBufferSize, INT* pDIBImage)
pBufferSizeINT*inout入出力でバッファサイズ(バイト)を指定/受け取るポインタ。NULL画像で必要サイズを取得する。
pDIBImageINT*out現在フレームのDIB画像データを書き込む出力バッファへのポインタ。NULLでサイズ取得のみ行う。
vtbl 37 HRESULT IsUsingDefaultSource()
vtbl 38 HRESULT IsUsingDefaultDestination()

HSP用 COM定義

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

出力引数:
#define global IID_IBasicVideo "{56A868B5-0AD4-11CE-B03A-0020AF0BA770}"
#usecom global IBasicVideo IID_IBasicVideo "{}"
#comfunc global IBasicVideo_get_AvgTimePerFrame            7 var
#comfunc global IBasicVideo_get_BitRate                    8 var
#comfunc global IBasicVideo_get_BitErrorRate               9 var
#comfunc global IBasicVideo_get_VideoWidth                 10 var
#comfunc global IBasicVideo_get_VideoHeight                11 var
#comfunc global IBasicVideo_put_SourceLeft                 12 int
#comfunc global IBasicVideo_get_SourceLeft                 13 var
#comfunc global IBasicVideo_put_SourceWidth                14 int
#comfunc global IBasicVideo_get_SourceWidth                15 var
#comfunc global IBasicVideo_put_SourceTop                  16 int
#comfunc global IBasicVideo_get_SourceTop                  17 var
#comfunc global IBasicVideo_put_SourceHeight               18 int
#comfunc global IBasicVideo_get_SourceHeight               19 var
#comfunc global IBasicVideo_put_DestinationLeft            20 int
#comfunc global IBasicVideo_get_DestinationLeft            21 var
#comfunc global IBasicVideo_put_DestinationWidth           22 int
#comfunc global IBasicVideo_get_DestinationWidth           23 var
#comfunc global IBasicVideo_put_DestinationTop             24 int
#comfunc global IBasicVideo_get_DestinationTop             25 var
#comfunc global IBasicVideo_put_DestinationHeight          26 int
#comfunc global IBasicVideo_get_DestinationHeight          27 var
#comfunc global IBasicVideo_SetSourcePosition              28 int,int,int,int
#comfunc global IBasicVideo_GetSourcePosition              29 var,var,var,var
#comfunc global IBasicVideo_SetDefaultSourcePosition       30
#comfunc global IBasicVideo_SetDestinationPosition         31 int,int,int,int
#comfunc global IBasicVideo_GetDestinationPosition         32 var,var,var,var
#comfunc global IBasicVideo_SetDefaultDestinationPosition  33
#comfunc global IBasicVideo_GetVideoSize                   34 var,var
#comfunc global IBasicVideo_GetVideoPaletteEntries         35 int,int,var,var
#comfunc global IBasicVideo_GetCurrentImage                36 var,var
#comfunc global IBasicVideo_IsUsingDefaultSource           37
#comfunc global IBasicVideo_IsUsingDefaultDestination      38
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。