D3D12_VIDEO_ENCODER_RATE_CONTROL structure (d3d12video.h)

Represents a video encoder rate control configuration.

Syntax

typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL {
  D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE                 Mode;
  D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS                Flags;
  D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams;
  DXGI_RATIONAL                                         TargetFrameRate;
} D3D12_VIDEO_ENCODER_RATE_CONTROL;

Members

Mode

A value from the D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE enumeration specifying the rate control mode.

Flags

A bitwise OR combination of values from the D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS enumeration.

ConfigParams

A D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS structure representing rate control configuration parameters corresponding to the specified Mode. Note that for absolute QP matrix mode, the configuration arguments are provided per EncodeFrame basis.

If the selected rate control mode is D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP, the QP values in pRateControlQPMap are treated as absolute QP values.

For the other rate control modes, the QP values in pRateControlQPMap are interpreted as a delta QP map to be used for the current frame encode operation. The values provided in the map are incremented/decremented on top of the QP values decided by the rate control algorithm or the baseline QP constant set in CQP mode.

TargetFrameRate

A DXGI_RATIONAL specifying the target frame rate for the encoded stream. This value is a hint for the rate control budgeting algorithm.

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Minimum supported server Windows Build 22000
Header d3d12video.h