D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 枚举 (d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 枚举指定速率控制的标志。

语法

typedef enum D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 {
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_NONE = 0x0,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_DELTA_QP = 0x1,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_FRAME_ANALYSIS = 0x2,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE = 0x4,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP = 0x8,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE = 0x10,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES = 0x20,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT = 0x40,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_QUALITY_VS_SPEED = 0x80
} ;

常量

 
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_NONE
值: 0x0
无速率控制标志。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_DELTA_QP
值: 0x1
如果所选速率控制模式 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP,则此标志无效,因为 pRateControlQPMap 字段中的 QP 值用作绝对 QP 值。

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

将增量 QP 调整与某些活动速率控制模式结合使用可能会违反比特率约束,因为它会显式更改由速率控制预算算法选择的 QP 值。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_FRAME_ANALYSIS
值: 0x2
如果 D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS中指示支持,则此标志允许速率控制算法根据在第一次传递上执行帧分析收集的统计信息选择 QP 值,从而优化比特率使用。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE
值: 0x4
设置后,使用 MinQpMaxQp 值作为速率控制算法的范围。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP
值: 0x8
设置后,使用 InitialQP 值作为速率控制算法的范围。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE
值: 0x10
支持 D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0083_0_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE 时,速率控制算法应将每帧的最大大小限制为速率控制配置中的指定参数。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES
值: 0x20
设置后,启用 VBVCapacityInitialVBVFullness 的使用
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT
值: 0x40
需要设置 D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT 。 请参阅“备注”。
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_QUALITY_VS_SPEED
值: 0x80
需要 D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORTD3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE。 启用后,指示在速率控制结构中使用 QualityVsSpeed

注解

启用 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT 后,这表示将在 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS.pConfiguration_Xxx 中使用为 AV1 编码扩展的速率控制结构,如下表所示。

启用标志时的速率控制模式 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS类型 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS DataSize
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP1 sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1 sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1 sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1 sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1)

否则,禁用时将使用旧结构,如下表所示。

禁用标志时的速率控制模式 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS类型 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS DataSize
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP Null 0
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR sizeof (D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR)

有关常规信息,请参阅 D3D12 视频编码

要求

要求
最低受支持的客户端 Windows 11 (WDDM 3.0)
标头 d3d12umddi.h

另请参阅

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR_0080

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR_0080

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0