D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0構造体 (d3d12umddi.h)
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0構造体には、エンコード操作の入力の画像レベルのパラメーターが含まれています。
構文
typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 {
UINT IntraRefreshFrameIndex;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 Flags;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 PictureControlCodecData;
D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 ReferenceFrames;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0;
メンバー
IntraRefreshFrameIndex
D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH フラグを指定して IntraRefreshFramesDuration フレームの更新ウェーブを要求する場合、この値は、現在の図の更新ウェーブ内のフレームのインデックスを示します。 値の範囲は、ドライバーへの更新セッションの状態を示すために、ホストによって [0-IntraRefreshFramesDuration) の間に設定されます。
Flags
現在のエンコード フレーム操作のピクチャ コントロール記述子フラグを示す D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 値。
PictureControlCodecData
画像制御コーデック固有のデータを含む D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 構造体。 選択した レート制御モードに応じて、量子化パラメータ(QP)の値は異なる方法で解釈されます。
ReferenceFrames
過去のエンコード操作の出力から再構築された画像を含む D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 構造体。
注釈
一般的な情報については、「 D3D12 ビデオ エンコード 」を参照してください。
次の解説では、フレーム管理に関するガイダンスを提供します。
ホストは、必要に応じて POC による B フレームの並べ替えを行った後、画像のコーデック グループ (GOP) 構造で構成された画像の種類の定期的なシーケンスに基づいてエンコード順序で EncodeFrame を呼び出します。
異なるコーデックでは、この構造のインデックスを作成し、状態メタデータを保持する独自の方法を使用できます。 このような詳細を含む EncodeFrame 操作でも渡されるコーデック画像パラメーターを参照してください。
D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYSは、D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080構造体の hDrvTexture2Ds フィールドと pSubresources フィールドのテクスチャ配列の要件を指定します。
特定のフレームのエンコード操作の出力では、次のフレームで参照として使用するようにマークされている場合は、再構築された画像も返す必要があります。 クライアントは、再構築された画像を将来の EncodeFrame コマンドで渡します。
テンポラル レイヤーをコーディングする場合、ピクチャは、独自のレイヤー番号より小さい TemporalLayerIndex レイヤーの参照図としてのみ使用できます。 テンポラルレイヤーのインデックスは、ピクチャコントロール構造と参照ピクチャ記述子で指定されます。
参照図の数に関するハードウェアの制限は、L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) および L1 (MaxL1ReferencesForB) リストに存在する要素の最大数で表されます。 および MaxDPBCapacity による制限は、D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0で提供される pReferenceFramesReconPictureDescriptors の値にマップされる (L0 共用体 L1) 内の一意のインデックスの最大数です。
pReferenceFramesReconPictureDescriptors で渡されるデコードされたピクチャ バッファー (DPB) エントリの数に制限はありませんが、その配列上の L0 および L1 リストによって参照されるエントリの数に制限はありません。 これにより、ユーザーはコーデックの標準の制限で定義されている制限内で pReferenceFramesReconPictureDescriptors 内の DPB の状態を追跡し、 EncodeFrame を呼び出すときにハードウェアの制限によって制限されたサブセットのみを使用できます。 たとえば、HEVC エンコードの場合、呼び出し元は pReferenceFramesReconPictureDescriptors でエンコードされた最新の 15 個の画像を追跡できますが、L0 リストと L1 リストに一意のインデックスの数を制限することで、ハードウェアの制限に該当する画像のサブセットのみを使用できます。
即時デコーダー更新 (IDR) フレームの要求は、フレーム参照と DPB バッファーの間のバリアとして機能し、それに応じてホストによってその状態をフラッシュする必要がある場合があることに注意してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |
こちらもご覧ください
D3D12DDI_VIDEO_ENCODER_ENCODEFRAME_INPUT_STREAM_ARGUMENTS_0082_0
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_0080
D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080
D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS_0082_0