D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_0096 structure (d3d12umddi.h)
The D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR_0080 structure contains the extended rate control definition for variable bitrate (VBR) mode.
Syntax
typedef struct D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_0096 {
UINT InitialQP;
UINT MinQP;
UINT MaxQP;
UINT64 MaxFrameBitSize;
UINT64 TargetAvgBitRate;
UINT64 PeakBitRate;
UINT64 VBVCapacity;
UINT64 InitialVBVFullness;
UINT QualityVsSpeed;
} D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_0096;
Members
InitialQP
When the D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP flag is set, InitialQP can be used by the rate control algorithm.
MinQP
When the D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE flag is set, MinQP limits the quantization parameter (QP) range of the rate control algorithm.
MaxQP
When the D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE flag is set, MaxQP limits the QP range of the rate control algorithm.
MaxFrameBitSize
Maximum size for each frame to be encoded, in bits. When D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE is set, MaxFrameBitSize limits each frame's maximum size in the rate control algorithm.
TargetAvgBitRate
Average bitrate to be used, in bits per second.
PeakBitRate
Maximum bitrate that can be reached, in bits per second.
VBVCapacity
When D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES is set, VBVCapacity specifies the capacity, in bits, of the Video Buffer Verifier (VBV) to be used in the rate control algorithm.
InitialVBVFullness
When D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES is set, InitialVBVFullness specifies the initial fullness, in bits, of the VBV to be used in the rate control algorithm.
QualityVsSpeed
The quality versus speed trade-off. This value must be in the range [0, D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1.MaxQualityVsSpeed]. The lower the value, the faster the encode operation.
The settings associated to each of the levels exposed by QualityVsSpeed must only refer to hardware/driver implementation optimizations and heuristics that aren't related to specific codec configurations or encoding tools selection, which are already independently exposed in the D3D12 API to the user individually. Please note that other codec configurations and codec encoding tools exposed through this API may also affect quality and speed.
Remarks
See D3D12 AV1 video encoding for more information.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11, version 24H2 (WDDM 3.2) |
Header | d3d12umddi.h |
See also
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS_0080_2