AOMedia AV1 Codec
|
Top level primary encoder structure. More...
#include <encoder.h>
Top level primary encoder structure.
struct AV1_COMP* AV1_PRIMARY::parallel_cpi[4] |
Array of frame level encoder stage top level structures
struct AV1_COMP_DATA AV1_PRIMARY::parallel_frames_data[4 - 1] |
Array of structures to hold data of frames encoded in a given parallel encode set.
RefCntBuffer* AV1_PRIMARY::ref_frame_map_copy[REF_FRAMES] |
Copy of cm->ref_frame_map maintained to facilitate sequential update of ref_frame_map by lower layer depth frames encoded ahead of time in a parallel encode set.
int64_t AV1_PRIMARY::ts_start_last_show_frame |
Start time stamp of the last encoded show frame
int64_t AV1_PRIMARY::ts_end_last_show_frame |
End time stamp of the last encoded show frame
int AV1_PRIMARY::num_fp_contexts |
Number of frame level contexts(cpis)
int AV1_PRIMARY::filter_level[2] |
Loopfilter levels of the previous encoded frame.
int AV1_PRIMARY::filter_level_u |
Chrominance component loopfilter level of the previous encoded frame.
int AV1_PRIMARY::filter_level_v |
Chrominance component loopfilter level of the previous encoded frame.
struct AV1_COMP* AV1_PRIMARY::cpi |
Encode stage top level structure During frame parallel encode, 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(), av1_receive_raw_frame(), 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(), and define_gf_group_pass3().
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_compressed_data(), av1_get_second_pass_params(), av1_rc_pick_q_and_bounds(), av1_rd_pick_partition(), av1_twopass_postencode_update(), define_gf_group(), define_gf_group_pass0(), define_gf_group_pass3(), encode_frame_internal(), encode_frame_to_data_rate(), encode_with_recode_loop(), encode_without_recode(), find_next_key_frame(), get_q(), get_rate_correction_factor(), motion_mode_rd(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), recode_loop_update_q(), 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(), and calculate_gf_length().
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.
Referenced by recode_loop_update_q().
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_second_pass_params(), av1_gop_bit_allocation(), av1_postencode_drop_cbr(), av1_rc_pick_q_and_bounds(), 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_gf_group_pass3(), 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_rate_correction_factor(), and tf_setup_filtering_buffer().
TEMPORAL_FILTER_INFO AV1_PRIMARY::tf_info |
Info and resources used by temporal filtering.
Referenced by av1_get_second_pass_params().
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_encode_strategy(), av1_get_compressed_data(), av1_nonrd_pick_inter_mode_sb(), av1_rc_update_rate_correction_factors(), encode_nonrd_sb(), encode_without_recode(), get_rate_correction_factor(), grade_source_content_sb(), 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).
unsigned int AV1_PRIMARY::number_spatial_layers |
Number of spatial layers: may be > 1 for SVC (scalable vector coding).
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(), rc_scene_detection_onepass_rt(), rc_spatial_act_keyframe_onepass_rt(), and tf_motion_search().
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 av1_encode_strategy(), and 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 av1_twopass_postencode_update(), encode_frame_internal(), and motion_mode_rd().
int AV1_PRIMARY::valid_gm_model_found[FRAME_UPDATE_TYPES] |
Indicates if a valid global motion model has been found in the different frame update types of a GF group. valid_gm_model_found[i] indicates if valid global motion model has been found in the frame update type with enum value equal to i
RTC_REF AV1_PRIMARY::rtc_ref |
Struct for the reference structure for RTC.
Referenced by av1_check_ref_is_low_spatial_res_super_frame(), av1_encode_strategy(), av1_restore_layer_context(), av1_set_rtc_reference_structure_one_layer(), cdef_restoration_frame(), encode_frame_to_data_rate(), encode_with_recode_loop_and_filter(), encode_without_recode(), and loopfilter_frame().
AV1EncRowMultiThreadSync AV1_PRIMARY::intra_row_mt_sync |
Struct for all intra mode row multi threading in the preprocess stage when –deltaq-mode=3.