次の方法で共有


ID3D12VideoEncodeCommandList2::EncodeFrame メソッド (d3d12video.h)

ビットストリームをエンコードします。

構文

void EncodeFrame(
  ID3D12VideoEncoder                                     *pEncoder,
  ID3D12VideoEncoderHeap                                 *pHeap,
  const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS  *pInputArguments,
  const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments
);

パラメーター

pEncoder

エンコード操作に使用するビデオ エンコーダーを表す ID3D12VideoEncoder

pHeap

この操作に使用するビデオ エンコーダー ヒープを表す ID3D12VideoEncoderHeap

エンコーダー ヒープ オブジェクトの割り当ては、それを参照する実行中の GPU コマンドが実行を終了する前に解放しないでください。

記録されたコマンド入力引数の再構成は、許可された境界内で実行されます (たとえば、許可された解像度の一覧の異なるターゲット解像度) は、同じエンコーダー ヒープ インスタンスと同時に存在でき、指定されたエンコーダー ヒープでターゲットの解像度がサポートされている場合に注意してください。

現在のリリースでは、同じエンコーダーまたはエンコーダー ヒープ インスタンスを使用して一度に 1 つの実行フローのみをサポートしています。 これらのオブジェクトに対するすべてのコマンドは、シリアル化された順序で記録および送信する必要があります。つまり、1 つの CPU スレッドから、またはコマンドがシリアル化された順序で記録されるように複数のスレッドを同期します。

ビデオ エンコーダーとビデオ エンコーダー ヒープは、複数のコマンド リストのコマンドを記録するために使用できますが、一度に関連付けられるコマンド リストは 1 つだけです。 アプリケーションは、ビデオ エンコーダーとビデオ エンコーダー ヒープへの 1 つのアクセスを一度に同期する役割を担います。 また、アプリケーションでは、GPU 上で実行される順序で、ビデオ エンコーダーヒープとビデオ エンコーダー ヒープに対するビデオ エンコード コマンドも記録する必要があります。

pInputArguments

エンコード操作の入力引数を表す D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS

pOutputArguments

エンコード操作の出力引数を表す D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS

戻り値

なし

必要条件

要件
サポートされている最小のクライアント Windows ビルド 22000
サポートされている最小のサーバー Windows ビルド 22000
Header d3d12video.h