AOMedia AV1 Codec
AV1_PRIMARY Struct Reference

Top level primary encoder structure. More...

#include <encoder.h>

Data Fields

struct AV1_COMPparallel_cpi [4]
 
struct AV1_COMP_DATA parallel_frames_data [4 - 1]
 
RefCntBuffer * ref_frame_map_copy [REF_FRAMES]
 
int64_t ts_start_last_show_frame
 
int64_t ts_end_last_show_frame
 
int num_fp_contexts
 
int filter_level [2]
 
int filter_level_u
 
int filter_level_v
 
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_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]
 
RTC_REF rtc_ref
 
AV1EncRowMultiThreadSync intra_row_mt_sync
 

Detailed Description

Top level primary encoder structure.

Field Documentation

◆ parallel_cpi

struct AV1_COMP* AV1_PRIMARY::parallel_cpi[4]

Array of frame level encoder stage top level structures

◆ parallel_frames_data

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.

◆ ref_frame_map_copy

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.

◆ ts_start_last_show_frame

int64_t AV1_PRIMARY::ts_start_last_show_frame

Start time stamp of the last encoded show frame

◆ ts_end_last_show_frame

int64_t AV1_PRIMARY::ts_end_last_show_frame

End time stamp of the last encoded show frame

◆ num_fp_contexts

int AV1_PRIMARY::num_fp_contexts

Number of frame level contexts(cpis)

◆ filter_level

int AV1_PRIMARY::filter_level[2]

Loopfilter levels of the previous encoded frame.

◆ filter_level_u

int AV1_PRIMARY::filter_level_u

Chrominance component loopfilter level of the previous encoded frame.

◆ filter_level_v

int AV1_PRIMARY::filter_level_v

Chrominance component loopfilter level of the previous encoded frame.

◆ cpi

struct AV1_COMP* AV1_PRIMARY::cpi

Encode stage top level structure During frame parallel encode, 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

◆ 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(), and define_gf_group_pass3().

◆ 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(), and calculate_gf_length().

◆ lap_enabled

int AV1_PRIMARY::lap_enabled

◆ level_params

AV1LevelParams AV1_PRIMARY::level_params

Parameters for AV1 bitstream levels.

Referenced by recode_loop_update_q().

◆ 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

◆ tf_info

TEMPORAL_FILTER_INFO AV1_PRIMARY::tf_info

Info and resources used by temporal filtering.

Referenced by av1_get_second_pass_params().

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

◆ number_spatial_layers

unsigned int AV1_PRIMARY::number_spatial_layers

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

◆ 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(), rc_scene_detection_onepass_rt(), and tf_motion_search().

◆ 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 av1_encode_strategy(), and 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 av1_twopass_postencode_update(), encode_frame_internal(), and motion_mode_rd().

◆ valid_gm_model_found

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

◆ intra_row_mt_sync

AV1EncRowMultiThreadSync AV1_PRIMARY::intra_row_mt_sync

Struct for all intra mode row multi threading in the preprocess stage when –deltaq-mode=3.


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