AOMedia AV1 Codec
aomcx.h File Reference

Provides definitions for using AOM or AV1 encoder algorithm within the aom Codec Interface. More...

#include "aom/aom.h"
#include "aom/aom_encoder.h"
Include dependency graph for aomcx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  aom_roi_map
 aom region of interest map More...
 
struct  aom_active_map
 aom active region map More...
 
struct  aom_scaling_mode
 aom image scaling mode More...
 
struct  aom_svc_layer_id
 
struct  aom_svc_params
 
struct  aom_svc_ref_frame_config
 

Macros

#define AOM_EFLAG_NO_REF_LAST   (1 << 16)
 Don't reference the last frame. More...
 
#define AOM_EFLAG_NO_REF_LAST2   (1 << 17)
 Don't reference the last2 frame. More...
 
#define AOM_EFLAG_NO_REF_LAST3   (1 << 18)
 Don't reference the last3 frame. More...
 
#define AOM_EFLAG_NO_REF_GF   (1 << 19)
 Don't reference the golden frame. More...
 
#define AOM_EFLAG_NO_REF_ARF   (1 << 20)
 Don't reference the alternate reference frame. More...
 
#define AOM_EFLAG_NO_REF_BWD   (1 << 21)
 Don't reference the bwd reference frame. More...
 
#define AOM_EFLAG_NO_REF_ARF2   (1 << 22)
 Don't reference the alt2 reference frame. More...
 
#define AOM_EFLAG_NO_UPD_LAST   (1 << 23)
 Don't update the last frame. More...
 
#define AOM_EFLAG_NO_UPD_GF   (1 << 24)
 Don't update the golden frame. More...
 
#define AOM_EFLAG_NO_UPD_ARF   (1 << 25)
 Don't update the alternate reference frame. More...
 
#define AOM_EFLAG_NO_UPD_ENTROPY   (1 << 26)
 Disable entropy update. More...
 
#define AOM_EFLAG_NO_REF_FRAME_MVS   (1 << 27)
 Disable ref frame mvs. More...
 
#define AOM_EFLAG_ERROR_RESILIENT   (1 << 28)
 Enable error resilient frame. More...
 
#define AOM_EFLAG_SET_S_FRAME   (1 << 29)
 Enable s frame mode. More...
 
#define AOM_EFLAG_SET_PRIMARY_REF_NONE   (1 << 30)
 Force primary_ref_frame to PRIMARY_REF_NONE. More...
 
#define AOM_MAX_SEGMENTS   8
 Max number of segments. More...
 
#define AOM_MAX_LAYERS   32
 
#define AOM_MAX_SS_LAYERS   4
 
#define AOM_MAX_TS_LAYERS   8
 

Typedefs

typedef enum aom_scaling_mode_1d AOM_SCALING_MODE
 aom 1-D scaling mode More...
 
typedef struct aom_roi_map aom_roi_map_t
 aom region of interest map More...
 
typedef struct aom_active_map aom_active_map_t
 aom active region map More...
 
typedef struct aom_scaling_mode aom_scaling_mode_t
 aom image scaling mode More...
 
typedef struct aom_svc_layer_id aom_svc_layer_id_t
 
typedef struct aom_svc_params aom_svc_params_t
 
typedef struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
 

Enumerations

