D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095结构(d3d12umddi.h)

如果针对其各自的结构报告了 D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS 值,则驱动程序必须在 EncodeFrame 执行后写入该值(复制 API 客户端输入)由驱动程序执行(复制 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,API 客户端将使用该配置在帧标头中编码 segmentation_params() 语法。
    • 直接在压缩位流中计算和写入 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_params segmentation_update_map、segmentation_temporal_update和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复制此参数的每个数组项 as-is。

API 客户端将从此输出参数ref_frame_idx AV1 语法写入图片标头。

言论

有关详细信息,请参阅 D3D12 AV1 视频编码

要求

要求 价值
最低支持的客户端 Windows 11 版本 24H2 (WDDM 3.2)
标头 d3d12umddi.h

另请参阅

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095

D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS