D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1_0096 结构 (d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1_0096结构包含增强型 QVBR 速率控制模式的速率控制定义。

语法

typedef struct D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1_0096 {
  UINT   InitialQP;
  UINT   MinQP;
  UINT   MaxQP;
  UINT64 MaxFrameBitSize;
  UINT64 TargetAvgBitRate;
  UINT64 PeakBitRate;
  UINT   ConstantQualityTarget;
  UINT64 VBVCapacity;
  UINT64 InitialVBVFullness;
  UINT   QualityVsSpeed;
} D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1_0096;

成员

InitialQP

设置 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP 标志后,速率控制算法可以使用 InitialQP

MinQP

设置 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE 标志后, MinQP 会将量化参数限制 (QP) 速率控制算法的范围。

MaxQP

设置 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE 标志时, MaxQP 会限制速率控制算法的 QP 范围。

MaxFrameBitSize

要编码的每个帧的最大大小(以位为单位)。 设置 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE 时, MaxFrameBitSize 会限制速率控制算法中每个帧的最大大小。

TargetAvgBitRate

要使用的平均比特率(以位数/秒为单位)。

PeakBitRate

可以达到的最大比特率(以位/秒为单位)。

ConstantQualityTarget

指示质量级别。 值特定于编解码器,因为每个标准定义此参数的范围 (例如 H.264/HEVC 0-51 等) 。

VBVCapacity

视频缓冲验证程序 (VBV) 缓冲区容量(以位为单位)。

InitialVBVFullness

VBV 缓冲区的初始完整度(以位为单位)。

QualityVsSpeed

质量与速度的权衡。 此值必须在 [0, D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 范围内。MaxQualityVsSpeed]。 值越低,编码操作的速度就越快。

QualityVsSpeed 公开的每个级别关联的设置必须仅引用与特定编解码器配置或编码工具选择无关的硬件/驱动程序实现优化和启发,这些配置或编码工具选择已在 D3D12 API 中单独向用户单独公开。 请注意,通过此 API 公开的其他编解码器配置和编解码器编码工具也可能会影响质量和速度。

注解

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

要求

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

另请参阅

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080