enum  aome_enc_control_id {
  AOME_USE_REFERENCE = 7, AOME_SET_ROI_MAP = 8, AOME_SET_ACTIVEMAP = 9, AOME_SET_SCALEMODE = 11,
  AOME_SET_SPATIAL_LAYER_ID = 12, AOME_SET_CPUUSED = 13, AOME_SET_ENABLEAUTOALTREF = 14, AOME_SET_SHARPNESS = AOME_SET_ENABLEAUTOALTREF + 2,
  AOME_SET_STATIC_THRESHOLD = 17, AOME_GET_LAST_QUANTIZER = AOME_SET_STATIC_THRESHOLD + 2, AOME_GET_LAST_QUANTIZER_64 = 20, AOME_SET_ARNR_MAXFRAMES = 21,
  AOME_SET_ARNR_STRENGTH = 22, AOME_SET_TUNING = AOME_SET_ARNR_STRENGTH + 2, AOME_SET_CQ_LEVEL = 25, AOME_SET_MAX_INTRA_BITRATE_PCT = 26,
  AOME_SET_NUMBER_SPATIAL_LAYERS = 27, AV1E_SET_MAX_INTER_BITRATE_PCT = AOME_SET_MAX_INTRA_BITRATE_PCT + 2, AV1E_SET_GF_CBR_BOOST_PCT = 29, AV1E_SET_LOSSLESS = AV1E_SET_GF_CBR_BOOST_PCT + 2,
  AV1E_SET_ROW_MT = 32, AV1E_SET_TILE_COLUMNS = 33, AV1E_SET_TILE_ROWS = 34, AV1E_SET_ENABLE_TPL_MODEL = 35,
  AV1E_SET_ENABLE_KEYFRAME_FILTERING = 36, AV1E_SET_FRAME_PARALLEL_DECODING = 37, AV1E_SET_ERROR_RESILIENT_MODE = 38, AV1E_SET_S_FRAME_MODE = 39,
  AV1E_SET_AQ_MODE = 40, AV1E_SET_FRAME_PERIODIC_BOOST = 41, AV1E_SET_NOISE_SENSITIVITY = 42, AV1E_SET_TUNE_CONTENT = 43,
  AV1E_SET_CDF_UPDATE_MODE = 44, AV1E_SET_COLOR_PRIMARIES = 45, AV1E_SET_TRANSFER_CHARACTERISTICS = 46, AV1E_SET_MATRIX_COEFFICIENTS = 47,
  AV1E_SET_CHROMA_SAMPLE_POSITION = 48, AV1E_SET_MIN_GF_INTERVAL = 49, AV1E_SET_MAX_GF_INTERVAL = 50, AV1E_GET_ACTIVEMAP = 51,
  AV1E_SET_COLOR_RANGE = 52, AV1E_SET_RENDER_SIZE = 53, AV1E_SET_TARGET_SEQ_LEVEL_IDX = 54, AV1E_GET_SEQ_LEVEL_IDX = 55,
  AV1E_SET_SUPERBLOCK_SIZE = 56, AOME_SET_ENABLEAUTOBWDREF = 57, AV1E_SET_ENABLE_CDEF = 58, AV1E_SET_ENABLE_RESTORATION = 59,
  AV1E_SET_FORCE_VIDEO_MODE = 60, AV1E_SET_ENABLE_OBMC = 61, AV1E_SET_DISABLE_TRELLIS_QUANT = 62, AV1E_SET_ENABLE_QM = 63,
  AV1E_SET_QM_MIN = 64, AV1E_SET_QM_MAX = 65, AV1E_SET_QM_Y = 66, AV1E_SET_QM_U = 67,
  AV1E_SET_QM_V = 68, AV1E_SET_NUM_TG = 70, AV1E_SET_MTU = 71, AV1E_SET_ENABLE_RECT_PARTITIONS = 73,
  AV1E_SET_ENABLE_AB_PARTITIONS = 74, AV1E_SET_ENABLE_1TO4_PARTITIONS = 75, AV1E_SET_MIN_PARTITION_SIZE = 76, AV1E_SET_MAX_PARTITION_SIZE = 77,
  AV1E_SET_ENABLE_INTRA_EDGE_FILTER = 78, AV1E_SET_ENABLE_ORDER_HINT = 79, AV1E_SET_ENABLE_TX64 = 80, AV1E_SET_ENABLE_FLIP_IDTX = 81,
  AV1E_SET_ENABLE_RECT_TX = 82, AV1E_SET_ENABLE_DIST_WTD_COMP = 83, AV1E_SET_ENABLE_REF_FRAME_MVS = 84, AV1E_SET_ALLOW_REF_FRAME_MVS = 85,
  AV1E_SET_ENABLE_DUAL_FILTER = 86, AV1E_SET_ENABLE_CHROMA_DELTAQ = 87, AV1E_SET_ENABLE_MASKED_COMP = 88, AV1E_SET_ENABLE_ONESIDED_COMP = 89,
  AV1E_SET_ENABLE_INTERINTRA_COMP = 90, AV1E_SET_ENABLE_SMOOTH_INTERINTRA = 91, AV1E_SET_ENABLE_DIFF_WTD_COMP = 92, AV1E_SET_ENABLE_INTERINTER_WEDGE = 93,
  AV1E_SET_ENABLE_INTERINTRA_WEDGE = 94, AV1E_SET_ENABLE_GLOBAL_MOTION = 95, AV1E_SET_ENABLE_WARPED_MOTION = 96, AV1E_SET_ALLOW_WARPED_MOTION = 97,
  AV1E_SET_ENABLE_FILTER_INTRA = 98, AV1E_SET_ENABLE_SMOOTH_INTRA = 99, AV1E_SET_ENABLE_PAETH_INTRA = 100, AV1E_SET_ENABLE_CFL_INTRA = 101,
  AV1E_SET_ENABLE_SUPERRES = 102, AV1E_SET_ENABLE_OVERLAY = 103, AV1E_SET_ENABLE_PALETTE = 104, AV1E_SET_ENABLE_INTRABC = 105,
  AV1E_SET_ENABLE_ANGLE_DELTA = 106, AV1E_SET_DELTAQ_MODE = 107, AV1E_SET_DELTALF_MODE = 108, AV1E_SET_SINGLE_TILE_DECODING = 109,
  AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST = 110, AV1E_SET_TIMING_INFO_TYPE = 111, AV1E_SET_FILM_GRAIN_TEST_VECTOR = 112, AV1E_SET_FILM_GRAIN_TABLE = 113,
  AV1E_SET_DENOISE_NOISE_LEVEL = 114, AV1E_SET_DENOISE_BLOCK_SIZE = 115, AV1E_SET_CHROMA_SUBSAMPLING_X = 116, AV1E_SET_CHROMA_SUBSAMPLING_Y = 117,
  AV1E_SET_REDUCED_TX_TYPE_SET = 118, AV1E_SET_INTRA_DCT_ONLY = 119, AV1E_SET_INTER_DCT_ONLY = 120, AV1E_SET_INTRA_DEFAULT_TX_ONLY = 121,
  AV1E_SET_QUANT_B_ADAPT = 122, AV1E_SET_GF_MAX_PYRAMID_HEIGHT = 123, AV1E_SET_MAX_REFERENCE_FRAMES = 124, AV1E_SET_REDUCED_REFERENCE_SET = 125,
  AV1E_SET_COEFF_COST_UPD_FREQ = 126, AV1E_SET_MODE_COST_UPD_FREQ = 127, AV1E_SET_MV_COST_UPD_FREQ = 128, AV1E_SET_TIER_MASK = 129,
  AV1E_SET_MIN_CR = 130, AV1E_SET_SVC_LAYER_ID = 131, AV1E_SET_SVC_PARAMS = 132, AV1E_SET_SVC_REF_FRAME_CONFIG = 133,
  AV1E_SET_VMAF_MODEL_PATH = 134, AV1E_ENABLE_EXT_TILE_DEBUG = 135, AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST = 136, AV1E_SET_GF_MIN_PYRAMID_HEIGHT = 137,
  AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP = 138, AV1E_GET_BASELINE_GF_INTERVAL = 139, AV1E_SET_ENABLE_DNL_DENOISING = 140, AV1E_SET_ENABLE_DIAGONAL_INTRA = 141
}
 AVx encoder control functions. More...
 
