ホーム › Media.MediaFoundation › ID3D12VideoEncodeCommandList4
ID3D12VideoEncodeCommandList4
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 30 void EncodeFrame1(ID3D12VideoEncoder* pEncoder, ID3D12VideoEncoderHeap1* pHeap, D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1* pInputArguments, D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1* pOutputArguments)
| pEncoder | ID3D12VideoEncoder* | in | 符号化処理に使用するビデオエンコーダーへのポインター。 |
| pHeap | ID3D12VideoEncoderHeap1* | in | 符号化に使用する拡張エンコーダーヒープ(ID3D12VideoEncoderHeap1)へのポインター。 |
| pInputArguments | D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1* | in | 符号化入力を記述するD3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1構造体へのポインター。 |
| pOutputArguments | D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1* | in | 符号化出力を記述するD3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1構造体へのポインター。 |
vtbl 31 void ResolveEncoderOutputMetadata1(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1* pInputArguments, D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1* pOutputArguments)
| pInputArguments | D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1* | in | メタデータ解決入力を記述するD3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1構造体へのポインター。 |
| pOutputArguments | D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1* | in | 解決済みメタデータを受け取るD3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1構造体へのポインター。 |
vtbl 32 void ResolveInputParamLayout(D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS* pInputArguments, D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS* pOutputArguments)
| pInputArguments | D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS* | in | 入力パラメーターレイアウト解決の入力を記述するD3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS構造体へのポインター。 |
| pOutputArguments | D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS* | in | 解決済みレイアウトを受け取るD3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS構造体へのポインター。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12VideoEncodeCommandList4 "{69AEB5B7-55F2-4012-8B73-3A88D65A204C}" #usecom global ID3D12VideoEncodeCommandList4 IID_ID3D12VideoEncodeCommandList4 "{}" #comfunc global ID3D12VideoEncodeCommandList4_EncodeFrame1 30 sptr,sptr,var,var #comfunc global ID3D12VideoEncodeCommandList4_ResolveEncoderOutputMetadata1 31 var,var #comfunc global ID3D12VideoEncodeCommandList4_ResolveInputParamLayout 32 var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12VideoEncodeCommandList4 "{69AEB5B7-55F2-4012-8B73-3A88D65A204C}" #usecom global ID3D12VideoEncodeCommandList4 IID_ID3D12VideoEncodeCommandList4 "{}" #comfunc global ID3D12VideoEncodeCommandList4_EncodeFrame1 30 sptr,sptr,sptr,sptr #comfunc global ID3D12VideoEncodeCommandList4_ResolveEncoderOutputMetadata1 31 sptr,sptr #comfunc global ID3D12VideoEncodeCommandList4_ResolveInputParamLayout 32 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。