AOMedia AV1 Codec
Temporal Dependency Modelling
Collaboration diagram for 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. More...
 
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. More...
 

Detailed Description

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

Function Documentation

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.

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.