VA-API
2.22.0
|
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 |
Rate control parameters.
uint32_t VAEncMiscParameterRateControl::basic_unit_size |
Basic unit size.
Only used by some drivers - see driver documentation for details. Set to zero if unused.
uint32_t VAEncMiscParameterRateControl::bits_per_second |
The maximum bit-rate which the the rate controller should generate.
uint32_t VAEncMiscParameterRateControl::cfs_I_frames |
Ensure that intra frames also conform to the constant frame size.
uint32_t VAEncMiscParameterRateControl::disable_bit_stuffing |
Disable bit stuffing in rate control mode.
uint32_t VAEncMiscParameterRateControl::disable_frame_skip |
Disable frame skip in rate control mode.
uint32_t VAEncMiscParameterRateControl::enable_parallel_brc |
Enable parallel rate control for hierarchical B frames.
See VA_RC_PARALLEL.
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.
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.
uint32_t VAEncMiscParameterRateControl::initial_qp |
Initial quantiser value used at the start of the stream.
Ignored if set to zero.
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.
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.
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.
uint32_t VAEncMiscParameterRateControl::quality_factor |
Quality factor
the range will be different for different codec
uint32_t VAEncMiscParameterRateControl::reserved |
Reserved for future use, must be zero.
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.
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.
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%).
uint32_t VAEncMiscParameterRateControl::temporal_id |
The temporal layer that these rate control parameters apply to.
uint32_t VAEncMiscParameterRateControl::va_reserved[VA_PADDING_LOW] |
Reserved bytes for future use, must be zero.
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.