AOMedia AV1 Codec
|
Primary Rate Control parameters and status. More...
#include <ratectrl.h>
Data Fields | |
int64_t | gf_group_bits |
int | kf_boost |
int | gfu_boost |
int | gf_intervals [MAX_NUM_GF_INTERVALS] |
int | cur_gf_index |
int64_t | starting_buffer_level |
int64_t | optimal_buffer_level |
int64_t | maximum_buffer_size |
int | arf_q |
int | last_kf_qindex |
int | avg_frame_qindex [FRAME_TYPES] |
int | active_best_quality [MAX_ARF_LAYERS+1] |
int | last_boosted_qindex |
double | avg_q |
int | last_q [FRAME_TYPES] |
double | rate_correction_factors [RATE_FACTOR_LEVELS] |
int64_t | total_actual_bits |
int64_t | total_target_bits |
int64_t | buffer_level |
int | rate_error_estimate |
int64_t | vbr_bits_off_target |
int64_t | vbr_bits_off_target_fast |
int64_t | bits_off_target |
int | rolling_target_bits |
int | rolling_actual_bits |
int | q_history [MAX_Q_HISTORY] |
Primary Rate Control parameters and status.
int64_t PRIMARY_RATE_CONTROL::gf_group_bits |
Target bit budget for the current GF / ARF group of frame.
int PRIMARY_RATE_CONTROL::kf_boost |
Boost factor used to calculate the extra bits allocated to the key frame
Referenced by av1_get_second_pass_params(), and find_next_key_frame().
int PRIMARY_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(), and define_gf_group_pass0().
int PRIMARY_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 PRIMARY_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().
int64_t PRIMARY_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 PRIMARY_RATE_CONTROL::optimal_buffer_level |
Optimum / target buffuer level in ms for CBR / low delay encoding
Referenced by av1_encodedframe_overshoot_cbr(), av1_postencode_drop_cbr(), av1_update_layer_context_change_config(), and dynamic_resize_one_pass_cbr().
int64_t PRIMARY_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 PRIMARY_RATE_CONTROL::arf_q |
Q index used for ALT frame
Referenced by av1_rc_pick_q_and_bounds().
int PRIMARY_RATE_CONTROL::last_kf_qindex |
Q used for last boosted (non leaf) frame
Referenced by get_q().
int PRIMARY_RATE_CONTROL::avg_frame_qindex[FRAME_TYPES] |
Average of q index of previous encoded frames in a sequence.
Referenced by av1_encodedframe_overshoot_cbr(), av1_init_layer_context(), av1_postencode_drop_cbr(), and rc_pick_q_and_bounds_no_stats().
int PRIMARY_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().
int PRIMARY_RATE_CONTROL::last_boosted_qindex |
Q used for last boosted (non leaf) frame (GF/KF/ARF)
Referenced by get_q(), and rc_pick_q_and_bounds_no_stats().
double PRIMARY_RATE_CONTROL::avg_q |
Average Q value of previous inter frames
Referenced by av1_init_layer_context().
int PRIMARY_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().
double PRIMARY_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_encode_strategy(), av1_encodedframe_overshoot_cbr(), av1_init_layer_context(), get_rate_correction_factor(), and set_rate_correction_factor().
int64_t PRIMARY_RATE_CONTROL::total_actual_bits |
Current total consumed bits.
Referenced by av1_init_layer_context(), and av1_twopass_postencode_update().
int64_t PRIMARY_RATE_CONTROL::total_target_bits |
Current total target bits.
int64_t PRIMARY_RATE_CONTROL::buffer_level |
Current buffer level.
Referenced by av1_encodedframe_overshoot_cbr(), av1_init_layer_context(), av1_postencode_drop_cbr(), av1_update_layer_context_change_config(), and dynamic_resize_one_pass_cbr().
int PRIMARY_RATE_CONTROL::rate_error_estimate |
PCT rc error.
Referenced by av1_twopass_postencode_update().
int64_t PRIMARY_RATE_CONTROL::vbr_bits_off_target |
Error bits available from previously encoded frames.
Referenced by av1_twopass_postencode_update().
int64_t PRIMARY_RATE_CONTROL::vbr_bits_off_target_fast |
Error bits available from previously encoded frames undershoot.
Referenced by av1_twopass_postencode_update().
int64_t PRIMARY_RATE_CONTROL::bits_off_target |
Total bits deviated from the average frame target, from previously encoded frames.
Referenced by av1_encodedframe_overshoot_cbr(), av1_init_layer_context(), av1_postencode_drop_cbr(), and av1_update_layer_context_change_config().
int PRIMARY_RATE_CONTROL::rolling_target_bits |
Rolling monitor target bits updated based on current frame target size.
Referenced by av1_twopass_postencode_update().
int PRIMARY_RATE_CONTROL::rolling_actual_bits |
Rolling monitor actual bits updated based on current frame final projected size.
Referenced by av1_twopass_postencode_update().
int PRIMARY_RATE_CONTROL::q_history[MAX_Q_HISTORY] |
The history of qindex for each frame. Only used when RT_PASSIVE_STRATEGY = 1.