VA-API  2.22.0
Public Attributes | List of all members
VAEncMiscParameterRateControl Struct Reference

Rate control parameters. More...

#include <va.h>

Public Attributes

uint32_t bits_per_second
 
uint32_t target_percentage
 
uint32_t window_size
 
uint32_t initial_qp
 
uint32_t min_qp
 
uint32_t basic_unit_size
 
uint32_t ICQ_quality_factor
 
uint32_t max_qp
 
uint32_t quality_factor
 
uint32_t target_frame_size
 
uint32_t va_reserved [VA_PADDING_LOW]
 
uint32_t reset: 1
 
uint32_t disable_frame_skip: 1
 
uint32_t disable_bit_stuffing: 1
 
uint32_t mb_rate_control: 4
 
uint32_t temporal_id: 8
 
uint32_t cfs_I_frames: 1
 
uint32_t enable_parallel_brc: 1
 
uint32_t frame_tolerance_mode: 2
 
uint32_t reserved: 12
 

Detailed Description

Rate control parameters.

Member Data Documentation

◆ basic_unit_size

uint32_t VAEncMiscParameterRateControl::basic_unit_size

Basic unit size.

Only used by some drivers - see driver documentation for details. Set to zero if unused.

◆ bits_per_second

uint32_t VAEncMiscParameterRateControl::bits_per_second

The maximum bit-rate which the the rate controller should generate.

◆ cfs_I_frames

uint32_t VAEncMiscParameterRateControl::cfs_I_frames

Ensure that intra frames also conform to the constant frame size.

◆ disable_bit_stuffing

uint32_t VAEncMiscParameterRateControl::disable_bit_stuffing

Disable bit stuffing in rate control mode.

◆ disable_frame_skip

uint32_t VAEncMiscParameterRateControl::disable_frame_skip

Disable frame skip in rate control mode.

◆ enable_parallel_brc

uint32_t VAEncMiscParameterRateControl::enable_parallel_brc

Enable parallel rate control for hierarchical B frames.

See VA_RC_PARALLEL.

◆ frame_tolerance_mode

uint32_t VAEncMiscParameterRateControl::frame_tolerance_mode

Frame tolerance mode.

Indicates the tolerance the application has to variations in the frame size. For example, wireless display scenarios may require very steady bit rate to reduce buffering time. It affects the rate control algorithm used, but may or may not have an effect based on the combination of other BRC parameters. Only valid when the driver reports support for VAConfigAttribFrameSizeToleranceSupport.

equals 0 – normal mode; equals 1 – maps to sliding window; equals 2 – maps to low delay mode; other – invalid.

◆ ICQ_quality_factor

uint32_t VAEncMiscParameterRateControl::ICQ_quality_factor

Initial quality factor used in ICQ mode.

This value must be between 1 and 51. this value will be deprecated in future, to use quality_factor instead of it.

◆ initial_qp

uint32_t VAEncMiscParameterRateControl::initial_qp

Initial quantiser value used at the start of the stream.

Ignored if set to zero.

◆ max_qp

uint32_t VAEncMiscParameterRateControl::max_qp

Maximum quantiser value to use.

The quantiser will not go above this value - if this limit is hit, the output bitrate may exceed the target. Ignored if set to zero.

◆ mb_rate_control

uint32_t VAEncMiscParameterRateControl::mb_rate_control

Macroblock-level rate control.

0: use default, 1: always enable, 2: always disable, other: reserved.

This feature is only available if VAConfigAttribRateControl has the VA_RC_MB bit set.

◆ min_qp

uint32_t VAEncMiscParameterRateControl::min_qp

Minimum quantiser value to use.

The quantiser will not go below the value - if this limit is hit, the output bitrate may be lower than the target. Ignored if set to zero.

◆ quality_factor

uint32_t VAEncMiscParameterRateControl::quality_factor

Quality factor

the range will be different for different codec

◆ reserved

uint32_t VAEncMiscParameterRateControl::reserved

Reserved for future use, must be zero.

◆ reset

uint32_t VAEncMiscParameterRateControl::reset

Force rate controller reset.

The next frame will be treated as the start of a new stream, with all rate controller state reset to its initial values.

◆ target_frame_size

uint32_t VAEncMiscParameterRateControl::target_frame_size

Target frame size

Desired frame size in bytes. This parameter can be used in some RC modes (like Transport Controlled BRC) where feedback from the app is required. Zero value means no limits.

◆ target_percentage

uint32_t VAEncMiscParameterRateControl::target_percentage

The target bit-rate which the rate controller should generate, as a percentage of the maximum bit-rate.

In CBR mode this value is ignored (treated as 100%).

◆ temporal_id

uint32_t VAEncMiscParameterRateControl::temporal_id

The temporal layer that these rate control parameters apply to.

◆ va_reserved

uint32_t VAEncMiscParameterRateControl::va_reserved[VA_PADDING_LOW]

Reserved bytes for future use, must be zero.

◆ window_size

uint32_t VAEncMiscParameterRateControl::window_size

Rate control window size in milliseconds.

The rate controller will attempt to guarantee that the target and maximum bit-rates are correct over this window.


The documentation for this struct was generated from the following file: