| AOMedia AV1 Codec

Data Structures | Typedefs | Enumerations | Functions
speed_features.h File Reference
`#include "av1/common/enums.h"`
`#include "av1/encoder/enc_enums.h"`
`#include "av1/encoder/mcomp.h"`
`#include "av1/encoder/encodemb.h"`

Go to the source code of this file.

## Data Structures
struct | HIGH_LEVEL_SPEED_FEATURES
| Sequence/frame level speed vs quality features. More...
struct | FIRST_PASS_SPEED_FEATURES
struct | SPEED_FEATURES
| Top level speed vs quality trade off data struture. More...

## Typedefs
typedef struct HIGH_LEVEL_SPEED_FEATURES | HIGH_LEVEL_SPEED_FEATURES
| Sequence/frame level speed vs quality features.
typedef struct FIRST_PASS_SPEED_FEATURES | FIRST_PASS_SPEED_FEATURES
typedef struct SPEED_FEATURES | SPEED_FEATURES
| Top level speed vs quality trade off data struture.

## Enumerations
enum | CDEF_PICK_METHOD { CDEF_FULL_SEARCH , CDEF_FAST_SEARCH_LVL1 , CDEF_FAST_SEARCH_LVL2 , CDEF_FAST_SEARCH_LVL3 , CDEF_FAST_SEARCH_LVL4 , CDEF_FAST_SEARCH_LVL5 , CDEF_PICK_FROM_Q , CDEF_PICK_METHODS }
| This enumeration defines a variety of CDEF pick methods. More...
enum | INTERNAL_COST_UPDATE_TYPE { INTERNAL_COST_UPD_OFF , INTERNAL_COST_UPD_TILE , INTERNAL_COST_UPD_SBROW_SET , INTERNAL_COST_UPD_SBROW , INTERNAL_COST_UPD_SB }
| This enum decides internally how often to update the entropy costs. More...
enum | SIMPLE_MOTION_SEARCH_PRUNE_LEVEL { NO_PRUNING = -1 , SIMPLE_AGG_LVL0 , SIMPLE_AGG_LVL1 , SIMPLE_AGG_LVL2 , SIMPLE_AGG_LVL3 , QIDX_BASED_AGG_LVL1 , TOTAL_SIMPLE_AGG_LVLS = QIDX_BASED_AGG_LVL1 , TOTAL_QINDEX_BASED_AGG_LVLS , TOTAL_AGG_LVLS }
| This enumeration defines a variety of simple motion search based partition prune levels. More...
enum | PRUNE_MESH_SEARCH_LEVEL { PRUNE_MESH_SEARCH_DISABLED = 0 , PRUNE_MESH_SEARCH_LVL_1 = 1 , PRUNE_MESH_SEARCH_LVL_2 = 2 }
| This enumeration defines a variety of mesh search prune levels. More...
enum | INTER_SEARCH_EARLY_TERM_IDX { EARLY_TERM_DISABLED , EARLY_TERM_IDX_1 , EARLY_TERM_IDX_2 , EARLY_TERM_IDX_3 , EARLY_TERM_IDX_4 , EARLY_TERM_INDICES }
| This enumeration defines inter search early termination index in non-rd path based on sse value. More...

## Functions
void | av1_set_speed_features_framesize_independent (struct AV1_COMP *cpi, int speed)
| Frame size independent speed vs quality trade off flags.
void | av1_set_speed_features_framesize_dependent (struct AV1_COMP *cpi, int speed)
| Frame size dependent speed vs quality trade off flags.
void | av1_set_speed_features_qindex_dependent (struct AV1_COMP *cpi, int speed)
| Q index dependent speed vs quality trade off flags.

## Typedef Documentation

## ◆ FIRST_PASS_SPEED_FEATURES

typedef struct FIRST_PASS_SPEED_FEATURES FIRST_PASS_SPEED_FEATURES

Speed features for the first pass.

## Enumeration Type Documentation

## ◆ CDEF_PICK_METHOD

enum CDEF_PICK_METHOD

This enumeration defines a variety of CDEF pick methods.

