D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095構造体 (d3d12umddi.h)

それぞれの構造体 に対してD3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS 値が報告された場合、ドライバーは、変更の有無にかかわらず EncodeFrame の実行後に値を書き込む必要があります (API クライアント入力のコピー)。 それ以外の場合、ドライバーは EncodeFrame を呼び出すときに、関連付けられている API クライアント入力の値をコピーする必要があります。

構文

typedef struct D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 {
  UINT64                                                          CompoundPredictionType;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG_0095        LoopFilter;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG_0095  LoopFilterDelta;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG_0095       Quantization;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG_0095 QuantizationDelta;
  D3D12DDI_VIDEO_ENCODER_AV1_CDEF_CONFIG_0095                     CDEF;
  D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095             SegmentationConfig;
  UINT64                                                          PrimaryRefFrame;
  UINT64                                                          ReferenceIndices[7];
} D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095;

メンバー

CompoundPredictionType

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE

LoopFilter

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER

LoopFilterDelta

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA

Quantization

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION

QuantizationDelta

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA

CDEF

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA

SegmentationConfig

このメンバーは、選択したセグメント化モードに応じて異なるモードで動作します。

  • D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_0095_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO が現在 のフレームに対してオンになっている場合、ドライバーは次の手順を実行します。
    • SegmentationConfig を計算して書き込みます。これは、フレーム ヘッダーで segmentation_params() 構文をコーディングするために API クライアントによって使用されます。
    • read_segment_id() マップ情報を計算して圧縮ビットストリームに直接書き込みます。
  • 現在 のフレームD3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM がオンの場合、ドライバーは次の手順を実行します。
    • API クライアントのエンコード フレーム パラメーターで API クライアントによって送信された SegmentationConfig をここにコピーして、フレーム ヘッダーにsegmentation_params() 構文をコーディングします。
    • API クライアントによって送信されたread_segment_id() マップを、圧縮ビットストリーム内のエンコード フレーム パラメーターに直接コピーします。
  • それ以外の場合 (両方のセグメント化モードはオフです)。
    • ドライバーは、すべてのゼロを書き込む必要があります。
    • API クライアントは、フレーム ヘッダーの segmentation_params() セクションで、それに応じて segmentation_enabled = 0 を書き込みます。

PrimaryRefFrame

関連付けられたフラグが D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME。 フラグが設定されている場合、ドライバーは、セグメント ID マップ、CDF などの継承元のプライマリ参照フレームの選択を制御します。

D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATIONと共に使用すると、ドライバーは、必要に応じて PRIMARY_REF_NONE 以外の値を強制的に使用できます。これにより、ドライバーは av1 構文 (segmentation_update_map、segmentation_temporal_update、segmentation_params() のsegmentation_update_dataを完全に制御できます。

ReferenceIndices[7]

フラグが報告されると、ドライバーは、ユーザー入力のD3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095に基づいて ReferenceIndices 配列の並べ替え/再マップ (ただし、参照の数は変更されません) 可能性があります。ReferenceIndices。 それ以外の場合、ドライバーは、このパラメーターの各配列エントリを D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095.ReferenceIndices からそのままコピーする必要があります。

API クライアントは、この出力パラメーターから AV1 構文ref_frame_idx画像ヘッダーを書き込みます。

注釈

詳細については、「 D3D12 AV1 ビデオ エンコード 」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 11 バージョン 24H2 (WDDM 3.2)
Header d3d12umddi.h

こちらもご覧ください

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095

D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS