AOMedia AV1 Codec
aomcx.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 *
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 */
11#ifndef AOM_AOM_AOMCX_H_
12#define AOM_AOM_AOMCX_H_
13
19#include "aom/aom.h"
20#include "aom/aom_encoder.h"
22
41#ifdef __cplusplus
42extern "C" {
43#endif
44
56
62/*
63 * Algorithm Flags
64 */
65
72#define AOM_EFLAG_NO_REF_LAST (1 << 16)
79#define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
86#define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
93#define AOM_EFLAG_NO_REF_GF (1 << 19)
94
101#define AOM_EFLAG_NO_REF_ARF (1 << 20)
108#define AOM_EFLAG_NO_REF_BWD (1 << 21)
115#define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
116
122#define AOM_EFLAG_NO_UPD_LAST (1 << 23)
123
129#define AOM_EFLAG_NO_UPD_GF (1 << 24)
130
136#define AOM_EFLAG_NO_UPD_ARF (1 << 25)
142#define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
148#define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
154#define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
160#define AOM_EFLAG_SET_S_FRAME (1 << 29)
166#define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
167
181
186
191
192 /* NOTE: enum 10 unused */
193
198
203
221
229
230 /* NOTE: enum 15 unused */
231
242
247
248 /* NOTE: enum 18 unused */
249
256
264
269
274
275 /* NOTE: enum 23 unused */
276
283
293
307
312
326
340
341 /* NOTE: enum 30 unused */
342
354
362
381
399
409
418
432
443
454
469
481
489
498
507
528
553
574
581
588
595
600
607
614
637
644
652
660
671
681
688
698
708
719
732
744
756
768
780
781 /* NOTE: enum 69 unused */
782
790
801
802 /* NOTE: enum 72 unused */
803
811
819
827
838
849
857
866
877
901
913
925
936
947
955
963
971
979
987
995
1003
1011
1019
1029
1039
1052
1060
1071
1079
1089
1097
1107
1110
1114
1118
1132
1140
1150
1161
1167
1174
1179
1182
1185
1188
1191
1194
1197
1200
1204
1207
1214
1221
1225
1235
1245
1255
1263
1270
1271 /* NOTE: enums 145-149 unused */
1272
1277
1282
1288
1293
1303
1314
1321
1326
1330
1331 /*\brief Control to set encoding the denoised frame from denoise-noise-level
1332 *
1333 * - 0 = disabled/encode the original frame
1334 * - 1 = enabled/encode the denoised frame (default)
1335 */
1336 AV1E_SET_ENABLE_DNL_DENOISING = 140,
1337
1349
1359
1364
1370
1378
1388
1393
1399
1408
1413
1420
1428
1436
1447
1456
1461
1472
1483
1484 // Any new encoder control IDs should be added above.
1485 // Maximum allowed encoder control ID is 229.
1486 // No encoder control ID should be added below.
1487};
1488
1494 AOME_NORMAL = 0,
1495 AOME_FOURFIVE = 1,
1496 AOME_THREEFIVE = 2,
1497 AOME_THREEFOUR = 3,
1498 AOME_ONEFOUR = 4,
1499 AOME_ONEEIGHT = 5,
1500 AOME_ONETWO = 6
1502
1510#define AOM_MAX_SEGMENTS 8
1511
1519typedef struct aom_roi_map {
1521 unsigned char *roi_map;
1522 unsigned int rows;
1523 unsigned int cols;
1529
1536typedef struct aom_active_map {
1538 unsigned char *active_map;
1539 unsigned int rows;
1540 unsigned int cols;
1542
1548typedef struct aom_scaling_mode {
1552
1554typedef enum {
1555 AOM_CONTENT_DEFAULT,
1556 AOM_CONTENT_SCREEN,
1557 AOM_CONTENT_FILM,
1558 AOM_CONTENT_INVALID
1560
1562typedef enum {
1563 AOM_TIMING_UNSPECIFIED,
1564 AOM_TIMING_EQUAL,
1565 AOM_TIMING_DEC_MODEL
1567
1573typedef enum {
1574 AOM_TUNE_PSNR = 0,
1575 AOM_TUNE_SSIM = 1,
1576 /* NOTE: enums 2 and 3 unused */
1577 AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1578 AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1579 AOM_TUNE_VMAF_MAX_GAIN = 6,
1580 AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1581 AOM_TUNE_BUTTERAUGLI = 8,
1583
1592typedef enum {
1593 // Use PSNR for in-block rate-distortion optimization.
1594 AOM_DIST_METRIC_PSNR,
1595 // Use quantization matrix-weighted PSNR for in-block rate-distortion
1596 // optimization. If --enable-qm=1 is not specified, this falls back to
1597 // behaving in the same way as AOM_DIST_METRIC_PSNR.
1598 AOM_DIST_METRIC_QM_PSNR,
1600
1601#define AOM_MAX_LAYERS 32
1602#define AOM_MAX_SS_LAYERS 4
1603#define AOM_MAX_TS_LAYERS 8
1606typedef struct aom_svc_layer_id {
1610
1612typedef struct aom_svc_params {
1624
1627 // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1628 // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1629 int reference[7];
1631 int ref_idx[7];
1632 int refresh[8];
1634
1637 // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1638 // LAST2_LAST (1), and ALTREF_LAST (2).
1641
1655#define AOM_CTRL_AOME_USE_REFERENCE
1656
1658#define AOM_CTRL_AOME_SET_ROI_MAP
1659
1661#define AOM_CTRL_AOME_SET_ACTIVEMAP
1662
1664#define AOM_CTRL_AOME_SET_SCALEMODE
1665
1667#define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1668
1670#define AOM_CTRL_AOME_SET_CPUUSED
1671
1673#define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1674
1676#define AOM_CTRL_AOME_SET_SHARPNESS
1677
1679#define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1680
1682#define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1683
1685#define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1686
1688#define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1689
1691#define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1692
1693AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1694#define AOM_CTRL_AOME_SET_TUNING
1695
1697#define AOM_CTRL_AOME_SET_CQ_LEVEL
1698
1700#define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1701
1703#define AOM_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1704// TODO(aomedia:3231): Deprecated. Remove it.
1705#define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1706
1707AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1708#define AOM_CTRL_AV1E_SET_MAX_INTER_BITRATE_PCT
1709// TODO(aomedia:3231): Deprecated. Remove it.
1710#define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1711
1713#define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1714
1716#define AOM_CTRL_AV1E_SET_LOSSLESS
1717
1719#define AOM_CTRL_AV1E_SET_ROW_MT
1720
1722#define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1723
1725#define AOM_CTRL_AV1E_SET_TILE_ROWS
1726
1728#define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1729
1731#define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1732
1734#define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1735
1737#define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1738
1740#define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1741
1743#define AOM_CTRL_AV1E_SET_AQ_MODE
1744
1746#define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1747
1749#define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1750
1751AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1752#define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1753
1755#define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1756
1758#define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1759
1761#define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1762
1764#define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1765
1767#define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1768
1770#define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1771
1773#define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1774
1776#define AOM_CTRL_AV1E_GET_ACTIVEMAP
1777
1779#define AOM_CTRL_AV1E_SET_COLOR_RANGE
1780
1782#define AOM_CTRL_AV1E_SET_RENDER_SIZE
1783
1785#define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1786
1788#define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1789
1791#define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1792
1794#define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1795
1797#define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1798
1800#define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1801
1803#define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1804
1806#define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1807
1809#define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1810
1812#define AOM_CTRL_AV1E_SET_ENABLE_QM
1813
1814// TODO(aomedia:3231): Remove these two lines.
1815AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1816#define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1817
1819#define AOM_CTRL_AV1E_SET_QM_MIN
1820
1822#define AOM_CTRL_AV1E_SET_QM_MAX
1823
1824AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1825#define AOM_CTRL_AV1E_SET_QM_Y
1826
1827AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1828#define AOM_CTRL_AV1E_SET_QM_U
1829
1830AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1831#define AOM_CTRL_AV1E_SET_QM_V
1832
1834#define AOM_CTRL_AV1E_SET_NUM_TG
1835
1836AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1837#define AOM_CTRL_AV1E_SET_MTU
1838
1840#define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1841
1843#define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1844
1846#define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1847
1849#define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1850
1852#define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1853
1855#define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1856
1858#define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1859
1861#define AOM_CTRL_AV1E_SET_ENABLE_TX64
1862
1864#define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1865
1867#define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
1868
1870#define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1871
1873#define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1874
1876#define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1877
1879#define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1880
1882#define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1883
1885#define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1886
1888#define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1889
1891#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1892
1894#define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1895
1897#define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1898
1900#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1901
1903#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1904
1906#define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1907
1909#define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1910
1912#define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1913
1915#define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1916
1918#define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1919
1921#define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1922
1924#define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1925
1927#define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1928
1930#define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
1931
1933#define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1934
1936#define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1937
1939#define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1940
1942#define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1943
1945#define AOM_CTRL_AV1E_SET_DELTALF_MODE
1946
1948#define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1949
1951#define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1952
1953AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1954#define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1955
1957#define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1958
1960#define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1961
1963#define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1964
1966#define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1967
1969#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1970
1972#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1973
1975#define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1976
1978#define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1979
1981#define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1982
1984#define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
1985
1987#define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
1988
1990#define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
1991
1993#define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
1994
1996#define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
1997
1999#define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
2000
2002#define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
2003
2005#define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
2006
2008#define AOM_CTRL_AV1E_SET_TIER_MASK
2009
2011#define AOM_CTRL_AV1E_SET_MIN_CR
2012
2014#define AOM_CTRL_AV1E_SET_SVC_LAYER_ID
2015// TODO(aomedia:3231): Deprecated. Remove it.
2016#define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
2017
2019#define AOM_CTRL_AV1E_SET_SVC_PARAMS
2020// TODO(aomedia:3231): Deprecated. Remove it.
2021#define AOME_CTRL_AV1E_SET_SVC_PARAMS
2022
2024#define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2025// TODO(aomedia:3231): Deprecated. Remove it.
2026#define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2027
2029#define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
2030
2032#define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
2033
2035#define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
2036
2038#define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
2039
2041#define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
2042
2044#define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
2045
2046AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
2047#define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
2048
2050#define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
2051
2053#define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
2054
2056#define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
2057
2059#define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
2060
2062#define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
2063
2065#define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
2066
2069#define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2070// TODO(aomedia:3231): Deprecated. Remove it.
2071#define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2072
2074#define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
2075
2077#define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
2078
2080#define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
2081
2083#define AOM_CTRL_AV1E_SET_AUTO_INTRA_TOOLS_OFF
2084
2086#define AOM_CTRL_AV1E_SET_RTC_EXTERNAL_RC
2087
2088AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT, unsigned int)
2089#define AOM_CTRL_AV1E_SET_FP_MT
2090
2092#define AOM_CTRL_AV1E_SET_FP_MT_UNIT_TEST
2093
2095#define AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX
2096
2098#define AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS
2099
2101#define AOM_CTRL_AV1E_SET_SKIP_POSTPROC_FILTERING
2102
2104#define AOM_CTRL_AV1E_ENABLE_SB_QP_SWEEP
2105
2108#ifdef __cplusplus
2109} // extern "C"
2110#endif
2111
2112#endif // AOM_AOM_AOMCX_H_
Provides controls common to both the AOM encoder and decoder.
Describes the encoder algorithm interface to applications.
Provides function pointer definitions for the external partition.
aom_dist_metric
Distortion metric to use for RD optimization.
Definition: aomcx.h:1592
aom_codec_iface_t aom_codec_av1_cx_algo
A single instance of the AV1 encoder.
aom_scaling_mode_1d
aom 1-D scaling mode
Definition: aomcx.h:1493
#define AOM_MAX_LAYERS
Definition: aomcx.h:1601
struct aom_svc_params aom_svc_params_t
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1510
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1603
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
aom_tune_content
Definition: aomcx.h:1554
struct aom_scaling_mode aom_scaling_mode_t
aom image scaling mode
enum aom_scaling_mode_1d AOM_SCALING_MODE
aom 1-D scaling mode
#define AOM_MAX_SS_LAYERS
Definition: aomcx.h:1602
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1573
struct aom_roi_map aom_roi_map_t
aom region of interest map
struct aom_svc_layer_id aom_svc_layer_id_t
aom_timing_info_type_t
Definition: aomcx.h:1562
struct aom_active_map aom_active_map_t
aom active region map
struct aom_svc_ref_frame_comp_pred aom_svc_ref_frame_comp_pred_t
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:176
struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
@ AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:573
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound, int parameter.
Definition: aomcx.h:1010
@ AV1E_SET_ENABLE_DIAGONAL_INTRA
Codec control function to turn on / off D45 to D203 intra mode usage, int parameter.
Definition: aomcx.h:1348
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:594
@ AV1E_SET_ROW_MT
Codec control function to enable the row based multi-threading of the encoder, unsigned int parameter...
Definition: aomcx.h:361
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage, int parameter.
Definition: aomcx.h:1070
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test, unsigned int parameter.
Definition: aomcx.h:1160
@ AOME_SET_SHARPNESS
Codec control function to set the sharpness parameter, unsigned int parameter.
Definition: aomcx.h:241
@ AV1E_GET_TARGET_SEQ_LEVEL_IDX
Codec control function to get the target sequence level index for each operating point....
Definition: aomcx.h:1455
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency, unsigned int parameter.
Definition: aomcx.h:408
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:263
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode, unsigned int parameter.
Definition: aomcx.h:468
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references, int parameter.
Definition: aomcx.h:1224
@ AV1E_GET_NUM_OPERATING_POINTS
Codec control function to get the number of operating points. int* parameter.
Definition: aomcx.h:1460
@ AV1E_SET_SVC_LAYER_ID
Codec control function to set the layer id, aom_svc_layer_id_t* parameter.
Definition: aomcx.h:1276
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use, int parameter.
Definition: aomcx.h:180
@ AV1E_SET_SVC_REF_FRAME_CONFIG
Codec control function to set reference frame config: the ref_idx and the refresh flags for each buff...
Definition: aomcx.h:1287
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1320
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage, int parameter.
Definition: aomcx.h:1078
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type, aom_tune_content parameter.
Definition: aomcx.h:497
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder, aom_roi_map_t* parameter.
Definition: aomcx.h:185
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode, unsigned int parameter.
Definition: aomcx.h:506
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value, unsigned int parameter.
Definition: aomcx.h:1187
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit, int parameter.
Definition: aomcx.h:606
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter, unsigned int parameter.
Definition: aomcx.h:680
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta, int parameter.
Definition: aomcx.h:1117
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:587
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf, unsigned int parameter.
Definition: aomcx.h:268
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors, unsigned int parameter.
Definition: aomcx.h:1254
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes, int parameter.
Definition: aomcx.h:1203
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:552
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group, unsigned int parameter.
Definition: aomcx.h:800
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization, unsigned int parameter.
Definition: aomcx.h:707
@ AV1E_SET_SVC_REF_FRAME_COMP_PRED
Codec control function to set reference frame compound prediction. aom_svc_ref_frame_comp_pred_t* par...
Definition: aomcx.h:1392
@ AV1E_SET_FP_MT_UNIT_TEST
Codec control to enable actual frame parallel encode or simulation of frame parallel encode in FPMT u...
Definition: aomcx.h:1446
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode, int parameter.
Definition: aomcx.h:1113
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode, int parameter.
Definition: aomcx.h:453
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions, int parameter.
Definition: aomcx.h:818
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence, int parameter.
Definition: aomcx.h:986
@ AV1E_SET_FILM_GRAIN_TEST_VECTOR
Codec control function to add film grain parameters (one of several preset types) info in the bitstre...
Definition: aomcx.h:1173
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes for a sequence,...
Definition: aomcx.h:962
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual interpolation filter for a sequence, int parameter.
Definition: aomcx.h:954
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:779
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature, unsigned int parameter.
Definition: aomcx.h:431
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:755
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size, int parameter.
Definition: aomcx.h:837
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level, int parameter.
Definition: aomcx.h:1038
@ AV1E_SET_RTC_EXTERNAL_RC
Codec control function to set flag for rate control used by external encoders.
Definition: aomcx.h:1427
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode, unsigned int parameter.
Definition: aomcx.h:687
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value, unsigned int parameter.
Definition: aomcx.h:1190
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level, int parameter.
Definition: aomcx.h:856
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients, unsigned int parameter.
Definition: aomcx.h:1234
@ AV1E_SET_ENABLE_DIRECTIONAL_INTRA
Codec control function to turn on / off directional intra mode usage, int parameter.
Definition: aomcx.h:1377
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for inter frames, unsigned int parameter.
Definition: aomcx.h:325
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level, int parameter.
Definition: aomcx.h:1181
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes, int parameter.
Definition: aomcx.h:1196
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows, unsigned int parameter.
Definition: aomcx.h:398
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:767
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level,...
Definition: aomcx.h:935
@ AV1E_ENABLE_SB_QP_SWEEP
Codec control function to enable the superblock level qp sweep in AV1 to ensure that end-to-end test ...
Definition: aomcx.h:1482
@ AV1E_SET_FP_MT
Codec control function to enable frame parallel multi-threading of the encoder, unsigned int paramete...
Definition: aomcx.h:1435
@ AV1E_SET_ENABLE_MASKED_COMP
Codec control function to turn on / off masked compound usage (wedge and diff-wtd compound modes) for...
Definition: aomcx.h:970
@ AV1E_GET_ACTIVEMAP
Codec control function to get an active map back from the encoder, aom_active_map_t* parameter.
Definition: aomcx.h:599
@ AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
Control to set average complexity of the corpus in the case of single pass vbr based on LAP,...
Definition: aomcx.h:1325
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1213
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF, unsigned int parameter.
Definition: aomcx.h:670
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms, int parameter.
Definition: aomcx.h:900
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder, aom_active_map_t* parameter.
Definition: aomcx.h:190
@ AV1E_GET_SEQ_LEVEL_IDX
Codec control function to get sequence level index for each operating point. int* parameter....
Definition: aomcx.h:643
@ AOME_GET_LOOPFILTER_LEVEL
Codec control function to get the loopfilter chosen by the encoder, int* parameter.
Definition: aomcx.h:1412
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost, unsigned int parameter.
Definition: aomcx.h:480
@ AV1E_SET_DV_COST_UPD_FREQ
Control to set frequency of the cost updates for intrabc motion vectors, unsigned int parameter.
Definition: aomcx.h:1358
@ AV1E_SET_AUTO_INTRA_TOOLS_OFF
Codec control to automatically turn off several intra coding tools, unsigned int parameter.
Definition: aomcx.h:1419
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size, int32_t[2] parameter.
Definition: aomcx.h:613
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level,...
Definition: aomcx.h:946
@ AV1E_SET_ENABLE_RECT_TX
Codec control function to turn on / off rectangular transforms, int parameter.
Definition: aomcx.h:912
@ AV1E_SET_ENABLE_DIST_WTD_COMP
Codec control function to turn on / off dist-wtd compound mode at sequence level, int parameter.
Definition: aomcx.h:924
@ AV1E_SET_TIMING_INFO_TYPE
Codec control function to signal picture timing info in the bitstream, aom_timing_info_type_t paramet...
Definition: aomcx.h:1166
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution, int parameter.
Definition: aomcx.h:1096
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size, unsigned int parameter.
Definition: aomcx.h:651
@ AV1E_SET_TIER_MASK
Control to set bit mask that specifies which tier each of the 32 possible operating points conforms t...
Definition: aomcx.h:1262
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound, int parameter.
Definition: aomcx.h:1018
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity, unsigned int parameter.
Definition: aomcx.h:488
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC parameters, aom_svc_params_t* parameter.
Definition: aomcx.h:1281
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound, int parameter.
Definition: aomcx.h:1002
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b, int parameter.
Definition: aomcx.h:1206
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level, int parameter.
Definition: aomcx.h:1059
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode, int parameter.
Definition: aomcx.h:1109
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage, int parameter.
Definition: aomcx.h:1088
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame, unsigned int parameter.
Definition: aomcx.h:417
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups, unsigned int parameter.
Definition: aomcx.h:789
@ AV1E_GET_BASELINE_GF_INTERVAL
Control to get baseline gf interval.
Definition: aomcx.h:1329
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set max data rate for intra frames, unsigned int parameter.
Definition: aomcx.h:306
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode, int parameter.
Definition: aomcx.h:442
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence, int parameter.
Definition: aomcx.h:994
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static, unsigned int parameter.
Definition: aomcx.h:246
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode, unsigned int parameter.
Definition: aomcx.h:697
@ AV1E_SET_PARTITION_INFO_PATH
Codec control to set the path for partition stats read and write. const char * parameter.
Definition: aomcx.h:1363
@ AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id, int parameter.
Definition: aomcx.h:202
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size, int parameter.
Definition: aomcx.h:848
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions, int parameter.
Definition: aomcx.h:826
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled,...
Definition: aomcx.h:1139
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms, int parameter.
Definition: aomcx.h:876
@ AOME_SET_TUNING
Codec control function to set visual tuning, aom_tune_metric (int) parameter.
Definition: aomcx.h:282
@ AV1E_SET_TARGET_SEQ_LEVEL_IDX
Control to set target sequence level index for a certain operating point (OP), int parameter Possible...
Definition: aomcx.h:636
@ AV1E_SET_CHROMA_SAMPLE_POSITION
Codec control function to set chroma 4:2:0 sample position info, aom_chroma_sample_position_t paramet...
Definition: aomcx.h:580
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set, int parameter.
Definition: aomcx.h:1193
@ AV1E_SET_DELTAQ_STRENGTH
Set –deltaq-mode strength.
Definition: aomcx.h:1398
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use of bwd-pred frames, unsigned int parameter.
Definition: aomcx.h:659
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes, int parameter.
Definition: aomcx.h:1199
@ AV1E_SET_LOOPFILTER_CONTROL
Codec control to control loop filter.
Definition: aomcx.h:1407
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames, unsigned int parameter.
Definition: aomcx.h:228
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode for the next frame to be coded,...
Definition: aomcx.h:197
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:255
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns. unsigned int parameter.
Definition: aomcx.h:380
@ AV1E_SET_EXTERNAL_PARTITION
Codec control to use an external partition model A set of callback functions is passed through this c...
Definition: aomcx.h:1369
@ AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
Codec control function to enable the superblock multipass unit test in AV1 to ensure that the encoder...
Definition: aomcx.h:1313
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint (int parameter). Affects: joint compound mod...
Definition: aomcx.h:865
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode, unsigned int parameter.
Definition: aomcx.h:1131
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence, int parameter.
Definition: aomcx.h:1028
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters, const char* parameter.
Definition: aomcx.h:1178
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:743
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame, int parameter.
Definition: aomcx.h:1220
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings, int parameter.
Definition: aomcx.h:220
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode, unsigned int parameter.
Definition: aomcx.h:339
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence, int parameter.
Definition: aomcx.h:978
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size, unsigned int parameter.
Definition: aomcx.h:1184
@ AV1E_SET_VMAF_MODEL_PATH
Codec control function to set the path to the VMAF model used when tuning the encoder for VMAF,...
Definition: aomcx.h:1292
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:731
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices, unsigned int parameter.
Definition: aomcx.h:718
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for filtered ALTREF frames,...
Definition: aomcx.h:1106
@ AV1E_SET_SKIP_POSTPROC_FILTERING
Codec control function to skip the application of post-processing filters on reconstructed frame,...
Definition: aomcx.h:1471
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers, int parameter.
Definition: aomcx.h:311
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode, unsigned int parameter.
Definition: aomcx.h:1149
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions, int parameter.
Definition: aomcx.h:810
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info, int parameter.
Definition: aomcx.h:527
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level, unsigned int parameter.
Definition: aomcx.h:292
@ AV1E_SET_ENABLE_TX_SIZE_SEARCH
Control to turn on / off transform size search. Note: it can not work with non RD pick mode in real-t...
Definition: aomcx.h:1387
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode, unsigned int parameter.
Definition: aomcx.h:1244
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level, int parameter.
Definition: aomcx.h:1051
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder, unsigned int parameter.
Definition: aomcx.h:1302
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio, unsigned int parameter Take integer values....
Definition: aomcx.h:1269
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode, unsigned int parameter.
Definition: aomcx.h:353
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf, unsigned int parameter.
Definition: aomcx.h:273
#define AOM_CTRL_USE_TYPE(id, typ)
Creates type checking mechanisms for aom_codec_control.
Definition: aom_codec.h:531
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:254
aom active region map
Definition: aomcx.h:1536
unsigned int rows
Definition: aomcx.h:1539
unsigned int cols
Definition: aomcx.h:1540
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1538
Callback function set for external partition model.
Definition: aom_external_partition.h:410
aom region of interest map
Definition: aomcx.h:1519
unsigned int cols
Definition: aomcx.h:1523
int delta_lf[8]
Definition: aomcx.h:1525
unsigned int static_threshold[8]
Definition: aomcx.h:1527
unsigned int rows
Definition: aomcx.h:1522
unsigned char * roi_map
Definition: aomcx.h:1521
int delta_q[8]
Definition: aomcx.h:1524
aom image scaling mode
Definition: aomcx.h:1548
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1550
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1549
Definition: aomcx.h:1606
int temporal_layer_id
Definition: aomcx.h:1608
int spatial_layer_id
Definition: aomcx.h:1607
Definition: aomcx.h:1612
int max_quantizers[32]
Definition: aomcx.h:1615
int number_spatial_layers
Definition: aomcx.h:1613
int layer_target_bitrate[32]
Definition: aomcx.h:1620
int framerate_factor[8]
Definition: aomcx.h:1622
int min_quantizers[32]
Definition: aomcx.h:1616
int scaling_factor_den[4]
Definition: aomcx.h:1618
int number_temporal_layers
Definition: aomcx.h:1614
int scaling_factor_num[4]
Definition: aomcx.h:1617
Definition: aomcx.h:1636
int use_comp_pred[3]
Definition: aomcx.h:1639
Definition: aomcx.h:1626
int reference[7]
Definition: aomcx.h:1629
int refresh[8]
Definition: aomcx.h:1632
int ref_idx[7]
Definition: aomcx.h:1631