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"
21 #include "aom/aom_ext_ratectrl.h"
23 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
57 
63 /*
64  * Algorithm Flags
65  */
66 
73 #define AOM_EFLAG_NO_REF_LAST (1 << 16)
80 #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
87 #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
94 #define AOM_EFLAG_NO_REF_GF (1 << 19)
95 
102 #define AOM_EFLAG_NO_REF_ARF (1 << 20)
109 #define AOM_EFLAG_NO_REF_BWD (1 << 21)
116 #define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
117 
123 #define AOM_EFLAG_NO_UPD_LAST (1 << 23)
124 
130 #define AOM_EFLAG_NO_UPD_GF (1 << 24)
131 
137 #define AOM_EFLAG_NO_UPD_ARF (1 << 25)
143 #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
149 #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
155 #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
161 #define AOM_EFLAG_SET_S_FRAME (1 << 29)
167 #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
168 
182 
187 
192 
193  /* NOTE: enum 10 unused */
194 
199 
206 
224 
232 
233  /* NOTE: enum 15 unused */
234 
251 
256 
257  /* NOTE: enum 18 unused */
258 
265 
273 
278 
283 
284  /* NOTE: enum 23 unused */
285 
292 
302 
316 
325 
339 
353 
354  /* NOTE: enum 30 unused */
355 
367 
375 
394 
412 
422 
431 
445 
456 
467 
482 
494 
502 
511 
520 
541 
566 
587 
594 
601 
608 
613 
620 
627 
650 
657 
665 
673 
685 
695 
702 
712 
722 
733 
746 
758 
770 
782 
794 
795  /* NOTE: enum 69 unused */
796 
804 
815 
816  /* NOTE: enum 72 unused */
817 
825 
833 
841 
852 
863 
871 
880 
891 
915 
927 
939 
950 
961 
969 
977 
985 
993 
1001 
1009 
1017 
1025 
1033 
1043 
1053 
1066 
1074 
1085 
1093 
1103 
1111 
1121 
1124 
1128 
1132 
1152 
1160 
1170 
1181 
1187 
1194 
1199 
1202 
1205 
1208 
1211 
1214 
1217 
1220 
1224 
1227 
1234 
1241 
1245 
1255 
1265 
1275 
1283 
1290 
1291  /* NOTE: enums 145-149 unused */
1292 
1299 
1304 
1309 
1314 
1324 
1335 
1342 
1347 
1351 
1352  /*\brief Control to set encoding the denoised frame from denoise-noise-level
1353  *
1354  * - 0 = disabled/encode the original frame
1355  * - 1 = enabled/encode the denoised frame (default)
1356  */
1357  AV1E_SET_ENABLE_DNL_DENOISING = 140,
1358 
1370 
1380 
1385 
1391 
1399 
1409 
1414 
1421 
1430 
1435 
1442 
1450 
1458 
1469 
1478 
1483 
1494 
1505 
1513 
1525 
1537 
1543 
1551 
1558 
1564 
1572 
1579 
1588 
1594 
1599 
1609 
1625 
1633 
1641 
1649 
1650  // Any new encoder control IDs should be added above.
1651  // Maximum allowed encoder control ID is 229.
1652  // No encoder control ID should be added below.
1653 };
1654 
1659 typedef enum aom_scaling_mode_1d {
1660  AOME_NORMAL = 0,
1661  AOME_FOURFIVE = 1,
1662  AOME_THREEFIVE = 2,
1663  AOME_THREEFOUR = 3,
1664  AOME_ONEFOUR = 4,
1665  AOME_ONEEIGHT = 5,
1666  AOME_ONETWO = 6,
1667  AOME_TWOTHREE = 7,
1668  AOME_ONETHREE = 8
1670 
1678 #define AOM_MAX_SEGMENTS 8
1679 
1684 typedef struct aom_roi_map {
1686  uint8_t enabled;
1688  unsigned char *roi_map;
1689  unsigned int rows;
1690  unsigned int cols;
1699 
1706 typedef struct aom_active_map {
1708  unsigned char *active_map;
1709  unsigned int rows;
1710  unsigned int cols;
1712 
1718 typedef struct aom_scaling_mode {
1722 
1724 typedef enum {
1725  AOM_CONTENT_DEFAULT,
1726  AOM_CONTENT_SCREEN,
1727  AOM_CONTENT_FILM,
1728  AOM_CONTENT_INVALID
1730 
1732 typedef enum {
1738 
1740 typedef enum {
1741  AOM_TIMING_UNSPECIFIED,
1742  AOM_TIMING_EQUAL,
1743  AOM_TIMING_DEC_MODEL
1745 
1767 typedef enum {
1768  AOM_TUNE_PSNR = 0,
1769  AOM_TUNE_SSIM = 1,
1770  /* NOTE: enums 2 and 3 unused */
1771  AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1772  AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1773  AOM_TUNE_VMAF_MAX_GAIN = 6,
1774  AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1775  AOM_TUNE_BUTTERAUGLI = 8,
1776  AOM_TUNE_VMAF_SALIENCY_MAP = 9,
1778 #define AOM_HAVE_TUNE_IQ 1
1779  /* "Image Quality" tuning mode. Increases image quality and consistency,
1780  * guided by the SSIMULACRA 2 metric and subjective quality checks. Shares
1781  * the rdmult code with AOM_TUNE_SSIM.
1782  * Note: AOM_TUNE_IQ is only meant to be used to encode a still image or a
1783  * layered AVIF image.
1784  */
1785  AOM_TUNE_IQ = 10,
1788 #define AOM_HAVE_TUNE_SSIMULACRA2 1
1789  /* A tuning mode that optimizes for maximum SSIMULACRA 2 scores. Shares the
1790  * rdmult code with AOM_TUNE_SSIM.
1791  * Unlike metrics like AOM_TUNE_VMAF_* or AOM_TUNE_BUTTERAUGLI,
1792  * AOM_TUNE_SSIMULACRA2 doesn't use the SSIMULACRA 2 metric for
1793  * rate-distortion optimization decisions. Instead, the tuning mode relies
1794  * purely on hand-crafted heuristics. This means no additional external
1795  * dependencies are required.
1796  * AOM_TUNE_SSIMULACRA2 shares most of the tweaks and optimizations with
1797  * AOM_TUNE_IQ. However, AOM_TUNE_SSIMULACRA2 fine-tunes the encoder in ways
1798  * that have been shown to not come with a corresponding positive impact on
1799  * subjective quality in human evaluations.
1800  * Note: AOM_TUNE_SSIMULACRA2 is only meant to be used to encode a still
1801  * image or a layered AVIF image.
1802  */
1803  AOM_TUNE_SSIMULACRA2 = 11,
1804 } aom_tune_metric;
1805 
1814 typedef enum {
1815  // Use PSNR for in-block rate-distortion optimization.
1816  AOM_DIST_METRIC_PSNR,
1817  // Use quantization matrix-weighted PSNR for in-block rate-distortion
1818  // optimization. If --enable-qm=1 is not specified, this falls back to
1819  // behaving in the same way as AOM_DIST_METRIC_PSNR.
1820  AOM_DIST_METRIC_QM_PSNR,
1821 } aom_dist_metric;
1822 
1823 #define AOM_MAX_LAYERS 32
1824 #define AOM_MAX_SS_LAYERS 4
1825 #define AOM_MAX_TS_LAYERS 8
1828 typedef struct aom_svc_layer_id {
1832 
1839 typedef struct aom_svc_params {
1867 
1870  // Three arrays need to be set: reference[], ref_id[], refresh[].
1871  // reference[i]: is a boolean flag to indicate which of the 7 possible
1872  // references are used for prediction. Values are 0 (not used as reference)
1873  // or 1 (use as reference). The index 0 - 6 refers to the references:
1874  // last(0), last2(1), last3(2), golden(3), bwdref(4), altref2(5), altref(6).
1875  // ref_idx[i]: maps a reference to one of the 8 buffers slots, values are
1876  // 0 - 7. The ref_idx for a unused reference (reference[i] = 1, and not used
1877  // for refresh, see below) can be set to the ref_idx of the first reference
1878  // used (usually LAST).
1879  // refresh[i] is a boolean flag to indicate if a buffer is updated/refreshed
1880  // with the current encoded frame. Values are 0 (no refresh) or 1 (refresh).
1881  // The refresh is done internally by looking at the ref_idx[j], for j = 0 - 6,
1882  // so to refresh a buffer slot (i) a reference must be mapped to that slot
1883  // (i = ref_idx[j]).
1884  // Examples for usage (for RTC encoding) are in: examples/svc_encoder_rtc.c.
1885  int reference[7];
1887  int ref_idx[7];
1888  int refresh[8];
1890 
1893  // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1894  // LAST2_LAST (1), and ALTREF_LAST (2).
1895  int use_comp_pred[3];
1897 
1899 typedef enum {
1903 
1910 typedef struct aom_gop_info {
1911  int gop_size;
1913  int coding_index[250];
1915  int display_index[250];
1917  int layer_depth[250];
1919 
1933 #define AOM_CTRL_AOME_USE_REFERENCE
1934 
1936 #define AOM_CTRL_AOME_SET_ROI_MAP
1937 
1939 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1940 
1942 #define AOM_CTRL_AOME_SET_SCALEMODE
1943 
1945 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1946 
1948 #define AOM_CTRL_AOME_SET_CPUUSED
1949 
1951 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1952 
1954 #define AOM_CTRL_AOME_SET_SHARPNESS
1955 
1957 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1958 
1960 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1961 
1963 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1964 
1966 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1967 
1969 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1970 
1971 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1972 #define AOM_CTRL_AOME_SET_TUNING
1973 
1974 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1975 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1976 
1978 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1979 
1981 #define AOM_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1982 // TODO(aomedia:3231): Deprecated. Remove it.
1983 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1984 
1985 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1986 #define AOM_CTRL_AV1E_SET_MAX_INTER_BITRATE_PCT
1987 // TODO(aomedia:3231): Deprecated. Remove it.
1988 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1989 
1991 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1992 
1993 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1994 #define AOM_CTRL_AV1E_SET_LOSSLESS
1995 
1996 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1997 #define AOM_CTRL_AV1E_SET_ROW_MT
1998 
2000 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
2001 
2003 #define AOM_CTRL_AV1E_SET_TILE_ROWS
2004 
2006 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
2007 
2009 #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
2010 
2012 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
2013 
2015 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
2016 
2018 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
2019 
2020 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
2021 #define AOM_CTRL_AV1E_SET_AQ_MODE
2022 
2024 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
2025 
2027 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
2028 
2029 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
2030 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
2031 
2033 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
2034 
2036 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
2037 
2039 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
2040 
2042 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
2043 
2045 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
2046 
2048 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
2049 
2051 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
2052 
2054 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
2055 
2057 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
2058 
2060 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
2061 
2063 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
2064 
2066 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
2067 
2069 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
2070 
2072 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
2073 
2075 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
2076 
2078 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
2079 
2081 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
2082 
2084 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
2085 
2087 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
2088 
2090 #define AOM_CTRL_AV1E_SET_ENABLE_QM
2091 
2092 // TODO(aomedia:3231): Remove these two lines.
2093 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
2094 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
2095 
2096 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
2097 #define AOM_CTRL_AV1E_SET_QM_MIN
2098 
2099 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
2100 #define AOM_CTRL_AV1E_SET_QM_MAX
2101 
2102 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
2103 #define AOM_CTRL_AV1E_SET_QM_Y
2104 
2105 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
2106 #define AOM_CTRL_AV1E_SET_QM_U
2107 
2108 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
2109 #define AOM_CTRL_AV1E_SET_QM_V
2110 
2111 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
2112 #define AOM_CTRL_AV1E_SET_NUM_TG
2113 
2114 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
2115 #define AOM_CTRL_AV1E_SET_MTU
2116 
2118 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
2119 
2121 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
2122 
2124 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
2125 
2127 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
2128 
2130 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
2131 
2133 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
2134 
2136 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
2137 
2139 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
2140 
2142 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
2143 
2145 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
2146 
2148 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
2149 
2151 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
2152 
2154 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
2155 
2157 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
2158 
2160 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
2161 
2163 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
2164 
2166 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
2167 
2169 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
2170 
2172 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
2173 
2175 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
2176 
2178 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
2179 
2181 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
2182 
2184 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
2185 
2187 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
2188 
2190 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
2191 
2193 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
2194 
2196 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
2197 
2199 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
2200 
2202 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
2203 
2205 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
2206 
2208 #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
2209 
2211 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
2212 
2214 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
2215 
2217 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
2218 
2220 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
2221 
2223 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
2224 
2226 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
2227 
2229 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
2230 
2231 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
2232 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
2233 
2235 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
2236 
2238 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
2239 
2241 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
2242 
2244 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
2245 
2247 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
2248 
2250 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
2251 
2253 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
2254 
2256 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
2257 
2259 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
2260 
2262 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
2263 
2265 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
2266 
2268 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
2269 
2271 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
2272 
2274 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
2275 
2277 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
2278 
2280 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
2281 
2283 #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
2284 
2286 #define AOM_CTRL_AV1E_SET_TIER_MASK
2287 
2288 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
2289 #define AOM_CTRL_AV1E_SET_MIN_CR
2290 
2292 #define AOM_CTRL_AV1E_SET_SVC_LAYER_ID
2293 // TODO(aomedia:3231): Deprecated. Remove it.
2294 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
2295 
2297 #define AOM_CTRL_AV1E_SET_SVC_PARAMS
2298 // TODO(aomedia:3231): Deprecated. Remove it.
2299 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
2300 
2302 #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2303 // TODO(aomedia:3231): Deprecated. Remove it.
2304 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2305 
2307 #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
2308 
2310 #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
2311 
2313 #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
2314 
2316 #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
2317 
2319 #define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
2320 
2322 #define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
2323 
2324 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
2325 #define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
2326 
2328 #define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
2329 
2331 #define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
2332 
2334 #define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
2335 
2337 #define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
2338 
2340 #define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
2341 
2343 #define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
2344 
2347 #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2348 // TODO(aomedia:3231): Deprecated. Remove it.
2349 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2350 
2352 #define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
2353 
2355 #define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
2356 
2358 #define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
2359 
2361 #define AOM_CTRL_AOME_SET_VALIDATE_HBD_INPUT
2362 
2364 #define AOM_CTRL_AV1E_SET_AUTO_INTRA_TOOLS_OFF
2365 
2367 #define AOM_CTRL_AV1E_SET_RTC_EXTERNAL_RC
2368 
2369 AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT, unsigned int)
2370 #define AOM_CTRL_AV1E_SET_FP_MT
2371 
2373 #define AOM_CTRL_AV1E_SET_FP_MT_UNIT_TEST
2374 
2376 #define AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX
2377 
2379 #define AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS
2380 
2382 #define AOM_CTRL_AV1E_SET_SKIP_POSTPROC_FILTERING
2383 
2385 #define AOM_CTRL_AV1E_ENABLE_SB_QP_SWEEP
2386 
2388 #define AOM_CTRL_AV1E_SET_QUANTIZER_ONE_PASS
2389 
2391 #define AOM_CTRL_AV1E_ENABLE_RATE_GUIDE_DELTAQ
2392 
2394 #define AOM_CTRL_AV1E_SET_RATE_DISTRIBUTION_INFO
2395 
2397 #define AOM_CTRL_AV1E_GET_LUMA_CDEF_STRENGTH
2398 
2400 #define AOM_CTRL_AV1E_SET_BITRATE_ONE_PASS_CBR
2401 
2403 #define AOM_CTRL_AV1E_SET_SVC_FRAME_DROP_MODE
2404 
2406 #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR
2407 
2409 #define AOM_CTRL_AV1E_SET_AUTO_TILES
2410 
2412 #define AOM_CTRL_AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
2413 
2415 #define AOM_CTRL_AV1E_SET_POSTENCODE_DROP_RTC
2416 
2418 #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
2419 
2421 #define AOM_CTRL_AV1E_SET_ENABLE_LOW_COMPLEXITY_DECODE
2422 
2424  int) /* aom_screen_detection_mode */
2425 #define AOM_CTRL_SET_SCREEN_CONTENT_DETECTION_MODE
2426 
2428 #define AOM_CTRL_AV1E_SET_ENABLE_ADAPTIVE_SHARPNESS
2429 
2431 #define AOM_CTRL_AV1E_SET_EXTERNAL_RATE_CONTROL
2432 
2434 #define AOM_CTRL_AV1E_GET_GOP_INFO
2435 
2438 #ifdef __cplusplus
2439 } // extern "C"
2440 #endif
2441 
2442 #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_SVC_FRAME_DROP_MODE
Frame drop modes for spatial/quality layer SVC.
Definition: aomcx.h:1899
aom_dist_metric
Distortion metric to use for RD optimization.
Definition: aomcx.h:1814
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:1659
#define AOM_MAX_LAYERS
Definition: aomcx.h:1823
struct aom_svc_params aom_svc_params_t
Parameter type for SVC.
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1678
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1825
aom_tune_content
AV1 encoder content type.
Definition: aomcx.h:1724
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:1824
struct aom_gop_info aom_gop_info_t
The GOP structure information determined by the encoder. 250 is MAX_STATIC_GF_GROUP_LENGTH defined in...
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1767
struct aom_roi_map aom_roi_map_t
aom region of interest map
aom_screen_detection_mode
Screen content detection mode.
Definition: aomcx.h:1732
struct aom_svc_layer_id aom_svc_layer_id_t
Struct for spatial and temporal layer ID.
aom_timing_info_type_t
AV1 encoder timing info type signaling.
Definition: aomcx.h:1740
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
Parameters for setting ref frame compound prediction.
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:177
struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
Parameters for setting ref frame config.
@ AOM_FULL_SUPERFRAME_DROP
Definition: aomcx.h:1901
@ AOM_LAYER_DROP
Definition: aomcx.h:1900
@ AOM_SCREEN_DETECTION_STANDARD
Definition: aomcx.h:1734
@ AOM_SCREEN_DETECTION_ANTIALIASING_AWARE
Definition: aomcx.h:1736
@ AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:586
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound, int parameter.
Definition: aomcx.h:1024
@ AV1E_SET_ENABLE_DIAGONAL_INTRA
Codec control function to turn on / off D45 to D203 intra mode usage, int parameter.
Definition: aomcx.h:1369
@ AV1E_SET_BITRATE_ONE_PASS_CBR
Codec control to set the target bitrate in kilobits per second, unsigned int parameter....
Definition: aomcx.h:1550
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:607
@ AV1E_SET_ROW_MT
Codec control function to enable the row based multi-threading of the encoder, unsigned int parameter...
Definition: aomcx.h:374
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage, int parameter.
Definition: aomcx.h:1084
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test, unsigned int parameter.
Definition: aomcx.h:1180
@ AOME_SET_SHARPNESS
Codec control function to set the sharpness parameter, unsigned int parameter.
Definition: aomcx.h:250
@ AV1E_GET_TARGET_SEQ_LEVEL_IDX
Codec control function to get the target sequence level index for each operating point....
Definition: aomcx.h:1477
@ AV1E_SET_RATE_DISTRIBUTION_INFO
Codec control to set the input file for rate distribution used in all intra mode, const char * parame...
Definition: aomcx.h:1536
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency, unsigned int parameter.
Definition: aomcx.h:421
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:272
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode, unsigned int parameter.
Definition: aomcx.h:481
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references, int parameter.
Definition: aomcx.h:1244
@ AV1E_GET_NUM_OPERATING_POINTS
Codec control function to get the number of operating points. int* parameter.
Definition: aomcx.h:1482
@ 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:1298
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use, int parameter.
Definition: aomcx.h:181
@ AV1E_SET_SVC_REF_FRAME_CONFIG
Codec control function to set the reference frame config, aom_svc_ref_frame_config_t* parameter.
Definition: aomcx.h:1308
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1341
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage, int parameter.
Definition: aomcx.h:1092
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type, aom_tune_content parameter.
Definition: aomcx.h:510
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder, aom_roi_map_t* parameter.
Definition: aomcx.h:186
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode, unsigned int parameter.
Definition: aomcx.h:519
@ AV1E_SET_SCREEN_CONTENT_DETECTION_MODE
Codec control to set the screen content detection mode, aom_screen_detection_mode parameter.
Definition: aomcx.h:1608
@ AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR
Codec control to set the maximum number of consecutive frame drops, in units of frames,...
Definition: aomcx.h:1557
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value, unsigned int parameter.
Definition: aomcx.h:1207
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit, int parameter.
Definition: aomcx.h:619
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter, unsigned int parameter.
Definition: aomcx.h:694
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta, int parameter.
Definition: aomcx.h:1131
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:600
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf, unsigned int parameter.
Definition: aomcx.h:277
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors, unsigned int parameter.
Definition: aomcx.h:1274
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes, int parameter.
Definition: aomcx.h:1223
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:565
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group, unsigned int parameter.
Definition: aomcx.h:814
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization, unsigned int parameter.
Definition: aomcx.h:721
@ 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:1413
@ 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:1468
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode, int parameter.
Definition: aomcx.h:1127
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode, int parameter.
Definition: aomcx.h:466
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions, int parameter.
Definition: aomcx.h:832
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence, int parameter.
Definition: aomcx.h:1000
@ 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:1193
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes for a sequence,...
Definition: aomcx.h:976
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual interpolation filter for a sequence, int parameter.
Definition: aomcx.h:968
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:793
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature, unsigned int parameter.
Definition: aomcx.h:444
@ AV1E_GET_LUMA_CDEF_STRENGTH
Codec control to get the CDEF strength for Y / luma plane, int * parameter. Returns an integer array ...
Definition: aomcx.h:1542
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:769
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size, int parameter.
Definition: aomcx.h:851
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level, int parameter.
Definition: aomcx.h:1052
@ AV1E_SET_RTC_EXTERNAL_RC
Codec control function to set flag for rate control used by external encoders.
Definition: aomcx.h:1449
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode, unsigned int parameter.
Definition: aomcx.h:701
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value, unsigned int parameter.
Definition: aomcx.h:1210
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level, int parameter.
Definition: aomcx.h:870
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients, unsigned int parameter.
Definition: aomcx.h:1254
@ AV1E_SET_ENABLE_DIRECTIONAL_INTRA
Codec control function to turn on / off directional intra mode usage, int parameter.
Definition: aomcx.h:1398
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for inter frames, unsigned int parameter.
Definition: aomcx.h:338
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level, int parameter.
Definition: aomcx.h:1201
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes, int parameter.
Definition: aomcx.h:1216
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows, unsigned int parameter.
Definition: aomcx.h:411
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:781
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level,...
Definition: aomcx.h:949
@ 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:1504
@ AV1E_SET_FP_MT
Codec control function to enable frame parallel multi-threading of the encoder, unsigned int paramete...
Definition: aomcx.h:1457
@ 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:984
@ AV1E_GET_ACTIVEMAP
Codec control function to get an active map back from the encoder, aom_active_map_t* parameter.
Definition: aomcx.h:612
@ 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:1346
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1233
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF, unsigned int parameter.
Definition: aomcx.h:684
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms, int parameter.
Definition: aomcx.h:914
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder, aom_active_map_t* parameter.
Definition: aomcx.h:191
@ AV1E_GET_SEQ_LEVEL_IDX
Codec control function to get sequence level index for each operating point. int* parameter....
Definition: aomcx.h:656
@ AOME_GET_LOOPFILTER_LEVEL
Codec control function to get the loopfilter chosen by the encoder, int* parameter.
Definition: aomcx.h:1434
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost, unsigned int parameter.
Definition: aomcx.h:493
@ AV1E_SET_ENABLE_ADAPTIVE_SHARPNESS
Codec control to enable adaptive sharpness, which modulates sharpness based on frame QP,...
Definition: aomcx.h:1624
@ AV1E_SET_DV_COST_UPD_FREQ
Control to set frequency of the cost updates for intrabc motion vectors, unsigned int parameter.
Definition: aomcx.h:1379
@ AV1E_SET_SVC_FRAME_DROP_MODE
Codec control to set the frame drop mode for SVC, unsigned int parameter. The valid values are consta...
Definition: aomcx.h:1563
@ AV1E_SET_AUTO_INTRA_TOOLS_OFF
Codec control to automatically turn off several intra coding tools, unsigned int parameter.
Definition: aomcx.h:1441
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size, int32_t[2] parameter.
Definition: aomcx.h:626
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level,...
Definition: aomcx.h:960
@ AV1E_SET_ENABLE_RECT_TX
Codec control function to turn on / off rectangular transforms, int parameter.
Definition: aomcx.h:926
@ 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:938
@ 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:1186
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution, int parameter.
Definition: aomcx.h:1110
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size, unsigned int parameter.
Definition: aomcx.h:664
@ 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:1282
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound, int parameter.
Definition: aomcx.h:1032
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity, unsigned int parameter.
Definition: aomcx.h:501
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC parameters, aom_svc_params_t* parameter.
Definition: aomcx.h:1303
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound, int parameter.
Definition: aomcx.h:1016
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b, int parameter.
Definition: aomcx.h:1226
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level, int parameter.
Definition: aomcx.h:1073
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode, int parameter.
Definition: aomcx.h:1123
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage, int parameter.
Definition: aomcx.h:1102
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame, unsigned int parameter.
Definition: aomcx.h:430
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups, unsigned int parameter.
Definition: aomcx.h:803
@ AV1E_GET_BASELINE_GF_INTERVAL
Control to get baseline gf interval.
Definition: aomcx.h:1350
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set max data rate for intra frames, unsigned int parameter.
Definition: aomcx.h:315
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode, int parameter.
Definition: aomcx.h:455
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence, int parameter.
Definition: aomcx.h:1008
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static, unsigned int parameter.
Definition: aomcx.h:255
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode, unsigned int parameter.
Definition: aomcx.h:711
@ AV1E_SET_PARTITION_INFO_PATH
Codec control to set the path for partition stats read and write. const char * parameter.
Definition: aomcx.h:1384
@ 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:205
@ AV1E_SET_EXTERNAL_RATE_CONTROL
Codec control function to enable external rate control library.
Definition: aomcx.h:1632
@ AV1E_SET_ENABLE_LOW_COMPLEXITY_DECODE
Codec control to enable the low complexity decode mode, unsigned int parameter. Value of zero means t...
Definition: aomcx.h:1598
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size, int parameter.
Definition: aomcx.h:862
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions, int parameter.
Definition: aomcx.h:840
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled,...
Definition: aomcx.h:1159
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms, int parameter.
Definition: aomcx.h:890
@ AOME_SET_VALIDATE_HBD_INPUT
Codec control function to validate HBD input.
Definition: aomcx.h:1648
@ AV1E_SET_AUTO_TILES
Codec control to set auto tiling, unsigned int parameter. Value of 1 means encoder will set number of...
Definition: aomcx.h:1571
@ AOME_SET_TUNING
Codec control function to set visual tuning, aom_tune_metric (int) parameter.
Definition: aomcx.h:291
@ 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:649
@ 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:593
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set, int parameter.
Definition: aomcx.h:1213
@ AV1E_SET_DELTAQ_STRENGTH
Set –deltaq-mode strength, where the value is a percentage, unsigned int parameter.
Definition: aomcx.h:1420
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use of bwd-pred frames, unsigned int parameter.
Definition: aomcx.h:672
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes, int parameter.
Definition: aomcx.h:1219
@ AV1E_SET_LOOPFILTER_CONTROL
Codec control to control loop filter.
Definition: aomcx.h:1429
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use arf frames, unsigned int parameter.
Definition: aomcx.h:231
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode for the next frame to be coded,...
Definition: aomcx.h:198
@ AV1E_ENABLE_RATE_GUIDE_DELTAQ
Codec control to enable the rate distribution guided delta quantization in all intra mode,...
Definition: aomcx.h:1524
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:264
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns. unsigned int parameter.
Definition: aomcx.h:393
@ 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:1390
@ 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:1334
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint (int parameter). Affects: joint compound mod...
Definition: aomcx.h:879
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode, unsigned int parameter.
Definition: aomcx.h:1151
@ AV1E_SET_POSTENCODE_DROP_RTC
Codec control to enable post encode frame drop for RTC encoding, int parameter.
Definition: aomcx.h:1587
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence, int parameter.
Definition: aomcx.h:1042
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters, const char* parameter.
Definition: aomcx.h:1198
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:757
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame, int parameter.
Definition: aomcx.h:1240
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings, int parameter.
Definition: aomcx.h:223
@ AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
Codec control to get the high motion content flag, used for screen content realtime (RTC) encoding,...
Definition: aomcx.h:1578
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode, unsigned int parameter.
Definition: aomcx.h:352
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence, int parameter.
Definition: aomcx.h:992
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size, unsigned int parameter.
Definition: aomcx.h:1204
@ 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:1313
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:745
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices, unsigned int parameter.
Definition: aomcx.h:732
@ AV1E_GET_GOP_INFO
Codec control function to get GOP structure from the encoder.
Definition: aomcx.h:1640
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for filtered ALTREF frames,...
Definition: aomcx.h:1120
@ AV1E_SET_SKIP_POSTPROC_FILTERING
Codec control function to skip the application of post-processing filters on reconstructed frame,...
Definition: aomcx.h:1493
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers, int parameter.
Definition: aomcx.h:324
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode, unsigned int parameter.
Definition: aomcx.h:1169
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions, int parameter.
Definition: aomcx.h:824
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info, int parameter.
Definition: aomcx.h:540
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level, unsigned int parameter.
Definition: aomcx.h:301
@ AV1E_SET_QUANTIZER_ONE_PASS
Codec control to set quantizer for the next frame, int parameter.
Definition: aomcx.h:1512
@ 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:1408
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode, unsigned int parameter.
Definition: aomcx.h:1264
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level, int parameter.
Definition: aomcx.h:1065
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder, unsigned int parameter.
Definition: aomcx.h:1323
@ AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
Codec control to set the maximum number of consecutive frame drops, in units of time (milliseconds),...
Definition: aomcx.h:1593
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio, unsigned int parameter Take integer values....
Definition: aomcx.h:1289
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode, unsigned int parameter.
Definition: aomcx.h:366
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf, unsigned int parameter.
Definition: aomcx.h:282
#define AOM_CTRL_USE_TYPE(id, typ)
Creates type checking mechanisms for aom_codec_control.
Definition: aom_codec.h:552
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:271
aom active region map
Definition: aomcx.h:1706
unsigned int rows
Definition: aomcx.h:1709
unsigned int cols
Definition: aomcx.h:1710
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1708
Callback function set for external partition model.
Definition: aom_external_partition.h:410
The GOP structure information determined by the encoder. 250 is MAX_STATIC_GF_GROUP_LENGTH defined in...
Definition: aomcx.h:1910
int layer_depth[250]
Definition: aomcx.h:1917
int gop_size
Definition: aomcx.h:1911
int display_index[250]
Definition: aomcx.h:1915
int coding_index[250]
Definition: aomcx.h:1913
aom region of interest map
Definition: aomcx.h:1684
unsigned int cols
Definition: aomcx.h:1690
int delta_lf[8]
Definition: aomcx.h:1692
int reference_enabled
Definition: aomcx.h:1696
int ref_frame[8]
Definition: aomcx.h:1694
unsigned int rows
Definition: aomcx.h:1689
unsigned char * roi_map
Definition: aomcx.h:1688
int delta_qp_enabled
Definition: aomcx.h:1695
int delta_q[8]
Definition: aomcx.h:1691
uint8_t enabled
Definition: aomcx.h:1686
int rdmult_delta_qp
Definition: aomcx.h:1697
int skip[8]
Definition: aomcx.h:1693
aom image scaling mode
Definition: aomcx.h:1718
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1720
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1719
Struct for spatial and temporal layer ID.
Definition: aomcx.h:1828
int temporal_layer_id
Definition: aomcx.h:1830
int spatial_layer_id
Definition: aomcx.h:1829
Parameter type for SVC.
Definition: aomcx.h:1839
int max_quantizers[32]
Definition: aomcx.h:1854
int number_spatial_layers
Definition: aomcx.h:1846
int layer_target_bitrate[32]
Definition: aomcx.h:1863
int framerate_factor[8]
Definition: aomcx.h:1865
int min_quantizers[32]
Definition: aomcx.h:1855
int scaling_factor_den[4]
Definition: aomcx.h:1861
int number_temporal_layers
Definition: aomcx.h:1853
int scaling_factor_num[4]
Definition: aomcx.h:1857
Parameters for setting ref frame compound prediction.
Definition: aomcx.h:1892
int use_comp_pred[3]
Definition: aomcx.h:1895
Parameters for setting ref frame config.
Definition: aomcx.h:1869
int reference[7]
Definition: aomcx.h:1885
int refresh[8]
Definition: aomcx.h:1888
int ref_idx[7]
Definition: aomcx.h:1887