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 |