ID3D12VideoMotionVectorHeap
COM公式ドキュメント
推定された動きベクトルを格納するヒープを表します。
解説(Remarks)
このインターフェイスの新しいインスタンスは、ID3D12VideoDevice1::CreateVideoMotionVectorHeap を呼び出して作成します。
このインターフェイスは、ID3D12VideoEncodeCommandList::EstimateMotion から返される D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT 構造体で使用されます。また、D3D12_VIDEO_MOTION_ESTIMATOR_INPUT 構造体でヒントベクトルを指定するためにも使用されます。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ID3D12VideoMotionEstimatorHeap の作成時に ID3D12VideoDevice1::CreateVideoMotionEstimatorHeap へ渡された D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC 構造体を取得します。
戻り値
このメソッドは D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC 構造体を返します。
ID3D12VideoMotionEstimatorHeap の作成時に ID3D12VideoDevice1::CreateVideoMotionEstimatorHeap へ渡された ID3D12ProtectedResourceSession を取得します。
| riid | GUID* | in | ID3D12ProtectedResourceSession インターフェイスのグローバル一意識別子 (GUID)。 |
| ppProtectedSession | void** | outoptional | ID3D12ProtectedResourceSession インターフェイスを表す void ポインターを受け取ります。 |
戻り値
このメソッドは HRESULT を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D12VideoMotionVectorHeap "{5BE17987-743A-4061-834B-23D22DAEA505}" #usecom global ID3D12VideoMotionVectorHeap IID_ID3D12VideoMotionVectorHeap "{}" #comfunc global ID3D12VideoMotionVectorHeap_GetDesc 8 #comfunc global ID3D12VideoMotionVectorHeap_GetProtectedResourceSession 9 var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12VideoMotionVectorHeap "{5BE17987-743A-4061-834B-23D22DAEA505}" #usecom global ID3D12VideoMotionVectorHeap IID_ID3D12VideoMotionVectorHeap "{}" #comfunc global ID3D12VideoMotionVectorHeap_GetDesc 8 #comfunc global ID3D12VideoMotionVectorHeap_GetProtectedResourceSession 9 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。