次の方法で共有


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 では、hDrvTexture2Ds および D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 構造体のフィールド 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)
ヘッダー 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

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0