D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_0082_0 结构 (d3d12umddi.h)
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_0082_0结构描述用于 HEVC 编码的关联 EncodeFrame 命令的图片级控件元素。
语法
typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_0082_0 {
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS_0082_0 Flags;
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080 FrameType;
UINT slice_pic_parameter_set_id;
UINT PictureOrderCountNumber;
UINT TemporalLayerIndex;
UINT List0ReferenceFramesCount;
UINT *pList0ReferenceFrames;
UINT List1ReferenceFramesCount;
UINT *pList1ReferenceFrames;
UINT ReferenceFramesReconPictureDescriptorsCount;
D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC_0082_0 *pReferenceFramesReconPictureDescriptors;
UINT List0RefPicModificationsCount;
UINT *pList0RefPicModifications;
UINT List1RefPicModificationsCount;
UINT *pList1RefPicModifications;
UINT QPMapValuesCount;
INT8 *pRateControlQPMap;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_0082_0;
成员
Flags
一个D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS_0082_0值,该值指定要编码的此帧的配置标志。 标志可以组合使用。
FrameType
设置图片类型的 D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080 值。 在选择值之前,请检查编解码器特定的标志是否支持 该类型。
注意
FrameType 必须与主机设置的 GOP) 结构配置 (图片组保持同步。 GOP 按 显示顺序定义。 图片类型选择必须遵循 GOP,但按编码顺序。
slice_pic_parameter_set_id
要在当前帧的切片标头中使用的值,以引用 PPS) (图片参数集。
PictureOrderCountNumber
当前帧显示顺序。
TemporalLayerIndex
临时层次结构中的图片层编号。 检查 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_0083_0 ,了解最大层数。
List0ReferenceFramesCount
要用于此帧的过去帧引用数。 此值应与 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_0083_0中公开的内容一致。
pList0ReferenceFrames
指向要用于此帧的过去帧引用帧列表的指针。 此数组中的每个整数值都会索引到 pReferenceFramesReconPictureDescriptors 中,以引用已解码图片缓冲区中保留的图片 (DPB) 。
List1ReferenceFramesCount
要用于此帧的未来帧引用数。 此值应与 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_0083_0中公开的内容一致。
pList1ReferenceFrames
指向要用于此帧的未来帧引用帧列表的指针。 此数组中的每个整数值都会索引到 pReferenceFramesReconPictureDescriptors 中,以引用保存在 DPB 中的图片。
ReferenceFramesReconPictureDescriptorsCount
pReferenceFramesReconPictureDescriptors 中的条目数。
pReferenceFramesReconPictureDescriptors
指向 D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC_0082_0 结构的指针,该结构描述 保存在 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames 中的 DPB 缓冲区的当前状态。 L0/L1 列出从过去/未来引用到此描述符数组的索引映射。
反过来,此描述符数组将此帧的参考图片映射到 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames 重建的图片数组中的资源索引。 此外,对于每个参考图片,它指示编码和显示顺序编号,以及它是否是长期引用。
此数组的大小与关联的 EncodeFrame 命令D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames.NumTextures匹配 。
List0RefPicModificationsCount
L0 列表的列表修改次数。
pList0RefPicModifications
指向包含 L0 列表的 List0RefPicModificationsCount 修改命令的列表的指针。
List1RefPicModificationsCount
L1 列表的列表修改次数。
pList1RefPicModifications
指向包含 L1 列表的 List1RefPicModificationsCount 修改命令的列表的指针。
QPMapValuesCount
pRateControlQPMap 指向的数组中存在的元素数。 此值应与帧中的编码块数匹配,将帧分辨率舍入到最接近的对齐值。
pRateControlQPMap
指向数组的指针,该数组包含量化参数(按行/列扫描顺序) (QP) 映射要用于此帧的每个平方区域的值。 可以使用当前分辨率和 D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.QPMapRegionPixelsSize 来计算 QP 地图维度,以传达平方区域大小。
注解
有关常规信息,请参阅 D3D12 视频编码 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 (WDDM 3.0) |
标头 | d3d12umddi.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