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
205
223
231
232 /* NOTE: enum 15 unused */
233
244
249
250 /* NOTE: enum 18 unused */
251
258
266
271
276
277 /* NOTE: enum 23 unused */
278
285
295
309
318
332
346
347 /* NOTE: enum 30 unused */
348
360
368
387
405
415
424
438
449
460
475
487
495
504
513
534
559
580
587
594
601
606
613
620
640
647
655
663
674
684
691
701
711
722
735
747
759
771
783
784 /* NOTE: enum 69 unused */
785
793
804
805 /* NOTE: enum 72 unused */
806
814
822
830
841
852
860
869
880
904
916
928
939
950
958
966
974
982
990
998
1006
1014
1022
1032
1042
1055
1063
1074
1082
1092
1100
1110
1113
1117
1121
1135
1143
1153
1164
1170
1177
1182
1185
1188
1191
1194
1197
1200
1203
1207
1210
1217
1224
1228
1238
1248
1258
1266
1273
1274 /* NOTE: enums 145-149 unused */
1275
1282
1287
1293
1298
1308
1319
1326
1331
1335
1336 /*\brief Control to set encoding the denoised frame from denoise-noise-level
1337 *
1338 * - 0 = disabled/encode the original frame
1339 * - 1 = enabled/encode the denoised frame (default)
1340 */
1341 AV1E_SET_ENABLE_DNL_DENOISING = 140,
1342
1354
1364
1369
1375
1383
1393
1398
1404
1413
1418
1425
1433
1441
1452
1461
1466
1477
1488
1489 // Any new encoder control IDs should be added above.
1490 // Maximum allowed encoder control ID is 229.
1491 // No encoder control ID should be added below.
1492};
1493
1499 AOME_NORMAL = 0,
1500 AOME_FOURFIVE = 1,
1501 AOME_THREEFIVE = 2,
1502 AOME_THREEFOUR = 3,
1503 AOME_ONEFOUR = 4,
1504 AOME_ONEEIGHT = 5,
1505 AOME_ONETWO = 6
1507
1515#define AOM_MAX_SEGMENTS 8
1516
1524typedef struct aom_roi_map {
1526 unsigned char *roi_map;
1527 unsigned int rows;
1528 unsigned int cols;
1534
1541typedef struct aom_active_map {
1543 unsigned char *active_map;
1544 unsigned int rows;
1545 unsigned int cols;
1547
1553typedef struct aom_scaling_mode {
1557
1559typedef enum {
1560 AOM_CONTENT_DEFAULT,
1561 AOM_CONTENT_SCREEN,
1562 AOM_CONTENT_FILM,
1563 AOM_CONTENT_INVALID
1565
1567typedef enum {
1568 AOM_TIMING_UNSPECIFIED,
1569 AOM_TIMING_EQUAL,
1570 AOM_TIMING_DEC_MODEL
1572
1578typedef enum {
1579 AOM_TUNE_PSNR = 0,
1580 AOM_TUNE_SSIM = 1,
1581 /* NOTE: enums 2 and 3 unused */
1582 AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1583 AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1584 AOM_TUNE_VMAF_MAX_GAIN = 6,
1585 AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1586 AOM_TUNE_BUTTERAUGLI = 8,
1588
1597typedef enum {
1598 // Use PSNR for in-block rate-distortion optimization.
1599 AOM_DIST_METRIC_PSNR,
1600 // Use quantization matrix-weighted PSNR for in-block rate-distortion
1601 // optimization. If --enable-qm=1 is not specified, this falls back to
1602 // behaving in the same way as AOM_DIST_METRIC_PSNR.
1603 AOM_DIST_METRIC_QM_PSNR,
1605
1606#define AOM_MAX_LAYERS 32
1607#define AOM_MAX_SS_LAYERS 4
1608#define AOM_MAX_TS_LAYERS 8
1611typedef struct aom_svc_layer_id {
1615
1617typedef struct aom_svc_params {
1641
1644 // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1645 // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1646 int reference[7];
1648 int ref_idx[7];
1649 int refresh[8];
1651
1654 // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1655 // LAST2_LAST (1), and ALTREF_LAST (2).
1658
1672#define AOM_CTRL_AOME_USE_REFERENCE
1673
1675#define AOM_CTRL_AOME_SET_ROI_MAP
1676
1678#define AOM_CTRL_AOME_SET_ACTIVEMAP
1679
1681#define AOM_CTRL_AOME_SET_SCALEMODE
1682
1684#define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1685
1687#define AOM_CTRL_AOME_SET_CPUUSED
1688
1690#define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1691
1693#define AOM_CTRL_AOME_SET_SHARPNESS
1694
1696#define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1697
1699#define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1700
1702#define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1703
1705#define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1706
1708#define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1709
1710AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1711#define AOM_CTRL_AOME_SET_TUNING
1712
1714#define AOM_CTRL_AOME_SET_CQ_LEVEL
1715
1717#define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1718
1720#define AOM_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1721// TODO(aomedia:3231): Deprecated. Remove it.
1722#define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1723
1724AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1725#define AOM_CTRL_AV1E_SET_MAX_INTER_BITRATE_PCT
1726// TODO(aomedia:3231): Deprecated. Remove it.
1727#define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1728
1730#define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1731
1733#define AOM_CTRL_AV1E_SET_LOSSLESS
1734
1736#define AOM_CTRL_AV1E_SET_ROW_MT
1737
1739#define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1740
1742#define AOM_CTRL_AV1E_SET_TILE_ROWS
1743
1745#define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1746
1748#define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1749
1751#define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1752
1754#define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1755
1757#define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1758
1760#define AOM_CTRL_AV1E_SET_AQ_MODE
1761
1763#define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1764
1766#define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1767
1768AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1769#define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1770
1772#define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1773
1775#define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1776
1778#define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1779
1781#define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1782
1784#define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1785
1787#define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1788
1790#define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1791
1793#define AOM_CTRL_AV1E_GET_ACTIVEMAP
1794
1796#define AOM_CTRL_AV1E_SET_COLOR_RANGE
1797
1799#define AOM_CTRL_AV1E_SET_RENDER_SIZE
1800
1802#define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1803
1805#define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1806
1808#define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1809
1811#define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1812
1814#define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1815
1817#define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1818
1820#define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1821
1823#define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1824
1826#define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1827
1829#define AOM_CTRL_AV1E_SET_ENABLE_QM
1830
1831// TODO(aomedia:3231): Remove these two lines.
1832AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1833#define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1834
1836#define AOM_CTRL_AV1E_SET_QM_MIN
1837
1839#define AOM_CTRL_AV1E_SET_QM_MAX
1840
1841AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1842#define AOM_CTRL_AV1E_SET_QM_Y
1843
1844AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1845#define AOM_CTRL_AV1E_SET_QM_U
1846
1847AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1848#define AOM_CTRL_AV1E_SET_QM_V
1849
1851#define AOM_CTRL_AV1E_SET_NUM_TG
1852
1853AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1854#define AOM_CTRL_AV1E_SET_MTU
1855
1857#define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1858
1860#define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1861
1863#define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1864
1866#define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1867
1869#define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1870
1872#define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1873
1875#define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1876
1878#define AOM_CTRL_AV1E_SET_ENABLE_TX64
1879
1881#define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1882
1884#define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
1885
1887#define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1888
1890#define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1891
1893#define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1894
1896#define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1897
1899#define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1900
1902#define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1903
1905#define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1906
1908#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1909
1911#define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1912
1914#define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1915
1917#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1918
1920#define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1921
1923#define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1924
1926#define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1927
1929#define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1930
1932#define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1933
1935#define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1936
1938#define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1939
1941#define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1942
1944#define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1945
1947#define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
1948
1950#define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1951
1953#define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1954
1956#define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1957
1959#define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1960
1962#define AOM_CTRL_AV1E_SET_DELTALF_MODE
1963
1965#define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1966
1968#define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1969
1970AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1971#define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1972
1974#define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1975
1977#define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1978
1980#define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1981
1983#define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1984
1986#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1987
1989#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1990
1992#define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1993
1995#define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1996
1998#define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1999
2001#define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
2002
2004#define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
2005
2007#define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
2008
2010#define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
2011
2013#define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
2014
2016#define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
2017
2019#define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
2020
2022#define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
2023
2025#define AOM_CTRL_AV1E_SET_TIER_MASK
2026
2028#define AOM_CTRL_AV1E_SET_MIN_CR
2029
2031#define AOM_CTRL_AV1E_SET_SVC_LAYER_ID
2032// TODO(aomedia:3231): Deprecated. Remove it.
2033#define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
2034
2036#define AOM_CTRL_AV1E_SET_SVC_PARAMS
2037// TODO(aomedia:3231): Deprecated. Remove it.
2038#define AOME_CTRL_AV1E_SET_SVC_PARAMS
2039
2041#define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2042// TODO(aomedia:3231): Deprecated. Remove it.
2043#define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2044
2046#define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
2047
2049#define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
2050
2052#define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
2053
2055#define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
2056
2058#define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
2059
2061#define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
2062
2063AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
2064#define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
2065
2067#define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
2068
2070#define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
2071
2073#define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
2074
2076#define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
2077
2079#define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
2080
2082#define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
2083
2086#define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2087// TODO(aomedia:3231): Deprecated. Remove it.
2088#define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2089
2091#define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
2092
2094#define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
2095
2097#define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
2098
2100#define AOM_CTRL_AV1E_SET_AUTO_INTRA_TOOLS_OFF
2101
2103#define AOM_CTRL_AV1E_SET_RTC_EXTERNAL_RC
2104
2105AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT, unsigned int)
2106#define AOM_CTRL_AV1E_SET_FP_MT
2107
2109#define AOM_CTRL_AV1E_SET_FP_MT_UNIT_TEST
2110
2112#define AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX
2113
2115#define AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS
2116
2118#define AOM_CTRL_AV1E_SET_SKIP_POSTPROC_FILTERING
2119
2121#define AOM_CTRL_AV1E_ENABLE_SB_QP_SWEEP
2122
2125#ifdef __cplusplus
2126} // extern "C"
2127#endif
2128
2129#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:1597
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:1498
#define AOM_MAX_LAYERS
Definition aomcx.h:1606
struct aom_svc_params aom_svc_params_t
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition aomcx.h:1515
#define AOM_MAX_TS_LAYERS
Definition aomcx.h:1608
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
aom_tune_content
Definition aomcx.h:1559
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:1607
aom_tune_metric
Model tuning parameters.
Definition aomcx.h:1578
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:1567
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:579
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound, int parameter.
Definition aomcx.h:1013
@ AV1E_SET_ENABLE_DIAGONAL_INTRA
Codec control function to turn on / off D45 to D203 intra mode usage, int parameter.
Definition aomcx.h:1353
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition aomcx.h:600
@ AV1E_SET_ROW_MT
Codec control function to enable the row based multi-threading of the encoder, unsigned int parameter...
Definition aomcx.h:367
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage, int parameter.
Definition aomcx.h:1073
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test, unsigned int parameter.
Definition aomcx.h:1163
@ AOME_SET_SHARPNESS
Codec control function to set the sharpness parameter, unsigned int parameter.
Definition aomcx.h:243
@ AV1E_GET_TARGET_SEQ_LEVEL_IDX
Codec control function to get the target sequence level index for each operating point....
Definition aomcx.h:1460
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency, unsigned int parameter.
Definition aomcx.h:414
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition aomcx.h:265
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode, unsigned int parameter.
Definition aomcx.h:474
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references, int parameter.
Definition aomcx.h:1227
@ AV1E_GET_NUM_OPERATING_POINTS
Codec control function to get the number of operating points. int* parameter.
Definition aomcx.h:1465
@ AV1E_SET_SVC_LAYER_ID
Codec control function to set the layer id, aom_svc_layer_id_t* parameter. Layer id for spatial or te...
Definition aomcx.h:1281
@ 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:1292
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure, unsigned int parameter.
Definition aomcx.h:1325
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage, int parameter.
Definition aomcx.h:1081
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type, aom_tune_content parameter.
Definition aomcx.h:503
@ 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:512
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value, unsigned int parameter.
Definition aomcx.h:1190
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit, int parameter.
Definition aomcx.h:612
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter, unsigned int parameter.
Definition aomcx.h:683
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta, int parameter.
Definition aomcx.h:1120
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition aomcx.h:593
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf, unsigned int parameter.
Definition aomcx.h:270
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors, unsigned int parameter.
Definition aomcx.h:1257
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes, int parameter.
Definition aomcx.h:1206
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info, int parameter.
Definition aomcx.h:558
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group, unsigned int parameter.
Definition aomcx.h:803
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization, unsigned int parameter.
Definition aomcx.h:710
@ 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:1397
@ 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:1451
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode, int parameter.
Definition aomcx.h:1116
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode, int parameter.
Definition aomcx.h:459
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions, int parameter.
Definition aomcx.h:821
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence, int parameter.
Definition aomcx.h:989
@ 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:1176
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes for a sequence,...
Definition aomcx.h:965
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual interpolation filter for a sequence, int parameter.
Definition aomcx.h:957
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition aomcx.h:782
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature, unsigned int parameter.
Definition aomcx.h:437
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition aomcx.h:758
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size, int parameter.
Definition aomcx.h:840
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level, int parameter.
Definition aomcx.h:1041
@ AV1E_SET_RTC_EXTERNAL_RC
Codec control function to set flag for rate control used by external encoders.
Definition aomcx.h:1432
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode, unsigned int parameter.
Definition aomcx.h:690
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value, unsigned int parameter.
Definition aomcx.h:1193
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level, int parameter.
Definition aomcx.h:859
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients, unsigned int parameter.
Definition aomcx.h:1237
@ AV1E_SET_ENABLE_DIRECTIONAL_INTRA
Codec control function to turn on / off directional intra mode usage, int parameter.
Definition aomcx.h:1382
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for inter frames, unsigned int parameter.
Definition aomcx.h:331
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level, int parameter.
Definition aomcx.h:1184
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes, int parameter.
Definition aomcx.h:1199
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows, unsigned int parameter.
Definition aomcx.h:404
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition aomcx.h:770
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level,...
Definition aomcx.h:938
@ 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:1487
@ AV1E_SET_FP_MT
Codec control function to enable frame parallel multi-threading of the encoder, unsigned int paramete...
Definition aomcx.h:1440
@ 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:973
@ AV1E_GET_ACTIVEMAP
Codec control function to get an active map back from the encoder, aom_active_map_t* parameter.
Definition aomcx.h:605
@ 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:1330
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure, unsigned int parameter.
Definition aomcx.h:1216
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF, unsigned int parameter.
Definition aomcx.h:673
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms, int parameter.
Definition aomcx.h:903
@ 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:646
@ AOME_GET_LOOPFILTER_LEVEL
Codec control function to get the loopfilter chosen by the encoder, int* parameter.
Definition aomcx.h:1417
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost, unsigned int parameter.
Definition aomcx.h:486
@ AV1E_SET_DV_COST_UPD_FREQ
Control to set frequency of the cost updates for intrabc motion vectors, unsigned int parameter.
Definition aomcx.h:1363
@ AV1E_SET_AUTO_INTRA_TOOLS_OFF
Codec control to automatically turn off several intra coding tools, unsigned int parameter.
Definition aomcx.h:1424
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size, int32_t[2] parameter.
Definition aomcx.h:619
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level,...
Definition aomcx.h:949
@ AV1E_SET_ENABLE_RECT_TX
Codec control function to turn on / off rectangular transforms, int parameter.
Definition aomcx.h:915
@ 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:927
@ 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:1169
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution, int parameter.
Definition aomcx.h:1099
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size, unsigned int parameter.
Definition aomcx.h:654
@ 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:1265
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound, int parameter.
Definition aomcx.h:1021
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity, unsigned int parameter.
Definition aomcx.h:494
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC parameters, aom_svc_params_t* parameter.
Definition aomcx.h:1286
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound, int parameter.
Definition aomcx.h:1005
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b, int parameter.
Definition aomcx.h:1209
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level, int parameter.
Definition aomcx.h:1062
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode, int parameter.
Definition aomcx.h:1112
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage, int parameter.
Definition aomcx.h:1091
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame, unsigned int parameter.
Definition aomcx.h:423
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups, unsigned int parameter.
Definition aomcx.h:792
@ AV1E_GET_BASELINE_GF_INTERVAL
Control to get baseline gf interval.
Definition aomcx.h:1334
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set max data rate for intra frames, unsigned int parameter.
Definition aomcx.h:308
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode, int parameter.
Definition aomcx.h:448
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence, int parameter.
Definition aomcx.h:997
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static, unsigned int parameter.
Definition aomcx.h:248
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode, unsigned int parameter.
Definition aomcx.h:700
@ AV1E_SET_PARTITION_INFO_PATH
Codec control to set the path for partition stats read and write. const char * parameter.
Definition aomcx.h:1368
@ AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id, int parameter. Spatial layer id must be withi...
Definition aomcx.h:204
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size, int parameter.
Definition aomcx.h:851
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions, int parameter.
Definition aomcx.h:829
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled,...
Definition aomcx.h:1142
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms, int parameter.
Definition aomcx.h:879
@ AOME_SET_TUNING
Codec control function to set visual tuning, aom_tune_metric (int) parameter.
Definition aomcx.h:284
@ 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:639
@ 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:586
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set, int parameter.
Definition aomcx.h:1196
@ AV1E_SET_DELTAQ_STRENGTH
Set –deltaq-mode strength.
Definition aomcx.h:1403
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use of bwd-pred frames, unsigned int parameter.
Definition aomcx.h:662
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes, int parameter.
Definition aomcx.h:1202
@ AV1E_SET_LOOPFILTER_CONTROL
Codec control to control loop filter.
Definition aomcx.h:1412
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames, unsigned int parameter.
Definition aomcx.h:230
@ 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:257
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns. unsigned int parameter.
Definition aomcx.h:386
@ 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:1374
@ 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:1318
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint (int parameter). Affects: joint compound mod...
Definition aomcx.h:868
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode, unsigned int parameter.
Definition aomcx.h:1134
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence, int parameter.
Definition aomcx.h:1031
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters, const char* parameter.
Definition aomcx.h:1181
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness, unsigned int parameter.
Definition aomcx.h:746
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame, int parameter.
Definition aomcx.h:1223
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings, int parameter.
Definition aomcx.h:222
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode, unsigned int parameter.
Definition aomcx.h:345
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence, int parameter.
Definition aomcx.h:981
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size, unsigned int parameter.
Definition aomcx.h:1187
@ 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:1297
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition aomcx.h:734
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices, unsigned int parameter.
Definition aomcx.h:721
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for filtered ALTREF frames,...
Definition aomcx.h:1109
@ AV1E_SET_SKIP_POSTPROC_FILTERING
Codec control function to skip the application of post-processing filters on reconstructed frame,...
Definition aomcx.h:1476
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers, int parameter.
Definition aomcx.h:317
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode, unsigned int parameter.
Definition aomcx.h:1152
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions, int parameter.
Definition aomcx.h:813
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info, int parameter.
Definition aomcx.h:533
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level, unsigned int parameter.
Definition aomcx.h:294
@ 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:1392
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode, unsigned int parameter.
Definition aomcx.h:1247
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level, int parameter.
Definition aomcx.h:1054
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder, unsigned int parameter.
Definition aomcx.h:1307
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio, unsigned int parameter Take integer values....
Definition aomcx.h:1272
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode, unsigned int parameter.
Definition aomcx.h:359
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf, unsigned int parameter.
Definition aomcx.h:275
#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:1541
unsigned int rows
Definition aomcx.h:1544
unsigned int cols
Definition aomcx.h:1545
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition aomcx.h:1543
Callback function set for external partition model.
Definition aom_external_partition.h:410
aom region of interest map
Definition aomcx.h:1524
unsigned int cols
Definition aomcx.h:1528
int delta_lf[8]
Definition aomcx.h:1530
unsigned int static_threshold[8]
Definition aomcx.h:1532
unsigned int rows
Definition aomcx.h:1527
unsigned char * roi_map
Definition aomcx.h:1526
int delta_q[8]
Definition aomcx.h:1529
aom image scaling mode
Definition aomcx.h:1553
AOM_SCALING_MODE v_scaling_mode
Definition aomcx.h:1555
AOM_SCALING_MODE h_scaling_mode
Definition aomcx.h:1554
Definition aomcx.h:1611
int temporal_layer_id
Definition aomcx.h:1613
int spatial_layer_id
Definition aomcx.h:1612
Definition aomcx.h:1617
int max_quantizers[32]
Definition aomcx.h:1632
int number_spatial_layers
Definition aomcx.h:1624
int layer_target_bitrate[32]
Definition aomcx.h:1637
int framerate_factor[8]
Definition aomcx.h:1639
int min_quantizers[32]
Definition aomcx.h:1633
int scaling_factor_den[4]
Definition aomcx.h:1635
int number_temporal_layers
Definition aomcx.h:1631
int scaling_factor_num[4]
Definition aomcx.h:1634
Definition aomcx.h:1653
int use_comp_pred[3]
Definition aomcx.h:1656
Definition aomcx.h:1643
int reference[7]
Definition aomcx.h:1646
int refresh[8]
Definition aomcx.h:1649
int ref_idx[7]
Definition aomcx.h:1648