![]() |
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().