D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS 枚举 (d3d12video.h)

指定 D3D12_VIDEO_ENCODER_RATE_CONTROL 结构的标志。

语法

typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS {
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_EXTENSION1_SUPPORT,
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QUALITY_VS_SPEED
} ;

常量

 
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE
无。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP
如果所选速率控件 D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP,则此标志不起作用,因为 D3D12_VIDEO_ENCODER_RATE_CONTROL.pRateControlQPMap 字段中的 QP 值用作绝对 QP 值。

对于其他速率控制模式,此标志允许将 D3D12_VIDEO_ENCODER_RATE_CONTROL.pRateControlQPMap 的使用解释为用于当前帧编码操作的增量 QP 映射。 地图中提供的值在由速率控制算法或 CQP 模式下设置的基线 QP 常量决定的 QP 值的基础上递增/递减。

注意 使用增量 QP 调整以及某些活动速率控制模式可能会违反比特率约束,因为它会显式更改由速率控制预算算法选择的 QP 值。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS
如果支持 D3D12_VIDEO_ENCODER_SUPPORT_FLAGS ,则启用速率控制算法,以便基于通过对第一次传递执行帧分析收集的统计信息选择 QP 值来优化比特率使用。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE
MinQp/MaxQP 值用作速率控制算法的范围。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP
InitialQP 值用作速率控制算法的范围。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE
如果支持 D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE ,速率控制算法会将每帧的最大大小限制为速率控制配置中的指定参数。
D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES
启用 VBVCapacity 和 InitialVBVFullness 的使用。

要求

要求
最低受支持的客户端 Windows 内部版本 22000
最低受支持的服务器 Windows 内部版本 22000
标头 d3d12video.h