AOMedia AV1 Codec
Temporal Dependency Modelling

Functions

static void setup_delta_q (AV1_COMP *const cpi, ThreadData *td, MACROBLOCK *const x, const TileInfo *const tile_info, int mi_row, int mi_col, int num_planes)
 Assigns different quantization parameters to each super block based on its TPL weight.
 
int av1_tpl_setup_stats (struct AV1_COMP *cpi, int gop_eval, const struct EncodeFrameParams *const frame_params)
 Implements temporal dependency modelling for a GOP (GF/ARF group) and selects between 16 and 32 frame GOP structure.
 

Detailed Description

This module includes algorithms to implement temporal dependency modelling. See also Temporal Dependency Modelling

Function Documentation

◆ setup_delta_q()

static void setup_delta_q ( AV1_COMP *const cpi,
ThreadData * td,
MACROBLOCK *const x,
const TileInfo *const tile_info,
int mi_row,
int mi_col,
int num_planes )
inlinestatic

Assigns different quantization parameters to each super block based on its TPL weight.

Parameters
[in]cpiTop level encoder instance structure
[in,out]tdThread data structure
[in,out]xMacro block level data for this block.
[in]tile_infoTile infromation / identification
[in]mi_rowBlock row (in "MI_SIZE" units) index
[in]mi_colBlock column (in "MI_SIZE" units) index
[out]num_planesNumber of image planes (e.g. Y,U,V)
Remarks
No return value but updates macroblock and thread data related to the q / q delta to be used.

References AV1EncoderConfig::algo_cfg, CommonQuantParams::base_qindex, AV1_COMP::common, macroblockd::current_base_qindex, MB_MODE_INFO::current_qindex, MB_MODE_INFO::delta_lf, MB_MODE_INFO::delta_lf_from_base, AV1Common::delta_q_info, macroblock::delta_qindex, AV1_COMP::ducky_encode_info, macroblock::e_mbd, AlgoCfg::enable_tpl_model, macroblockd::mi, CommonModeInfoParams::mi_alloc, CommonModeInfoParams::mi_cols, AV1Common::mi_params, CommonModeInfoParams::mi_rows, AV1_COMP::oxcf, AV1Common::quant_params, macroblock::rdmult_cur_qindex, macroblock::rdmult_delta_qindex, macroblock::sb_energy_level, MB_MODE_INFO::segment_id, AV1Common::seq_params, AV1_COMP::source, and AV1_COMP::use_ducky_encode.

◆ av1_tpl_setup_stats()

int av1_tpl_setup_stats ( struct AV1_COMP * cpi,
int gop_eval,
const struct EncodeFrameParams *const frame_params )

Implements temporal dependency modelling for a GOP (GF/ARF group) and selects between 16 and 32 frame GOP structure.

Parameters
[in]cpiTop - level encoder instance structure
[in]gop_evalFlag if it is in the GOP length decision stage
[in]frame_paramsPer frame encoding parameters
Returns
Indicates whether or not we should use a longer GOP length.