AOMedia AV1 Codec
RateControlCfg Struct Reference

Encoder rate control configuration parameters. More...

#include <encoder.h>

Data Fields

int64_t starting_buffer_level_ms
 
int64_t optimal_buffer_level_ms
 
int64_t maximum_buffer_size_ms
 
int64_t target_bandwidth
 
unsigned int vbr_corpus_complexity_lap
 
unsigned int max_intra_bitrate_pct
 
unsigned int max_inter_bitrate_pct
 
unsigned int gf_cbr_boost_pct
 
unsigned int min_cr
 
int drop_frames_water_mark
 
int under_shoot_pct
 
int over_shoot_pct
 
int worst_allowed_q
 
int best_allowed_q
 
int cq_level
 
enum aom_rc_mode mode
 
int vbrbias
 
int vbrmin_section
 
int vbrmax_section
 

Detailed Description

Encoder rate control configuration parameters.

Field Documentation

◆ starting_buffer_level_ms

int64_t RateControlCfg::starting_buffer_level_ms

Indicates the amount of data that will be buffered by the decoding application prior to beginning playback, and is expressed in units of time(milliseconds).

Referenced by av1_init_layer_context().

◆ optimal_buffer_level_ms

int64_t RateControlCfg::optimal_buffer_level_ms

Indicates the amount of data that the encoder should try to maintain in the decoder's buffer, and is expressed in units of time(milliseconds).

◆ maximum_buffer_size_ms

int64_t RateControlCfg::maximum_buffer_size_ms

Indicates the maximum amount of data that may be buffered by the decoding application, and is expressed in units of time(milliseconds).

◆ target_bandwidth

int64_t RateControlCfg::target_bandwidth

Indicates the bandwidth to be used in bits per second.

Referenced by av1_restore_layer_context(), av1_save_layer_context(), and encode_frame_to_data_rate().

◆ vbr_corpus_complexity_lap

unsigned int RateControlCfg::vbr_corpus_complexity_lap

Indicates average complexity of the corpus in single pass vbr based on LAP. 0 indicates that corpus complexity vbr mode is disabled.

Referenced by find_next_key_frame().

◆ max_intra_bitrate_pct

unsigned int RateControlCfg::max_intra_bitrate_pct

Indicates the maximum allowed bitrate for any intra frame as % of bitrate target.

◆ max_inter_bitrate_pct

unsigned int RateControlCfg::max_inter_bitrate_pct

Indicates the maximum allowed bitrate for any inter frame as % of bitrate target.

◆ gf_cbr_boost_pct

unsigned int RateControlCfg::gf_cbr_boost_pct

Indicates the percentage of rate boost for golden frame in CBR mode.

Referenced by get_rate_correction_factor(), and set_rate_correction_factor().

◆ min_cr

unsigned int RateControlCfg::min_cr

min_cr / 100 indicates the target minimum compression ratio for each frame.

Referenced by encode_with_recode_loop(), and recode_loop_update_q().

◆ drop_frames_water_mark

int RateControlCfg::drop_frames_water_mark

Indicates the frame drop threshold.

Referenced by av1_encode_strategy(), av1_set_rtc_reference_structure_one_layer(), and encode_without_recode().

◆ under_shoot_pct

int RateControlCfg::under_shoot_pct

under_shoot_pct indicates the tolerance of the VBR algorithm to undershoot and is used as a trigger threshold for more aggressive adaptation of Q. It's value can range from 0-100.

Referenced by av1_twopass_postencode_update(), and get_twopass_worst_quality().

◆ over_shoot_pct

int RateControlCfg::over_shoot_pct

over_shoot_pct indicates the tolerance of the VBR algorithm to overshoot and is used as a trigger threshold for more aggressive adaptation of Q. It's value can range from 0-1000.

Referenced by av1_twopass_postencode_update(), and get_twopass_worst_quality().

◆ worst_allowed_q

int RateControlCfg::worst_allowed_q

Indicates the maximum qindex that can be used by the quantizer i.e. the worst quality qindex.

Referenced by av1_init_layer_context().

◆ best_allowed_q

int RateControlCfg::best_allowed_q

Indicates the minimum qindex that can be used by the quantizer i.e. the best quality qindex.

◆ cq_level

int RateControlCfg::cq_level

Indicates the Constant/Constrained Quality level.

Referenced by av1_encode_strategy(), av1_get_second_pass_params(), define_gf_group(), get_twopass_worst_quality(), and recode_loop_test().

◆ mode

◆ vbrbias

int RateControlCfg::vbrbias

Indicates the bias (expressed on a scale of 0 to 100) for determining target size for the current frame. The value 0 indicates the optimal CBR mode value should be used, and 100 indicates the optimal VBR mode value should be used.

Referenced by find_next_key_frame().

◆ vbrmin_section

int RateControlCfg::vbrmin_section

Indicates the minimum bitrate to be used for a single frame as a percentage of the target bitrate.

◆ vbrmax_section

int RateControlCfg::vbrmax_section

Indicates the maximum bitrate to be used for a single frame as a percentage of the target bitrate.


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