ID3D12VideoEncoderHeap
COM公式ドキュメント
Direct3D 12 のビデオエンコーダーヒープを表します。
解説(Remarks)
このクラスのインスタンスは、ID3D12VideoDevice3::CreateVideoEncoderHeap を呼び出して取得します。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ビデオエンコーダーヒープのノードマスクを取得します。
戻り値
ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定されたノードマスク値です。
ビデオエンコーダーヒープの初期化に使用されたエンコーダーヒープフラグを取得します。
戻り値
ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定された、D3D12_VIDEO_ENCODER_HEAP_FLAGS 列挙型の値のビット単位 OR の組み合わせです。
ビデオエンコーダーヒープに関連付けられたコーデックを取得します。
戻り値
ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定された、D3D12_VIDEO_ENCODER_CODEC 列挙型の値です。
ビデオエンコーダーヒープに関連付けられたコーデックプロファイルを取得します。
| dstProfile | D3D12_VIDEO_ENCODER_PROFILE_DESC | in | ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定されたコーデックプロファイルを表す D3D12_VIDEO_ENCODER_PROFILE_DESC 構造体を受け取ります。 |
戻り値
成功した場合は S_OK を返します。
ビデオエンコーダーヒープに関連付けられたコーデックレベルを取得します。
| dstLevel | D3D12_VIDEO_ENCODER_LEVEL_SETTING | in | ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定されたコーデックプロファイルを表す D3D12_VIDEO_ENCODER_LEVEL_SETTING 構造体を受け取ります。 |
ID3D12VideoEncoderHeap::GetResolutionListCount メソッド (d3d12video.h) は、ビデオエンコーダーヒープに関連付けられた解像度リストの数を取得します。
戻り値
ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定された解像度リストのサイズです。
ビデオエンコーダーヒープに関連付けられた解像度リストを取得します。
| ResolutionsListCount | DWORD | in | 取得する解像度の数です。エンコーダーヒープの作成に使用された解像度の数は、ID3D12VideoEncoderHeap::GetResolutionListCount を呼び出して取得します。 |
| pResolutionList | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* | out | ID3D12VideoDevice3::CreateVideoEncoderHeap に渡された D3D12_VIDEO_ENCODER_HEAP_DESC で指定された解像度を表す D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC 構造体の配列へのポインターを受け取ります。 |
戻り値
成功した場合は S_OK を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D12VideoEncoderHeap "{22B35D96-876A-44C0-B25E-FB8C9C7F1C4A}" #usecom global ID3D12VideoEncoderHeap IID_ID3D12VideoEncoderHeap "{}" #comfunc global ID3D12VideoEncoderHeap_GetNodeMask 8 #comfunc global ID3D12VideoEncoderHeap_GetEncoderHeapFlags 9 #comfunc global ID3D12VideoEncoderHeap_GetCodec 10 #comfunc global ID3D12VideoEncoderHeap_GetCodecProfile 11 int #comfunc global ID3D12VideoEncoderHeap_GetCodecLevel 12 int #comfunc global ID3D12VideoEncoderHeap_GetResolutionListCount 13 #comfunc global ID3D12VideoEncoderHeap_GetResolutionList 14 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ID3D12VideoEncoderHeap "{22B35D96-876A-44C0-B25E-FB8C9C7F1C4A}" #usecom global ID3D12VideoEncoderHeap IID_ID3D12VideoEncoderHeap "{}" #comfunc global ID3D12VideoEncoderHeap_GetNodeMask 8 #comfunc global ID3D12VideoEncoderHeap_GetEncoderHeapFlags 9 #comfunc global ID3D12VideoEncoderHeap_GetCodec 10 #comfunc global ID3D12VideoEncoderHeap_GetCodecProfile 11 int #comfunc global ID3D12VideoEncoderHeap_GetCodecLevel 12 int #comfunc global ID3D12VideoEncoderHeap_GetResolutionListCount 13 #comfunc global ID3D12VideoEncoderHeap_GetResolutionList 14 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。