AOMedia AV1 Codec
|
Top level encoder structure. More...
#include <encoder.h>
Top level encoder structure.
AV1_PRIMARY* AV1_COMP::ppi |
Pointer to top level primary encoder structure
Referenced by av1_check_ref_is_low_spatial_res_super_frame(), av1_encode(), av1_encode_strategy(), av1_encodedframe_overshoot_cbr(), av1_get_compressed_data(), av1_get_second_pass_params(), av1_gop_bit_allocation(), av1_nonrd_pick_inter_mode_sb(), av1_postencode_drop_cbr(), av1_rc_pick_q_and_bounds(), av1_rc_update_rate_correction_factors(), av1_rd_pick_partition(), av1_receive_raw_frame(), av1_restore_layer_context(), av1_save_layer_context(), av1_set_rtc_reference_structure_one_layer(), av1_tf_do_filtering_row(), av1_twopass_postencode_update(), av1_update_layer_context_change_config(), calculate_gf_length(), calculate_total_gf_group_bits(), cdef_restoration_frame(), define_gf_group(), define_gf_group_pass0(), define_gf_group_pass3(), define_kf_interval(), dynamic_resize_one_pass_cbr(), encode_frame_internal(), encode_frame_to_data_rate(), encode_nonrd_sb(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), find_next_key_frame(), get_q(), get_rate_correction_factor(), get_twopass_worst_quality(), grade_source_content_sb(), handle_inter_mode(), has_no_stats_stage(), loopfilter_frame(), motion_mode_rd(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), rc_scene_detection_onepass_rt(), rc_spatial_act_keyframe_onepass_rt(), recode_loop_update_q(), set_rate_correction_factor(), tf_motion_search(), and tf_setup_filtering_buffer().
EncQuantDequantParams AV1_COMP::enc_quant_dequant_params |
Quantization and dequantization parameters for internal quantizer setup in the encoder.
Referenced by encode_with_recode_loop(), and encode_without_recode().
ThreadData AV1_COMP::td |
Structure holding thread specific variables.
Referenced by av1_encode_frame(), av1_encode_strategy(), av1_get_compressed_data(), encode_frame_internal(), encode_frame_to_data_rate(), encode_tiles(), loopfilter_frame(), tf_do_filtering(), and tf_setup_filtering_buffer().
FRAME_COUNTS AV1_COMP::counts |
Statistics collected at frame level.
Referenced by av1_get_compressed_data().
MBMIExtFrameBufferInfo AV1_COMP::mbmi_ext_info |
Holds buffer storing mode information at 4x4/8x8 level.
CB_COEFF_BUFFER* AV1_COMP::coeff_buffer_base |
Buffer holding the transform block related information. coeff_buffer_base[i] stores the transform block related information of the ith superblock in raster scan order.
CoeffBufferPool AV1_COMP::coeff_buffer_pool |
Structure holding pointers to frame level memory allocated for transform block related information.
AV1_COMMON AV1_COMP::common |
Structure holding variables common to encoder and decoder.
Referenced by av1_encode(), av1_encode_frame(), av1_encode_sb_row(), av1_encode_strategy(), av1_encode_tile(), av1_encodedframe_overshoot_cbr(), av1_get_compressed_data(), av1_get_second_pass_params(), av1_handle_intra_y_mode(), av1_init_layer_context(), av1_interpolation_filter_search(), av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_nonrd_use_partition(), av1_one_pass_cbr_svc_start_layer(), av1_postencode_drop_cbr(), av1_rc_pick_q_and_bounds(), av1_rc_update_rate_correction_factors(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_mode_sb(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_rd_pick_partition(), av1_rd_use_partition(), av1_receive_raw_frame(), av1_restore_layer_context(), av1_save_layer_context(), av1_search_intra_uv_modes_in_interframe(), av1_search_palette_mode(), av1_set_rtc_reference_structure_one_layer(), av1_tf_do_filtering_row(), av1_twopass_postencode_update(), av1_update_layer_context_change_config(), calculate_gf_length(), combined_motion_search(), define_gf_group(), define_gf_group_pass3(), define_kf_interval(), dynamic_resize_one_pass_cbr(), encode_b(), encode_frame_internal(), encode_frame_to_data_rate(), encode_nonrd_sb(), encode_rd_sb(), encode_sb(), encode_sb_row(), encode_tiles(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), fast_interp_search(), find_next_key_frame(), find_predictors(), get_q(), get_rate_correction_factor(), get_sb_source_sad(), get_twopass_worst_quality(), grade_source_content_sb(), handle_filter_intra_mode(), handle_inter_mode(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), is_calc_src_content_needed(), model_intra_yrd_and_prune(), motion_mode_rd(), palette_rd_y(), pick_sb_modes(), pick_sb_modes_nonrd(), process_compound_inter_mode(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), rc_scene_detection_onepass_rt(), rc_spatial_act_keyframe_onepass_rt(), rd_pick_filter_intra_sby(), rd_pick_intrabc_mode_sb(), recode_loop_update_q(), search_filter_ref(), search_intra_modes_in_interframe(), search_new_mv(), set_rate_correction_factor(), setup_delta_q(), tf_do_filtering(), tf_motion_search(), and tf_setup_filtering_buffer().
AV1EncoderConfig AV1_COMP::oxcf |
Encoder configuration related parameters.
Referenced by av1_encode(), av1_encode_frame(), av1_encode_strategy(), av1_encode_tile(), av1_encodedframe_overshoot_cbr(), av1_get_compressed_data(), av1_get_second_pass_params(), av1_handle_intra_y_mode(), av1_init_layer_context(), av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_one_pass_cbr_svc_start_layer(), av1_rc_pick_q_and_bounds(), av1_rc_update_rate_correction_factors(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_rd_pick_partition(), av1_receive_raw_frame(), av1_restore_layer_context(), av1_save_layer_context(), av1_search_intra_uv_modes_in_interframe(), av1_set_rtc_reference_structure_one_layer(), av1_tf_do_filtering_row(), av1_twopass_postencode_update(), 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_frame_internal(), encode_frame_to_data_rate(), encode_rd_sb(), encode_sb_row(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), find_closest_qindex_by_rate(), find_next_key_frame(), get_q(), get_rate_correction_factor(), get_twopass_worst_quality(), has_no_stats_stage(), is_calc_src_content_needed(), loopfilter_frame(), motion_mode_rd(), pick_sb_modes(), pick_sb_modes_nonrd(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), rc_scene_detection_onepass_rt(), rd_pick_filter_intra_sby(), rd_pick_intrabc_mode_sb(), recode_loop_test(), recode_loop_update_q(), search_intra_modes_in_interframe(), search_new_mv(), set_rate_correction_factor(), setup_delta_q(), and tf_setup_filtering_buffer().
TRELLIS_OPT_TYPE AV1_COMP::optimize_seg_arr[8] |
Stores the trellis optimization type at segment level. optimize_seg_arr[i] stores the trellis opt type for ith segment.
Referenced by av1_rd_pick_intra_sbuv_mode(), and encode_frame_internal().
YV12_BUFFER_CONFIG* AV1_COMP::source |
Pointer to the frame buffer holding the source frame to be used during the current stage of encoding. It can be the raw input, temporally filtered input or scaled input.
Referenced by av1_encode(), av1_encode_frame(), av1_encode_strategy(), av1_rd_pick_partition(), cdef_restoration_frame(), encode_frame_internal(), encode_frame_to_data_rate(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), loopfilter_frame(), recode_loop_update_q(), and setup_delta_q().
YV12_BUFFER_CONFIG* AV1_COMP::last_source |
Pointer to the frame buffer holding the last raw source frame. last_source is NULL for the following cases: 1) First frame 2) Alt-ref frames 3) All frames for all-intra frame encoding.
Referenced by encode_with_recode_loop(), and encode_without_recode().
YV12_BUFFER_CONFIG* AV1_COMP::unscaled_source |
Pointer to the frame buffer holding the unscaled source frame. It can be either the raw input or temporally filtered input.
Referenced by av1_encode(), av1_encode_strategy(), encode_with_recode_loop(), and encode_without_recode().
YV12_BUFFER_CONFIG AV1_COMP::scaled_source |
Frame buffer holding the resized source frame (cropping / superres).
Referenced by encode_with_recode_loop(), and encode_without_recode().
YV12_BUFFER_CONFIG* AV1_COMP::unscaled_last_source |
Pointer to the frame buffer holding the unscaled last source frame.
Referenced by av1_encode(), encode_frame_to_data_rate(), encode_with_recode_loop(), and encode_without_recode().
YV12_BUFFER_CONFIG AV1_COMP::scaled_last_source |
Frame buffer holding the resized last source frame.
Referenced by encode_with_recode_loop(), and encode_without_recode().
YV12_BUFFER_CONFIG* AV1_COMP::unfiltered_source |
Pointer to the original source frame. This is used to determine if the content is screen.
Referenced by av1_encode_strategy().
YV12_BUFFER_CONFIG AV1_COMP::orig_source |
Frame buffer holding the orig source frame for PSNR calculation in rtc tf case.
Referenced by av1_encode_strategy(), and encode_without_recode().
int AV1_COMP::skip_tpl_setup_stats |
Skip tpl setup when tpl data from gop length decision can be reused.
Referenced by av1_encode_strategy().
double* AV1_COMP::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.
TemporalFilterCtx AV1_COMP::tf_ctx |
Temporal filter context.
Referenced by av1_tf_do_filtering_row(), tf_do_filtering(), and tf_setup_filtering_buffer().
CdefSearchCtx* AV1_COMP::cdef_search_ctx |
Pointer to CDEF search context.
ForceIntegerMVInfo AV1_COMP::force_intpel_info |
Variables related to forcing integer mv decisions for the current frame.
Referenced by encode_frame_to_data_rate().
RefCntBuffer* AV1_COMP::scaled_ref_buf[INTER_REFS_PER_FRAME] |
Pointer to the buffer holding the scaled reference frames. scaled_ref_buf[i] holds the scaled reference frame of type i.
RefCntBuffer* AV1_COMP::last_show_frame_buf |
Pointer to the buffer holding the last show frame.
Referenced by encode_frame_to_data_rate().
RefreshFrameInfo AV1_COMP::refresh_frame |
Refresh frame flags for golden, bwd-ref and alt-ref frames.
Referenced by av1_encode(), av1_encode_strategy(), encode_without_recode(), get_rate_correction_factor(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), and set_rate_correction_factor().
int AV1_COMP::rt_reduce_num_ref_buffers |
Flag to reduce the number of reference frame buffers used in rt.
Referenced by av1_set_rtc_reference_structure_one_layer().
ExternalFlags AV1_COMP::ext_flags |
Flags signalled by the external interface at frame level.
Referenced by av1_encode_strategy(), and av1_set_rtc_reference_structure_one_layer().
YV12_BUFFER_CONFIG AV1_COMP::last_frame_uf |
Temporary frame buffer used to store the non-loop filtered reconstructed frame during the search of loop filter level.
YV12_BUFFER_CONFIG AV1_COMP::trial_frame_rst |
Temporary frame buffer used to store the loop restored frame during loop restoration search.
int64_t AV1_COMP::ambient_err |
Ambient reconstruction err target for force key frames.
Referenced by encode_with_recode_loop_and_filter(), and recode_loop_update_q().
RD_OPT AV1_COMP::rd |
Parameters related to rate distortion optimization.
Referenced by encode_frame_to_data_rate(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), and loopfilter_frame().
CODING_CONTEXT AV1_COMP::coding_context |
Temporary coding context used to save and restore when encoding with and without super-resolution.
GlobalMotionInfo AV1_COMP::gm_info |
Parameters related to global motion search.
Referenced by encode_with_recode_loop().
WinnerModeParams AV1_COMP::winner_mode_params |
Parameters related to winner mode processing.
Referenced by encode_frame_internal().
TimeStamps AV1_COMP::time_stamps |
Frame time stamps.
Referenced by av1_encode_strategy().
RATE_CONTROL AV1_COMP::rc |
Rate control related parameters.
Referenced by av1_encode_strategy(), av1_encodedframe_overshoot_cbr(), av1_get_compressed_data(), av1_get_second_pass_params(), av1_nonrd_pick_inter_mode_sb(), av1_postencode_drop_cbr(), av1_rc_pick_q_and_bounds(), av1_rc_update_rate_correction_factors(), av1_rd_pick_inter_mode(), av1_restore_layer_context(), av1_save_layer_context(), av1_set_rtc_reference_structure_one_layer(), av1_twopass_postencode_update(), av1_update_layer_context_change_config(), av1_update_temporal_layer_framerate(), 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_frame_internal(), encode_frame_to_data_rate(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), find_next_key_frame(), get_q(), get_rate_correction_factor(), get_twopass_worst_quality(), grade_source_content_sb(), loopfilter_frame(), pick_sb_modes_nonrd(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), rc_pick_q_and_bounds_no_stats_cbr(), rc_scene_detection_onepass_rt(), rc_spatial_act_keyframe_onepass_rt(), recode_loop_test(), recode_loop_update_q(), set_gf_interval_update_onepass_rt(), set_rate_correction_factor(), and tf_setup_filtering_buffer().
double AV1_COMP::framerate |
int AV1_COMP::ref_frame_flags |
Bitmask indicating which reference buffers may be referenced by this frame.
Referenced by av1_encode(), av1_encode_frame(), and encode_without_recode().
int AV1_COMP::speed |
speed is passed as a per-frame parameter into the encoder.
Referenced by av1_encode(), and av1_rd_pick_inter_mode().
SPEED_FEATURES AV1_COMP::sf |
sf contains fine-grained config set internally based on speed.
Referenced by av1_encode_frame(), av1_encode_strategy(), av1_encode_tile(), av1_get_second_pass_params(), av1_handle_intra_y_mode(), av1_interpolation_filter_search(), av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_nonrd_use_partition(), av1_rc_pick_q_and_bounds(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_rd_pick_partition(), av1_rd_use_partition(), av1_restore_layer_context(), av1_set_rtc_reference_structure_one_layer(), av1_tf_do_filtering_row(), combined_motion_search(), encode_b(), encode_frame_internal(), encode_frame_to_data_rate(), encode_nonrd_sb(), encode_rd_sb(), encode_sb_row(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), encode_without_recode(), fast_interp_search(), grade_source_content_sb(), handle_inter_mode(), hybrid_intra_mode_search(), intra_block_yrd(), is_calc_src_content_needed(), loopfilter_frame(), motion_mode_rd(), palette_rd_y(), pick_sb_modes(), pick_sb_modes_nonrd(), rc_scene_detection_onepass_rt(), rd_pick_filter_intra_sby(), rd_pick_intrabc_mode_sb(), recode_loop_test(), search_filter_ref(), search_intra_modes_in_interframe(), search_new_mv(), tf_motion_search(), and tf_setup_filtering_buffer().
MotionVectorSearchParams AV1_COMP::mv_search_params |
Parameters for motion vector search process.
Referenced by av1_restore_layer_context(), av1_save_layer_context(), combined_motion_search(), rd_pick_intrabc_mode_sb(), search_new_mv(), and tf_motion_search().
int AV1_COMP::all_one_sided_refs |
When set, indicates that all reference frames are forward references, i.e., all the reference frames are output before the current frame.
Referenced by encode_frame_internal().
EncSegmentationInfo AV1_COMP::enc_seg |
Segmentation related information for current frame.
Referenced by av1_encode_frame(), encode_frame_internal(), and encode_sb_row().
CYCLIC_REFRESH* AV1_COMP::cyclic_refresh |
Parameters related to cyclic refresh aq-mode.
Referenced by av1_encodedframe_overshoot_cbr(), av1_rc_update_rate_correction_factors(), av1_restore_layer_context(), av1_save_layer_context(), encode_frame_internal(), and find_closest_qindex_by_rate().
ActiveMap AV1_COMP::active_map |
Parameters related to active map. Active maps indicate if there is any activity on a 4x4 block basis.
Referenced by loopfilter_frame(), and rc_scene_detection_onepass_rt().
unsigned char AV1_COMP::gf_frame_index |
The frame processing order within a GOP.
Referenced by av1_encode(), av1_encode_strategy(), av1_get_compressed_data(), av1_get_second_pass_params(), av1_rd_pick_partition(), av1_restore_layer_context(), av1_save_layer_context(), av1_twopass_postencode_update(), define_gf_group(), 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(), handle_inter_mode(), motion_mode_rd(), rc_pick_q_and_bounds(), rc_pick_q_and_bounds_no_stats(), recode_loop_update_q(), and set_rate_correction_factor().
int AV1_COMP::droppable |
When set, indicates that the frame is droppable, i.e., this frame does not update any reference buffers.
Referenced by av1_encode_strategy().
FRAME_INFO AV1_COMP::frame_info |
Stores the frame parameters during encoder initialization.
Referenced by find_next_key_frame(), and tf_setup_filtering_buffer().
FRAME_INDEX_SET AV1_COMP::frame_index_set |
Stores different types of frame indices.
int AV1_COMP::data_alloc_width |
Stores the cm->width in the last call of alloc_compressor_data(). Helps determine whether compressor data should be reallocated when cm->width changes.
int AV1_COMP::data_alloc_height |
Stores the cm->height in the last call of alloc_compressor_data(). Helps determine whether compressor data should be reallocated when cm->height changes.
int AV1_COMP::initial_mbs |
Number of MBs in the full-size frame; to be used to normalize the firstpass stats. This will differ from the number of MBs in the current frame when the frame is scaled.
Referenced by define_kf_interval(), and get_twopass_worst_quality().
bool AV1_COMP::frame_size_related_setup_done |
Flag to indicate whether the frame size inforamation has been setup and propagated to associated allocations.
int AV1_COMP::last_coded_width |
The width of the frame that is lastly encoded. It is updated in the function "encoder_encode()".
int AV1_COMP::last_coded_height |
The height of the frame that is lastly encoded. It is updated in the function "encoder_encode()".
ResizePendingParams AV1_COMP::resize_pending_params |
Resize related parameters.
TileDataEnc* AV1_COMP::tile_data |
Pointer to struct holding adaptive data/contexts/models for the tile during encoding.
Referenced by av1_encode_sb_row(), av1_encode_tile(), encode_frame_to_data_rate(), and encode_tiles().
int AV1_COMP::allocated_tiles |
Number of tiles for which memory has been allocated for tile_data.
Referenced by encode_tiles().
TokenInfo AV1_COMP::token_info |
Structure to store the palette token related information.
int AV1_COMP::vaq_refresh |
VARIANCE_AQ segment map refresh.
Referenced by av1_rd_pick_partition(), and av1_rd_use_partition().
VarBasedPartitionInfo AV1_COMP::vbp_info |
Thresholds for variance based partitioning.
int AV1_COMP::num_frame_recode |
Number of recodes in the frame.
Referenced by av1_twopass_postencode_update(), encode_frame_internal(), and encode_with_recode_loop().
FrameProbInfo AV1_COMP::frame_new_probs[10] |
Current frame probability of parallel frames, across recodes.
Referenced by av1_twopass_postencode_update(), and encode_frame_internal().
int AV1_COMP::do_update_frame_probs_txtype[10] |
Retain condition for transform type frame_probability calculation
Referenced by av1_twopass_postencode_update(), encode_frame_internal(), and encode_with_recode_loop_and_filter().
int AV1_COMP::do_update_frame_probs_obmc[10] |
Retain condition for obmc frame_probability calculation
Referenced by av1_twopass_postencode_update(), encode_frame_internal(), and encode_with_recode_loop_and_filter().
int AV1_COMP::do_update_frame_probs_warp[10] |
Retain condition for warped motion frame_probability calculation
Referenced by av1_twopass_postencode_update(), encode_frame_internal(), and encode_with_recode_loop_and_filter().
int AV1_COMP::do_update_frame_probs_interpfilter[10] |
Retain condition for interpolation filter frame_probability calculation
Referenced by av1_twopass_postencode_update(), encode_frame_internal(), and encode_with_recode_loop_and_filter().
double AV1_COMP::new_framerate |
Updated framerate for the current parallel frame. cpi->framerate is updated with new_framerate during post encode updates for parallel frames.
Referenced by av1_twopass_postencode_update().
int AV1_COMP::do_update_vbr_bits_off_target_fast |
Retain condition for fast_extra_bits calculation.
Referenced by av1_twopass_postencode_update(), and encode_with_recode_loop_and_filter().
MultiThreadInfo AV1_COMP::mt_info |
Multi-threading parameters.
Referenced by av1_nonrd_pick_inter_mode_sb(), cdef_restoration_frame(), encode_frame_internal(), encode_sb_row(), encode_with_recode_loop_and_filter(), loopfilter_frame(), pick_sb_modes(), and pick_sb_modes_nonrd().
int AV1_COMP::existing_fb_idx_to_show |
Specifies the frame to be output. It is valid only if show_existing_frame is 1. When show_existing_frame is 0, existing_fb_idx_to_show is set to INVALID_IDX.
Referenced by av1_encode(), and encode_frame_to_data_rate().
int AV1_COMP::intrabc_used |
A flag to indicate if intrabc is ever used in current frame.
Referenced by encode_frame_internal(), and encode_tiles().
int AV1_COMP::prune_ref_frame_mask |
Mark which ref frames can be skipped for encoding current frame during RDO.
Referenced by encode_frame_internal().
AV1LrStruct AV1_COMP::lr_ctxt |
Loop Restoration context.
Referenced by cdef_restoration_frame().
AV1LrPickStruct AV1_COMP::pick_lr_ctxt |
Loop Restoration context used during pick stage.
aom_film_grain_table_t* AV1_COMP::film_grain_table |
Pointer to list of tables with film grain parameters.
Referenced by av1_encode_strategy().
struct aom_denoise_and_model_t* AV1_COMP::denoise_and_model |
Pointer to structure holding the denoised image buffers and the helper noise models.
InterpSearchFlags AV1_COMP::interp_search_flags |
Flags related to interpolation filter search.
Referenced by av1_interpolation_filter_search(), encode_frame_internal(), and encode_with_recode_loop().
int AV1_COMP::use_screen_content_tools |
Turn on screen content tools flag. Note that some videos are not screen content videos, but screen content tools could also improve coding efficiency. For example, videos with large flat regions, gaming videos that look like natural videos.
int AV1_COMP::is_screen_content_type |
A flag to indicate "real" screen content videos. For example, screen shares, screen editing. This type is true indicates |use_screen_content_tools| must be true. In addition, rate control strategy is adjusted when this flag is true.
Referenced by av1_rc_update_rate_correction_factors().
int AV1_COMP::frame_header_count |
Count the number of OBU_FRAME and OBU_FRAME_HEADER for level calculation.
int AV1_COMP::deltaq_used |
Whether any no-zero delta_q was actually used.
Referenced by encode_frame_internal(), and encode_tiles().
RefFrameDistanceInfo AV1_COMP::ref_frame_dist_info |
Refrence frame distance related variables.
Referenced by av1_encode_frame().
double* AV1_COMP::ssim_rdmult_scaling_factors |
ssim_rdmult_scaling_factors[i] stores the RD multiplier scaling factor of the ith 16 x 16 block in raster scan order. This scaling factor is used for RD multiplier modulation when SSIM tuning is enabled.
SVC AV1_COMP::svc |
Parameters for scalable video coding.
Referenced by av1_alloc_layer_context(), av1_check_ref_is_low_spatial_res_super_frame(), av1_encode_strategy(), av1_encodedframe_overshoot_cbr(), av1_free_svc_cyclic_refresh(), av1_init_layer_context(), av1_nonrd_pick_inter_mode_sb(), av1_one_pass_cbr_svc_start_layer(), av1_postencode_drop_cbr(), av1_restore_layer_context(), av1_save_layer_context(), av1_svc_reset_temporal_layers(), av1_update_layer_context_change_config(), av1_update_temporal_layer_framerate(), encode_frame_internal(), encode_frame_to_data_rate(), encode_nonrd_sb(), encode_without_recode(), get_layer_context(), grade_source_content_sb(), is_calc_src_content_needed(), rc_scene_detection_onepass_rt(), and set_gf_interval_update_onepass_rt().
COMPRESSOR_STAGE AV1_COMP::compressor_stage |
Indicates whether current processing stage is encode stage or LAP stage.
Referenced by av1_encode_strategy(), av1_get_compressed_data(), has_no_stats_stage(), and tf_setup_filtering_buffer().
FRAME_TYPE AV1_COMP::last_frame_type |
Frame type of the last frame. May be used in some heuristics for speeding up the encoding.
Referenced by encode_frame_to_data_rate().
int AV1_COMP::num_tg |
Number of tile-groups.
Referenced by encode_frame_to_data_rate().
aom_superres_mode AV1_COMP::superres_mode |
Super-resolution mode currently being used by the encoder. This may / may not be same as user-supplied mode in oxcf->superres_mode (when we are recoding to try multiple options for example).
Referenced by encode_frame_to_data_rate(), encode_with_recode_loop(), rc_pick_q_and_bounds(), and rc_pick_q_and_bounds_no_stats().
FirstPassData AV1_COMP::firstpass_data |
First pass related data.
NOISE_ESTIMATE AV1_COMP::noise_estimate |
Temporal Noise Estimate
uint8_t* AV1_COMP::consec_zero_mv |
Count on how many consecutive times a block uses small/zeromv for encoding in a scale of 8x8 block.
Referenced by encode_without_recode().
int AV1_COMP::consec_zero_mv_alloc_size |
Allocated memory size for |consec_zero_mv|.
Referenced by encode_without_recode().
BLOCK_SIZE AV1_COMP::fp_block_size |
Block size of first pass encoding
int AV1_COMP::sb_counter |
The counter of encoded super block, used to differentiate block names. This number starts from 0 and increases whenever a super block is encoded.
Referenced by av1_rd_pick_partition().
size_t AV1_COMP::available_bs_size |
Available bitstream buffer size in bytes
Referenced by av1_get_compressed_data().
ExtPartController AV1_COMP::ext_part_controller |
The controller of the external partition model. It is used to do partition type selection based on external models.
Referenced by encode_rd_sb().
MV_STATS AV1_COMP::mv_stats |
Motion vector stats of the current encoded frame, used to update the ppi->mv_stats during postencode.
Referenced by av1_encode_strategy(), and encode_with_recode_loop().
int AV1_COMP::ref_refresh_index |
Stores the reference refresh index for the current frame.
Referenced by av1_encode_strategy().
bool AV1_COMP::refresh_idx_available |
A flag to indicate if the reference refresh index is available for the current frame.
Referenced by av1_encode_strategy().
int AV1_COMP::ref_idx_to_skip |
Reference frame index corresponding to the frame to be excluded from being used as a reference by frame_parallel_level 2 frame in a parallel encode set of lower layer frames.
bool AV1_COMP::do_frame_data_update |
A flag to indicate frames that will update their data to the primary context at the end of the encode. It is set for non-parallel frames and the last frame in encode order in a given parallel encode set.
Referenced by av1_twopass_postencode_update(), encode_frame_to_data_rate(), and encode_with_recode_loop().
WeberStats* AV1_COMP::mb_weber_stats |
Buffer to store MB variance after Wiener filter.
int* AV1_COMP::prep_rate_estimates |
Buffer to store rate cost estimates for each macro block (8x8) in the preprocessing stage used in allintra mode.
double* AV1_COMP::ext_rate_distribution |
Buffer to store rate cost estimates for each 16x16 block read from an external file, used in allintra mode.
double AV1_COMP::ext_rate_scale |
The scale that equals sum_rate_uniform_quantizer / sum_ext_rate.
BLOCK_SIZE AV1_COMP::weber_bsize |
Buffer to store MB variance after Wiener filter.
int64_t AV1_COMP::norm_wiener_variance |
Frame level Wiener filter normalization.
int* AV1_COMP::mb_delta_q |
Buffer to store delta-q values for delta-q mode 4.
bool AV1_COMP::is_dropped_frame |
Flag to indicate that current frame is dropped.
Referenced by av1_encode_strategy(), av1_get_compressed_data(), av1_postencode_drop_cbr(), and encode_frame_to_data_rate().
TWO_PASS_FRAME AV1_COMP::twopass_frame |
Frame level twopass status and control data
Referenced by av1_encode_strategy(), av1_get_second_pass_params(), av1_twopass_postencode_update(), calculate_gf_length(), define_gf_group(), define_gf_group_pass3(), find_next_key_frame(), and tf_setup_filtering_buffer().
THIRD_PASS_DEC_CTX* AV1_COMP::third_pass_ctx |
Context needed for third pass encoding.
Referenced by av1_get_second_pass_params(), define_gf_group(), and define_gf_group_pass3().
FILE* AV1_COMP::second_pass_log_stream |
File pointer to second pass log
Referenced by av1_encode_strategy(), and av1_get_second_pass_params().
uint64_t* AV1_COMP::src_sad_blk_64x64 |
Buffer to store 64x64 SAD
Referenced by get_sb_source_sad(), and rc_scene_detection_onepass_rt().
uint64_t AV1_COMP::rec_sse |
SSE between the current frame and the reconstructed last frame It is only used for CBR mode. It is not used if the reference frame has a different frame size.
Referenced by av1_rc_pick_q_and_bounds().
int AV1_COMP::use_ducky_encode |
A flag to indicate whether the encoder is controlled by DuckyEncode or not. 1:yes 0:no
Referenced by av1_get_second_pass_params(), av1_twopass_postencode_update(), encode_frame_internal(), encode_frame_to_data_rate(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), and setup_delta_q().
DuckyEncodeInfo AV1_COMP::ducky_encode_info |
A structure that facilitates the communication between DuckyEncode and AV1 encoder.
Referenced by av1_get_second_pass_params(), av1_twopass_postencode_update(), encode_frame_to_data_rate(), encode_with_recode_loop(), encode_with_recode_loop_and_filter(), and setup_delta_q().
int AV1_COMP::frames_since_last_update |
Frames since last frame with cdf update.
Referenced by encode_frame_to_data_rate().
unsigned int AV1_COMP::zeromv_skip_thresh_exit_part[BLOCK_SIZES_ALL] |
Block level thresholds to force zeromv-skip at partition level.
bool AV1_COMP::alloc_pyramid |
Should we allocate a downsampling pyramid for each frame buffer? This is currently only used for global motion
Referenced by av1_encode_frame(), av1_receive_raw_frame(), encode_with_recode_loop(), and encode_without_recode().
int AV1_COMP::palette_pixel_num |
Number of pixels that choose palette mode for luma in the fast encoding pass in av1_determine_sc_tools_with_encoding().
Referenced by av1_encode_frame(), and encode_tiles().
int AV1_COMP::scaled_last_source_available |
Flag to indicate scaled_last_source is available, so scaling is not needed for last_source.
Referenced by encode_without_recode().