Enumerator
CDEF_FULL_SEARCH | Full search
CDEF_FAST_SEARCH_LVL1 | Search among a subset of all possible filters.
CDEF_FAST_SEARCH_LVL2 | Search reduced subset of filters than Level 1.
CDEF_FAST_SEARCH_LVL3 | Search reduced subset of secondary filters than Level 2.
CDEF_FAST_SEARCH_LVL4 | Search reduced subset of filters than Level 3.
CDEF_FAST_SEARCH_LVL5 | Search reduced subset of filters than Level 4.
CDEF_PICK_FROM_Q | Estimate filter strength based on quantizer.

## ◆ INTERNAL_COST_UPDATE_TYPE

enum INTERNAL_COST_UPDATE_TYPE

This enum decides internally how often to update the entropy costs.

INTERNAL_COST_UPD_TYPE is similar to COST_UPDATE_TYPE but has slightly more flexibility in update frequency. This enum is separate from COST_UPDATE_TYPE because although COST_UPDATE_TYPE is not exposed, its values are public so it cannot be modified without breaking public API. Due to the use of AOMMIN() in populate_unified_cost_update_freq() to compute the unified cost update frequencies (out of COST_UPDATE_TYPE and INTERNAL_COST_UPDATE_TYPE), the values of this enum type must be listed in the order of increasing frequencies.

Warning
  In case of any updates/modifications to the enum COST_UPDATE_TYPE, update the enum INTERNAL_COST_UPDATE_TYPE as well.

Enumerator
INTERNAL_COST_UPD_OFF | Turn off cost updates.
INTERNAL_COST_UPD_TILE | Update every tile.
INTERNAL_COST_UPD_SBROW_SET | Update every row_set of height 256 pixs.
INTERNAL_COST_UPD_SBROW | Update every sb rows inside a tile.
INTERNAL_COST_UPD_SB | Update every sb.

## ◆ SIMPLE_MOTION_SEARCH_PRUNE_LEVEL

enum SIMPLE_MOTION_SEARCH_PRUNE_LEVEL

This enumeration defines a variety of simple motion search based partition prune levels.

Enumerator
SIMPLE_AGG_LVL0 | Simple prune aggressiveness level 0.
SIMPLE_AGG_LVL1 | Simple prune aggressiveness level 1.
SIMPLE_AGG_LVL2 | Simple prune aggressiveness level 2.
SIMPLE_AGG_LVL3 | Simple prune aggressiveness level 3.
QIDX_BASED_AGG_LVL1 | Qindex based prune aggressiveness level, aggressive level maps to simple agg level 1 or 2 based on qindex.
TOTAL_SIMPLE_AGG_LVLS | Total number of simple prune aggressiveness levels.
TOTAL_QINDEX_BASED_AGG_LVLS | Total number of qindex based simple prune aggressiveness levels.
TOTAL_AGG_LVLS | Total number of levels.

## ◆ PRUNE_MESH_SEARCH_LEVEL

enum PRUNE_MESH_SEARCH_LEVEL

This enumeration defines a variety of mesh search prune levels.

Enumerator
PRUNE_MESH_SEARCH_DISABLED | Prune mesh search level 0.
PRUNE_MESH_SEARCH_LVL_1 | Prune mesh search level 1.
PRUNE_MESH_SEARCH_LVL_2 | Prune mesh search level 2.

## ◆ INTER_SEARCH_EARLY_TERM_IDX

enum INTER_SEARCH_EARLY_TERM_IDX

This enumeration defines inter search early termination index in non-rd path based on sse value.

Enumerator
EARLY_TERM_DISABLED | Early terminate inter mode search based on sse disabled.
EARLY_TERM_IDX_1 | Early terminate inter mode search based on sse, index 1.
EARLY_TERM_IDX_2 | Early terminate inter mode search based on sse, index 2.
EARLY_TERM_IDX_3 | Early terminate inter mode search based on sse, index 3.
EARLY_TERM_IDX_4 | Early terminate inter mode search based on sse, index 4.
EARLY_TERM_INDICES | Total number of early terminate indices