enum  aom_scaling_mode_1d {
  AOME_NORMAL = 0, AOME_FOURFIVE = 1, AOME_THREEFIVE = 2, AOME_THREEFOUR = 3,
  AOME_ONEFOUR = 4, AOME_ONEEIGHT = 5, AOME_ONETWO = 6
}
 aom 1-D scaling mode More...
 
enum  aom_tune_content { AOM_CONTENT_DEFAULT, AOM_CONTENT_SCREEN, AOM_CONTENT_FILM, AOM_CONTENT_INVALID }
 
enum  aom_timing_info_type_t { AOM_TIMING_UNSPECIFIED, AOM_TIMING_EQUAL, AOM_TIMING_DEC_MODEL }
 
enum  aom_tune_metric {
  AOM_TUNE_PSNR = 0, AOM_TUNE_SSIM = 1, AOM_TUNE_VMAF_WITH_PREPROCESSING = 4, AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
  AOM_TUNE_VMAF_MAX_GAIN = 6, AOM_TUNE_VMAF_NEG_MAX_GAIN = 7, AOM_TUNE_BUTTERAUGLI = 8
}
 Model tuning parameters. More...
 

Algorithm interface for AV1

This interface provides the capability to encode raw AV1 streams.

aom_codec_iface_t aom_codec_av1_cx_algo
 A single instance of the AV1 encoder. More...
 
aom_codec_iface_taom_codec_av1_cx (void)
 The interface to the AV1 encoder.
 

Detailed Description

Provides definitions for using AOM or AV1 encoder algorithm within the aom Codec Interface.

Several interfaces are excluded with CONFIG_REALTIME_ONLY build: Global motion Warped motion OBMC TPL model Loop restoration

The following features are also disabled with CONFIG_REALTIME_ONLY: CNN 4X rectangular blocks 4X rectangular transform in intra prediction