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 处于打开状态,驱动程序将:
    • 计算并写入 分段配置,API 客户端将使用该段配置来编码帧标头中的segmentation_params () 语法。
    • 直接在压缩的位流中计算和写入read_segment_id () 映射信息。
  • 如果当前帧 D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM 处于打开状态,驱动程序将:
    • 在此处复制 API 客户端在编码帧参数中为 API 客户端发送的 分段配置 ,以便在帧标头中编码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 客户端将从此输出参数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