AOMedia AV1 Codec
AV1_PRIMARY Struct Reference

Top level primary encoder structure. More...

#include <encoder.h>

Collaboration diagram for AV1_PRIMARY:

Data Fields

struct AV1_COMPcpi
 
struct AV1_COMPcpi_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
 
TEMPORAL_FILTER_INFO tf_info
 
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
 
int valid_gm_model_found [FRAME_UPDATE_TYPES]
 

Detailed Description

Top level primary encoder structure.

Field Documentation

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
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_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
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.

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.

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(), rc_scene_detection_onepass_rt(), 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 encode_with_recode_loop(), and handle_inter_mode().

MV_STATS AV1_PRIMARY::mv_stats

Motion vector stats of the previous encoded frame.

Referenced by av1_encode_strategy(), and encode_with_recode_loop().

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


The documentation for this struct was generated from the following file: