![]() |
AOMedia AV1 Codec
|
Top level primary encoder structure. More...
#include <encoder.h>
Data Fields | |
struct AV1_COMP * | cpi |
struct AV1_COMP * | cpi_lap |
struct lookahead_ctx * | lookahead |
int | seq_params_locked |
struct aom_codec_pkt_list * | output_pkt_list |
int | internal_altref_allowed |
int | show_existing_alt_ref |
GF_GROUP | gf_group |
GF_STATE | gf_state |
int | lap_enabled |
AV1LevelParams | level_params |
int | b_calculate_psnr |
int | frames_left |
TWO_PASS | twopass |
PRIMARY_RATE_CONTROL | p_rc |
YV12_BUFFER_CONFIG | alt_ref_buffer |
SequenceHeader | seq_params |
int | use_svc |
bool | buffer_removal_time_present |
unsigned int | number_temporal_layers |
unsigned int | number_spatial_layers |
struct aom_internal_error_info | error |
aom_variance_fn_ptr_t | fn_ptr [BLOCK_SIZES_ALL] |
double * | tpl_rdmult_scaling_factors |
double * | tpl_sb_rdmult_scaling_factors |
TplParams | tpl_data |
MV_STATS | mv_stats |
int | fb_of_context_type [REF_FRAMES] |
PrimaryMultiThreadInfo | p_mt_info |
FrameProbInfo | frame_probs |
Top level primary encoder structure.
struct AV1_COMP* AV1_PRIMARY::cpi |
Encode stage top level structure When CONFIG_FRAME_PARALLEL_ENCODE is enabled this is the same as parallel_cpi[0]
struct AV1_COMP* AV1_PRIMARY::cpi_lap |
Lookahead processing stage top level structure
struct lookahead_ctx* AV1_PRIMARY::lookahead |
Look-ahead context.
Referenced by av1_encode_strategy(), and tf_setup_filtering_buffer().
int AV1_PRIMARY::seq_params_locked |
Sequence parameters have been transmitted already and locked or not. Once locked av1_change_config cannot change the seq parameters.
struct aom_codec_pkt_list* AV1_PRIMARY::output_pkt_list |
Pointer to internal utility functions that manipulate aom_codec_* data structures.
int AV1_PRIMARY::internal_altref_allowed |
When set, indicates that internal ARFs are enabled.
Referenced by define_gf_group().
int AV1_PRIMARY::show_existing_alt_ref |
Tell if OVERLAY frame shows existing alt_ref frame.
Referenced by av1_encode_strategy().
GF_GROUP AV1_PRIMARY::gf_group |
Information related to a gf group.
Referenced by av1_encode(), av1_encode_strategy(), av1_get_one_pass_rt_params(), av1_get_second_pass_params(), av1_rd_pick_partition(), av1_twopass_postencode_update(), define_gf_group(), define_gf_group_pass0(), encode_frame_internal(), encode_frame_to_data_rate(), find_next_key_frame(), get_rate_correction_factor(), motion_mode_rd(), rc_pick_q_and_bounds(), set_gf_interval_update_onepass_rt(), set_rate_correction_factor(), and tf_setup_filtering_buffer().
GF_STATE AV1_PRIMARY::gf_state |
Track prior gf group state.
Referenced by av1_get_second_pass_params(), calculate_gf_length(), and define_gf_group().
int AV1_PRIMARY::lap_enabled |
Flag indicating whether look ahead processing (LAP) is enabled.
Referenced by av1_get_second_pass_params(), av1_twopass_postencode_update(), calculate_gf_length(), define_gf_group(), define_kf_interval(), find_next_key_frame(), and has_no_stats_stage().
AV1LevelParams AV1_PRIMARY::level_params |
Parameters for AV1 bitstream levels.
int AV1_PRIMARY::b_calculate_psnr |
Calculates PSNR on each frame when set to 1.
int AV1_PRIMARY::frames_left |
Number of frames left to be encoded, is 0 if limit is not set.
TWO_PASS AV1_PRIMARY::twopass |
Information related to two pass encoding.
Referenced by av1_encode_strategy(), av1_get_second_pass_params(), av1_twopass_postencode_update(), calculate_gf_length(), calculate_total_gf_group_bits(), define_gf_group(), define_kf_interval(), find_next_key_frame(), get_q(), get_twopass_worst_quality(), and tf_setup_filtering_buffer().
PRIMARY_RATE_CONTROL AV1_PRIMARY::p_rc |
Rate control related parameters.
Referenced by av1_encode_strategy(), av1_encodedframe_overshoot_cbr(), av1_get_one_pass_rt_params(), av1_get_second_pass_params(), av1_gop_bit_allocation(), av1_restore_layer_context(), av1_save_layer_context(), av1_twopass_postencode_update(), av1_update_layer_context_change_config(), calculate_gf_length(), calculate_total_gf_group_bits(), define_gf_group(), define_gf_group_pass0(), define_kf_interval(), dynamic_resize_one_pass_cbr(), encode_with_recode_loop_and_filter(), find_next_key_frame(), get_q(), get_rate_correction_factor(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), recode_loop_update_q(), set_gf_interval_update_onepass_rt(), set_rate_correction_factor(), and tf_setup_filtering_buffer().
YV12_BUFFER_CONFIG AV1_PRIMARY::alt_ref_buffer |
Frame buffer holding the temporally filtered source frame. It can be KEY frame or ARF frame.
Referenced by av1_tf_do_filtering_row().
SequenceHeader AV1_PRIMARY::seq_params |
Elements part of the sequence header, that are applicable for all the frames in the video.
int AV1_PRIMARY::use_svc |
Indicates whether to use SVC.
Referenced by av1_get_compressed_data(), av1_get_one_pass_rt_params(), av1_nonrd_pick_inter_mode_sb(), encode_without_recode(), estimate_intra_mode(), get_rate_correction_factor(), set_gf_interval_update_onepass_rt(), and set_rate_correction_factor().
bool AV1_PRIMARY::buffer_removal_time_present |
If true, buffer removal times are present.
unsigned int AV1_PRIMARY::number_temporal_layers |
Number of temporal layers: may be > 1 for SVC (scalable vector coding).
Referenced by av1_encode_strategy().
unsigned int AV1_PRIMARY::number_spatial_layers |
Number of spatial layers: may be > 1 for SVC (scalable vector coding).
Referenced by av1_encode_strategy(), and av1_get_compressed_data().
struct aom_internal_error_info AV1_PRIMARY::error |
Code and details about current error status.
aom_variance_fn_ptr_t AV1_PRIMARY::fn_ptr[BLOCK_SIZES_ALL] |
Function pointers to variants of sse/sad/variance computation functions. fn_ptr[i] indicates the list of function pointers corresponding to block size i.
Referenced by av1_tf_do_filtering_row(), handle_inter_mode(), and tf_motion_search().
double* AV1_PRIMARY::tpl_rdmult_scaling_factors |
Scaling factors used in the RD multiplier modulation. TODO(sdeng): consider merge the following arrays. tpl_rdmult_scaling_factors is a temporary buffer used to store the intermediate scaling factors which are used in the calculation of tpl_sb_rdmult_scaling_factors. tpl_rdmult_scaling_factors[i] stores the intermediate scaling factor of the ith 16 x 16 block in raster scan order.
double* AV1_PRIMARY::tpl_sb_rdmult_scaling_factors |
tpl_sb_rdmult_scaling_factors[i] stores the RD multiplier scaling factor of the ith 16 x 16 block in raster scan order.
TplParams AV1_PRIMARY::tpl_data |
Parameters related to tpl.
Referenced by handle_inter_mode().
MV_STATS AV1_PRIMARY::mv_stats |
Motion vector stats of the previous encoded frame.
Referenced by av1_encode_strategy().
int AV1_PRIMARY::fb_of_context_type[REF_FRAMES] |
For each type of reference frame, this contains the index of a reference frame buffer for a reference frame of the same type. We use this to choose our primary reference frame (which is the most recent reference frame of the same type as the current frame).
PrimaryMultiThreadInfo AV1_PRIMARY::p_mt_info |
Primary Multi-threading parameters.
FrameProbInfo AV1_PRIMARY::frame_probs |
Probabilities for pruning of various AV1 tools.
Referenced by encode_frame_internal(), and motion_mode_rd().