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

Detailed Description

Top level primary encoder structure.

Field Documentation

◆ cpi

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]

◆ cpi_lap

struct AV1_COMP* AV1_PRIMARY::cpi_lap

Lookahead processing stage top level structure

◆ lookahead

struct lookahead_ctx* AV1_PRIMARY::lookahead

Look-ahead context.

Referenced by av1_encode_strategy(), and tf_setup_filtering_buffer().

◆ seq_params_locked

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.

◆ output_pkt_list

struct aom_codec_pkt_list* AV1_PRIMARY::output_pkt_list

Pointer to internal utility functions that manipulate aom_codec_* data structures.

◆ internal_altref_allowed

int AV1_PRIMARY::internal_altref_allowed

When set, indicates that internal ARFs are enabled.

Referenced by define_gf_group().

◆ show_existing_alt_ref

int AV1_PRIMARY::show_existing_alt_ref

Tell if OVERLAY frame shows existing alt_ref frame.

Referenced by av1_encode_strategy().

◆ gf_group

◆ gf_state

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().

◆ lap_enabled

int AV1_PRIMARY::lap_enabled

◆ level_params

AV1LevelParams AV1_PRIMARY::level_params

Parameters for AV1 bitstream levels.

◆ b_calculate_psnr

int AV1_PRIMARY::b_calculate_psnr

Calculates PSNR on each frame when set to 1.

◆ frames_left

int AV1_PRIMARY::frames_left

Number of frames left to be encoded, is 0 if limit is not set.

◆ twopass

◆ p_rc

◆ alt_ref_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().

◆ seq_params

SequenceHeader AV1_PRIMARY::seq_params

Elements part of the sequence header, that are applicable for all the frames in the video.

◆ use_svc

◆ buffer_removal_time_present

bool AV1_PRIMARY::buffer_removal_time_present

If true, buffer removal times are present.

◆ number_temporal_layers

unsigned int AV1_PRIMARY::number_temporal_layers

Number of temporal layers: may be > 1 for SVC (scalable vector coding).

Referenced by av1_encode_strategy().

◆ number_spatial_layers

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().

◆ error

struct aom_internal_error_info AV1_PRIMARY::error

Code and details about current error status.

◆ fn_ptr

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().

◆ tpl_rdmult_scaling_factors

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.

◆ tpl_sb_rdmult_scaling_factors

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.

◆ tpl_data

TplParams AV1_PRIMARY::tpl_data

Parameters related to tpl.

Referenced by handle_inter_mode().

◆ mv_stats

MV_STATS AV1_PRIMARY::mv_stats

Motion vector stats of the previous encoded frame.

Referenced by av1_encode_strategy().

◆ fb_of_context_type

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

◆ p_mt_info

PrimaryMultiThreadInfo AV1_PRIMARY::p_mt_info

Primary Multi-threading parameters.

◆ frame_probs

FrameProbInfo AV1_PRIMARY::frame_probs

Probabilities for pruning of various AV1 tools.

Referenced by encode_frame_internal(), and motion_mode_rd().


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