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

IBDA_Encoder

COM
IID3a8bad59-59fe-4559-a0ba-396cfaa98ae3継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT QueryCapabilities(DWORD* NumAudioFmts, DWORD* NumVideoFmts)
NumAudioFmtsDWORD*outサポートする音声フォーマット数を受け取るDWORDへのポインタ。
NumVideoFmtsDWORD*outサポートする映像フォーマット数を受け取るDWORDへのポインタ。
vtbl 4 HRESULT EnumAudioCapability(DWORD FmtIndex, DWORD* MethodID, DWORD* AlgorithmType, DWORD* SamplingRate, DWORD* BitDepth, DWORD* NumChannels)
FmtIndexDWORDin能力を列挙する音声フォーマットのインデックス(0基点)を指定する。
MethodIDDWORD*out符号化方式の識別子を受け取るDWORDへのポインタ。
AlgorithmTypeDWORD*out符号化アルゴリズム種別を受け取るDWORDへのポインタ。
SamplingRateDWORD*outサンプリングレート(Hz)を受け取るDWORDへのポインタ。
BitDepthDWORD*out量子化ビット深度を受け取るDWORDへのポインタ。
NumChannelsDWORD*outチャンネル数を受け取るDWORDへのポインタ。
vtbl 5 HRESULT EnumVideoCapability(DWORD FmtIndex, DWORD* MethodID, DWORD* AlgorithmType, DWORD* VerticalSize, DWORD* HorizontalSize, DWORD* AspectRatio, DWORD* FrameRateCode, DWORD* ProgressiveSequence)
FmtIndexDWORDin能力を列挙する映像フォーマットのインデックス(0基点)を指定する。
MethodIDDWORD*out符号化方式の識別子を受け取るDWORDへのポインタ。
AlgorithmTypeDWORD*out符号化アルゴリズム種別を受け取るDWORDへのポインタ。
VerticalSizeDWORD*out映像の垂直サイズ(ライン数)を受け取るDWORDへのポインタ。
HorizontalSizeDWORD*out映像の水平サイズ(ピクセル数)を受け取るDWORDへのポインタ。
AspectRatioDWORD*outアスペクト比コードを受け取るDWORDへのポインタ。
FrameRateCodeDWORD*outフレームレートを示すコードを受け取るDWORDへのポインタ。
ProgressiveSequenceDWORD*outプログレッシブ走査か否かを示す値を受け取るDWORDへのポインタ。
vtbl 6 HRESULT SetParameters(DWORD AudioBitrateMode, DWORD AudioBitrate, DWORD AudioMethodID, DWORD AudioProgram, DWORD VideoBitrateMode, DWORD VideoBitrate, DWORD VideoMethodID)
AudioBitrateModeDWORDin音声ビットレート制御モード(CBR/VBR等)を指定する。
AudioBitrateDWORDin設定する音声ビットレート(bps)を指定する。
AudioMethodIDDWORDin使用する音声符号化方式の識別子を指定する。
AudioProgramDWORDin符号化対象の音声プログラム番号を指定する。
VideoBitrateModeDWORDin映像ビットレート制御モード(CBR/VBR等)を指定する。
VideoBitrateDWORDin設定する映像ビットレート(bps)を指定する。
VideoMethodIDDWORDin使用する映像符号化方式の識別子を指定する。
vtbl 7 HRESULT GetState(DWORD* AudioBitrateMax, DWORD* AudioBitrateMin, DWORD* AudioBitrateMode, DWORD* AudioBitrateStepping, DWORD* AudioBitrate, DWORD* AudioMethodID, DWORD* AvailableAudioPrograms, DWORD* AudioProgram, DWORD* VideoBitrateMax, DWORD* VideoBitrateMin, DWORD* VideoBitrateMode, DWORD* VideoBitrate, DWORD* VideoBitrateStepping, DWORD* VideoMethodID, DWORD* SignalSourceID, ULONGLONG* SignalFormat, BOOL* SignalLock, INT* SignalLevel, DWORD* SignalToNoiseRatio)
AudioBitrateMaxDWORD*out音声ビットレートの最大値(bps)を受け取るDWORDへのポインタ。
AudioBitrateMinDWORD*out音声ビットレートの最小値(bps)を受け取るDWORDへのポインタ。
AudioBitrateModeDWORD*out現在の音声ビットレート制御モードを受け取るDWORDへのポインタ。
AudioBitrateSteppingDWORD*out音声ビットレート設定可能な刻み幅(bps)を受け取るDWORDへのポインタ。
AudioBitrateDWORD*out現在の音声ビットレート(bps)を受け取るDWORDへのポインタ。
AudioMethodIDDWORD*out現在の音声符号化方式の識別子を受け取るDWORDへのポインタ。
AvailableAudioProgramsDWORD*out利用可能な音声プログラム数を受け取るDWORDへのポインタ。
AudioProgramDWORD*out現在選択中の音声プログラム番号を受け取るDWORDへのポインタ。
VideoBitrateMaxDWORD*out映像ビットレートの最大値(bps)を受け取るDWORDへのポインタ。
VideoBitrateMinDWORD*out映像ビットレートの最小値(bps)を受け取るDWORDへのポインタ。
VideoBitrateModeDWORD*out現在の映像ビットレート制御モードを受け取るDWORDへのポインタ。
VideoBitrateDWORD*out現在の映像ビットレート(bps)を受け取るDWORDへのポインタ。
VideoBitrateSteppingDWORD*out映像ビットレート設定可能な刻み幅(bps)を受け取るDWORDへのポインタ。
VideoMethodIDDWORD*out現在の映像符号化方式の識別子を受け取るDWORDへのポインタ。
SignalSourceIDDWORD*out現在の信号源識別子を受け取るDWORDへのポインタ。
SignalFormatULONGLONG*out信号フォーマット情報を受け取るULONGLONGへのポインタ。
SignalLockBOOL*out信号がロックされているか否かを受け取るBOOLへのポインタ。
SignalLevelINT*out信号レベル(dB等)を受け取るINTへのポインタ。
SignalToNoiseRatioDWORD*out信号対雑音比(SNR)を受け取るDWORDへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IBDA_Encoder "{3A8BAD59-59FE-4559-A0BA-396CFAA98AE3}"
#usecom global IBDA_Encoder IID_IBDA_Encoder "{}"
#comfunc global IBDA_Encoder_QueryCapabilities    3 var,var
#comfunc global IBDA_Encoder_EnumAudioCapability  4 int,var,var,var,var,var
#comfunc global IBDA_Encoder_EnumVideoCapability  5 int,var,var,var,var,var,var,var
#comfunc global IBDA_Encoder_SetParameters        6 int,int,int,int,int,int,int
#comfunc global IBDA_Encoder_GetState             7 var,var,var,var,var,var,var,var,var,var,var,var,var,var,var,var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。