![]() |
AOMedia AV1 Codec
|
Rate Control parameters and status. More...
#include <ratectrl.h>
Data Fields | |
int | base_frame_target |
int | this_frame_target |
int64_t | gf_group_bits |
int | projected_frame_size |
int | coefficient_size |
int | sb64_target_rate |
int | last_q [FRAME_TYPES] |
int | last_boosted_qindex |
int | last_kf_qindex |
int | gfu_boost |
int | kf_boost |
double | rate_correction_factors [RATE_FACTOR_LEVELS] |
int | frames_since_golden |
int | frames_till_gf_update_due |
int | intervals_till_gf_calculate_due |
int | gf_intervals [MAX_NUM_GF_INTERVALS] |
int | cur_gf_index |
int | frames_to_key |
int | worst_quality |
int | best_quality |
int64_t | starting_buffer_level |
int64_t | optimal_buffer_level |
int64_t | maximum_buffer_size |
int | arf_q |
int | active_worst_quality |
int | active_best_quality [MAX_ARF_LAYERS+1] |
Rate Control parameters and status.
int RATE_CONTROL::base_frame_target |
Baseline target rate for frame before adjustment for previous under or over shoot.
Referenced by av1_get_one_pass_rt_params(), and av1_twopass_postencode_update().
int RATE_CONTROL::this_frame_target |
Target rate for frame after adjustment for previous under or over shoot.
Referenced by get_q(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), recode_loop_test(), and recode_loop_update_q().
int64_t RATE_CONTROL::gf_group_bits |
Target bit budget for the current GF / ARF group of frame.
Referenced by define_gf_group().
int RATE_CONTROL::projected_frame_size |
Projected size for current frame
Referenced by av1_rc_update_rate_correction_factors(), av1_twopass_postencode_update(), recode_loop_test(), and recode_loop_update_q().
int RATE_CONTROL::coefficient_size |
Bit size of transform coefficient for current frame.
Referenced by encode_frame_to_data_rate().
int RATE_CONTROL::sb64_target_rate |
Super block rate target used with some adaptive quantization strategies.
int RATE_CONTROL::last_q[FRAME_TYPES] |
Q used on last encoded frame of the given type.
Referenced by av1_init_layer_context(), and dynamic_resize_one_pass_cbr().
int RATE_CONTROL::last_boosted_qindex |
Q used for last boosted (non leaf) frame (GF/KF/ARF)
Referenced by get_q(), rc_pick_q_and_bounds_no_stats(), and rc_pick_q_and_bounds_no_stats_cbr().
int RATE_CONTROL::last_kf_qindex |
Q used for last boosted (non leaf) frame
Referenced by get_q().
int RATE_CONTROL::gfu_boost |
Boost factor used to calculate the extra bits allocated to ARFs and GFs
Referenced by av1_get_second_pass_params(), av1_gop_bit_allocation(), define_gf_group(), define_gf_group_pass0(), set_gf_interval_update_onepass_rt(), and tf_setup_filtering_buffer().
int RATE_CONTROL::kf_boost |
Boost factor used to calculate the extra bits allocated to the key frame
Referenced by av1_get_one_pass_rt_params(), av1_get_second_pass_params(), and find_next_key_frame().
double RATE_CONTROL::rate_correction_factors[RATE_FACTOR_LEVELS] |
Correction factors used to adjust the q estimate for a given target rate in the encode loop.
Referenced by av1_init_layer_context(), get_rate_correction_factor(), and set_rate_correction_factor().
int RATE_CONTROL::frames_since_golden |
Number of frames since the last ARF / GF.
Referenced by av1_nonrd_pick_inter_mode_sb().
int RATE_CONTROL::frames_till_gf_update_due |
Number of frames till the next ARF / GF is due.
Referenced by av1_get_second_pass_params(), define_gf_group(), find_next_key_frame(), and set_gf_interval_update_onepass_rt().
int RATE_CONTROL::intervals_till_gf_calculate_due |
Number of determined gf groups left
Referenced by av1_get_second_pass_params(), calculate_gf_length(), define_gf_group(), and define_gf_group_pass0().
int RATE_CONTROL::gf_intervals[MAX_NUM_GF_INTERVALS] |
Stores the determined gf group lengths for a set of gf groups
Referenced by av1_get_second_pass_params(), calculate_gf_length(), define_gf_group(), and define_gf_group_pass0().
int RATE_CONTROL::cur_gf_index |
The current group's index into gf_intervals[]
Referenced by av1_get_second_pass_params(), calculate_gf_length(), define_gf_group(), and define_gf_group_pass0().
int RATE_CONTROL::frames_to_key |
Frames before the next key frame
Referenced by av1_encode_strategy(), av1_get_one_pass_rt_params(), av1_get_second_pass_params(), av1_restore_layer_context(), calculate_gf_length(), define_gf_group(), define_gf_group_pass0(), define_kf_interval(), encode_with_recode_loop_and_filter(), find_next_key_frame(), get_q(), get_q_using_fixed_offsets(), set_gf_interval_update_onepass_rt(), and tf_setup_filtering_buffer().
int RATE_CONTROL::worst_quality |
User specified maximum Q allowed for current frame
Referenced by av1_encodedframe_overshoot_cbr(), av1_init_layer_context(), av1_update_layer_context_change_config(), dynamic_resize_one_pass_cbr(), get_twopass_worst_quality(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), and recode_loop_update_q().
int RATE_CONTROL::best_quality |
User specified minimum Q allowed for current frame
Referenced by av1_init_layer_context(), av1_update_layer_context_change_config(), get_twopass_worst_quality(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), and recode_loop_update_q().
int64_t RATE_CONTROL::starting_buffer_level |
Initial buffuer level in ms for CBR / low delay encoding
Referenced by av1_update_layer_context_change_config().
int64_t RATE_CONTROL::optimal_buffer_level |
Optimum / target buffuer level in ms for CBR / low delay encoding
Referenced by av1_update_layer_context_change_config(), and dynamic_resize_one_pass_cbr().
int64_t RATE_CONTROL::maximum_buffer_size |
Maximum target buffuer level in ms for CBR / low delay encoding
Referenced by av1_update_layer_context_change_config().
int RATE_CONTROL::arf_q |
Q index used for ALT frame
int RATE_CONTROL::active_worst_quality |
Proposed maximum alloed Q for current frame
Referenced by av1_get_one_pass_rt_params(), av1_get_second_pass_params(), define_gf_group(), and rc_pick_q_and_bounds().
int RATE_CONTROL::active_best_quality[MAX_ARF_LAYERS+1] |
Proposed minimum allowed Q different layers in a coding pyramid
Referenced by av1_twopass_postencode_update(), and rc_pick_q_and_bounds().