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 
1659 
1660  // Any new encoder control IDs should be added above.
1661  // Maximum allowed encoder control ID is 229.
1662  // No encoder control ID should be added below.
1663 };
1664 
1669 typedef enum aom_scaling_mode_1d {
1670  AOME_NORMAL = 0,
1671  AOME_FOURFIVE = 1,
1672  AOME_THREEFIVE = 2,
1673  AOME_THREEFOUR = 3,
1674  AOME_ONEFOUR = 4,
1675  AOME_ONEEIGHT = 5,
1676  AOME_ONETWO = 6,
1677  AOME_TWOTHREE = 7,
1678  AOME_ONETHREE = 8
1680 
1688 #define AOM_MAX_SEGMENTS 8
1689 
1694 typedef struct aom_roi_map {
1696  uint8_t enabled;
1698  unsigned char *roi_map;
1699  unsigned int rows;
1700  unsigned int cols;
1709 
1716 typedef struct aom_active_map {
1718  unsigned char *active_map;
1719  unsigned int rows;
1720  unsigned int cols;
1722 
1728 typedef struct aom_scaling_mode {
1732 
1734 typedef enum {
1735  AOM_CONTENT_DEFAULT,
1736  AOM_CONTENT_SCREEN,
1737  AOM_CONTENT_FILM,
1738  AOM_CONTENT_INVALID
1740 
1742 typedef enum {
1748 
1750 typedef enum {
1751  AOM_TIMING_UNSPECIFIED,
1752  AOM_TIMING_EQUAL,
1753  AOM_TIMING_DEC_MODEL
1755 
1777 typedef enum {
1778  AOM_TUNE_PSNR = 0,
1779  AOM_TUNE_SSIM = 1,
1780  /* NOTE: enums 2 and 3 unused */
1781  AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1782  AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1783  AOM_TUNE_VMAF_MAX_GAIN = 6,
1784  AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1785  AOM_TUNE_BUTTERAUGLI = 8,
1786  AOM_TUNE_VMAF_SALIENCY_MAP = 9,
1788 #define AOM_HAVE_TUNE_IQ 1
1789  /* "Image Quality" tuning mode. Increases image quality and consistency,
1790  * guided by the SSIMULACRA 2 metric and subjective quality checks. Shares
1791  * the rdmult code with AOM_TUNE_SSIM.
1792  * Note: AOM_TUNE_IQ is only meant to be used to encode a still image or a
1793  * layered AVIF image.
1794  */
1795  AOM_TUNE_IQ = 10,
1798 #define AOM_HAVE_TUNE_SSIMULACRA2 1
1799  /* A tuning mode that optimizes for maximum SSIMULACRA 2 scores. Shares the
1800  * rdmult code with AOM_TUNE_SSIM.
1801  * Unlike metrics like AOM_TUNE_VMAF_* or AOM_TUNE_BUTTERAUGLI,
1802  * AOM_TUNE_SSIMULACRA2 doesn't use the SSIMULACRA 2 metric for
1803  * rate-distortion optimization decisions. Instead, the tuning mode relies
1804  * purely on hand-crafted heuristics. This means no additional external
1805  * dependencies are required.
1806  * AOM_TUNE_SSIMULACRA2 shares most of the tweaks and optimizations with
1807  * AOM_TUNE_IQ. However, AOM_TUNE_SSIMULACRA2 fine-tunes the encoder in ways
1808  * that have been shown to not come with a corresponding positive impact on
1809  * subjective quality in human evaluations.
1810  * Note: AOM_TUNE_SSIMULACRA2 is only meant to be used to encode a still
1811  * image or a layered AVIF image.
1812  */
1813  AOM_TUNE_SSIMULACRA2 = 11,
1814 } aom_tune_metric;
1815 
1824 typedef enum {
1825  // Use PSNR for in-block rate-distortion optimization.
1826  AOM_DIST_METRIC_PSNR,
1827  // Use quantization matrix-weighted PSNR for in-block rate-distortion
1828  // optimization. If --enable-qm=1 is not specified, this falls back to
1829  // behaving in the same way as AOM_DIST_METRIC_PSNR.
1830  AOM_DIST_METRIC_QM_PSNR,
1831 } aom_dist_metric;
1832 
1833 #define AOM_MAX_LAYERS 32
1834 #define AOM_MAX_SS_LAYERS 4
1835 #define AOM_MAX_TS_LAYERS 8
1838 typedef struct aom_svc_layer_id {
1842 
1849 typedef struct aom_svc_params {
1877 
1880  // Three arrays need to be set: reference[], ref_id[], refresh[].
1881  // reference[i]: is a boolean flag to indicate which of the 7 possible
1882  // references are used for prediction. Values are 0 (not used as reference)
1883  // or 1 (use as reference). The index 0 - 6 refers to the references:
1884  // last(0), last2(1), last3(2), golden(3), bwdref(4), altref2(5), altref(6).
1885  // ref_idx[i]: maps a reference to one of the 8 buffers slots, values are
1886  // 0 - 7. The ref_idx for a unused reference (reference[i] = 1, and not used
1887  // for refresh, see below) can be set to the ref_idx of the first reference
1888  // used (usually LAST).
1889  // refresh[i] is a boolean flag to indicate if a buffer is updated/refreshed
1890  // with the current encoded frame. Values are 0 (no refresh) or 1 (refresh).
1891  // The refresh is done internally by looking at the ref_idx[j], for j = 0 - 6,
1892  // so to refresh a buffer slot (i) a reference must be mapped to that slot
1893  // (i = ref_idx[j]).
1894  // Examples for usage (for RTC encoding) are in: examples/svc_encoder_rtc.c.
1895  int reference[7];
1897  int ref_idx[7];
1898  int refresh[8];
1900 
1903  // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1904  // LAST2_LAST (1), and ALTREF_LAST (2).
1905  int use_comp_pred[3];
1907 
1909 typedef enum {
1913 
1920 typedef struct aom_gop_info {
1921  int gop_size;
1923  int coding_index[250];
1925  int display_index[250];
1927  int layer_depth[250];
1929 
1943 #define AOM_CTRL_AOME_USE_REFERENCE
1944 
1946 #define AOM_CTRL_AOME_SET_ROI_MAP
1947 
1949 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1950 
1952 #define AOM_CTRL_AOME_SET_SCALEMODE
1953 
1955 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1956 
1958 #define AOM_CTRL_AOME_SET_CPUUSED
1959 
1961 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1962 
1964 #define AOM_CTRL_AOME_SET_SHARPNESS
1965 
1967 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1968 
1970 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1971 
1973 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1974 
1976 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1977 
1979 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1980 
1981 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1982 #define AOM_CTRL_AOME_SET_TUNING
1983 
1984 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1985 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1986 
1988 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1989 
1991 #define AOM_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1992 // TODO(aomedia:3231): Deprecated. Remove it.
1993 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1994 
1995 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1996 #define AOM_CTRL_AV1E_SET_MAX_INTER_BITRATE_PCT
1997 // TODO(aomedia:3231): Deprecated. Remove it.
1998 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1999 
2001 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
2002 
2003 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
2004 #define AOM_CTRL_AV1E_SET_LOSSLESS
2005 
2006 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
2007 #define AOM_CTRL_AV1E_SET_ROW_MT
2008 
2010 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
2011 
2013 #define AOM_CTRL_AV1E_SET_TILE_ROWS
2014 
2016 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
2017 
2019 #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
2020 
2022 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
2023 
2025 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
2026 
2028 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
2029 
2030 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
2031 #define AOM_CTRL_AV1E_SET_AQ_MODE
2032 
2034 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
2035 
2037 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
2038 
2039 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
2040 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
2041 
2043 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
2044 
2046 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
2047 
2049 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
2050 
2052 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
2053 
2055 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
2056 
2058 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
2059 
2061 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
2062 
2064 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
2065 
2067 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
2068 
2070 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
2071 
2073 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
2074 
2076 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
2077 
2079 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
2080 
2082 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
2083 
2085 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
2086 
2088 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
2089 
2091 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
2092 
2094 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
2095 
2097 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
2098 
2100 #define AOM_CTRL_AV1E_SET_ENABLE_QM
2101 
2102 // TODO(aomedia:3231): Remove these two lines.
2103 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
2104 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
2105 
2106 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
2107 #define AOM_CTRL_AV1E_SET_QM_MIN
2108 
2109 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
2110 #define AOM_CTRL_AV1E_SET_QM_MAX
2111 
2112 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
2113 #define AOM_CTRL_AV1E_SET_QM_Y
2114 
2115 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
2116 #define AOM_CTRL_AV1E_SET_QM_U
2117 
2118 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
2119 #define AOM_CTRL_AV1E_SET_QM_V
2120 
2121 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
2122 #define AOM_CTRL_AV1E_SET_NUM_TG
2123 
2124 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
2125 #define AOM_CTRL_AV1E_SET_MTU
2126 
2128 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
2129 
2131 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
2132 
2134 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
2135 
2137 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
2138 
2140 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
2141 
2143 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
2144 
2146 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
2147 
2149 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
2150 
2152 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
2153 
2155 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
2156 
2158 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
2159 
2161 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
2162 
2164 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
2165 
2167 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
2168 
2170 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
2171 
2173 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
2174 
2176 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
2177 
2179 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
2180 
2182 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
2183 
2185 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
2186 
2188 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
2189 
2191 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
2192 
2194 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
2195 
2197 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
2198 
2200 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
2201 
2203 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
2204 
2206 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
2207 
2209 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
2210 
2212 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
2213 
2215 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
2216 
2218 #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
2219 
2221 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
2222 
2224 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
2225 
2227 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
2228 
2230 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
2231 
2233 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
2234 
2236 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
2237 
2239 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
2240 
2241 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
2242 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
2243 
2245 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
2246 
2248 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
2249 
2251 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
2252 
2254 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
2255 
2257 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
2258 
2260 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
2261 
2263 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
2264 
2266 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
2267 
2269 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
2270 
2272 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
2273 
2275 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
2276 
2278 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
2279 
2281 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
2282 
2284 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
2285 
2287 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
2288 
2290 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
2291 
2293 #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
2294 
2296 #define AOM_CTRL_AV1E_SET_TIER_MASK
2297 
2298 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
2299 #define AOM_CTRL_AV1E_SET_MIN_CR
2300 
2302 #define AOM_CTRL_AV1E_SET_SVC_LAYER_ID
2303 // TODO(aomedia:3231): Deprecated. Remove it.
2304 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
2305 
2307 #define AOM_CTRL_AV1E_SET_SVC_PARAMS
2308 // TODO(aomedia:3231): Deprecated. Remove it.
2309 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
2310 
2312 #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2313 // TODO(aomedia:3231): Deprecated. Remove it.
2314 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2315 
2317 #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
2318 
2320 #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
2321 
2323 #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
2324 
2326 #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
2327 
2329 #define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
2330 
2332 #define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
2333 
2334 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
2335 #define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
2336 
2338 #define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
2339 
2341 #define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
2342 
2344 #define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
2345 
2347 #define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
2348 
2350 #define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
2351 
2353 #define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
2354 
2357 #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2358 // TODO(aomedia:3231): Deprecated. Remove it.
2359 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2360 
2362 #define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
2363 
2365 #define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
2366 
2368 #define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
2369 
2371 #define AOM_CTRL_AOME_SET_VALIDATE_HBD_INPUT
2372 
2374 #define AOM_CTRL_AV1E_SET_AUTO_INTRA_TOOLS_OFF
2375 
2377 #define AOM_CTRL_AV1E_SET_RTC_EXTERNAL_RC
2378 
2379 AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT, unsigned int)
2380 #define AOM_CTRL_AV1E_SET_FP_MT
2381 
2383 #define AOM_CTRL_AV1E_SET_FP_MT_UNIT_TEST
2384 
2386 #define AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX
2387 
2389 #define AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS
2390 
2392 #define AOM_CTRL_AV1E_SET_SKIP_POSTPROC_FILTERING
2393 
2395 #define AOM_CTRL_AV1E_ENABLE_SB_QP_SWEEP
2396 
2398 #define AOM_CTRL_AV1E_SET_QUANTIZER_ONE_PASS
2399 
2401 #define AOM_CTRL_AV1E_ENABLE_RATE_GUIDE_DELTAQ
2402 
2404 #define AOM_CTRL_AV1E_SET_RATE_DISTRIBUTION_INFO
2405 
2407 #define AOM_CTRL_AV1E_GET_LUMA_CDEF_STRENGTH
2408 
2410 #define AOM_CTRL_AV1E_SET_BITRATE_ONE_PASS_CBR
2411 
2413 #define AOM_CTRL_AV1E_SET_SVC_FRAME_DROP_MODE
2414 
2416 #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR
2417 
2419 #define AOM_CTRL_AV1E_SET_AUTO_TILES
2420 
2422 #define AOM_CTRL_AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
2423 
2425 #define AOM_CTRL_AV1E_SET_POSTENCODE_DROP_RTC
2426 
2428 #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
2429 
2431 #define AOM_CTRL_AV1E_SET_ENABLE_LOW_COMPLEXITY_DECODE
2432 
2434  int) /* aom_screen_detection_mode */
2435 #define AOM_CTRL_SET_SCREEN_CONTENT_DETECTION_MODE
2436 
2438 #define AOM_CTRL_AV1E_SET_ENABLE_ADAPTIVE_SHARPNESS
2439 
2441 #define AOM_CTRL_AV1E_SET_EXTERNAL_RATE_CONTROL
2442 
2444 #define AOM_CTRL_AV1E_GET_GOP_INFO
2445 
2447 #define AOM_CTRL_AV1E_SET_MODE_REF_DELTA_ENABLED
2448 
2451 #ifdef __cplusplus
2452 } // extern "C"
2453 #endif
2454 
2455 #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:1909
aom_dist_metric
Distortion metric to use for RD optimization.
Definition: aomcx.h:1824
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:1669
#define AOM_MAX_LAYERS
Definition: aomcx.h:1833
struct aom_svc_params aom_svc_params_t
Parameter type for SVC.
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1688
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1835
aom_tune_content
AV1 encoder content type.
Definition: aomcx.h:1734
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:1834
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:1777
struct aom_roi_map aom_roi_map_t
aom region of interest map
aom_screen_detection_mode
Screen content detection mode.
Definition: aomcx.h:1742
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:1750
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:1911
@ AOM_LAYER_DROP
Definition: aomcx.h:1910
@ AOM_SCREEN_DETECTION_STANDARD
Definition: aomcx.h:1744
@ AOM_SCREEN_DETECTION_ANTIALIASING_AWARE
Definition: aomcx.h:1746
@ 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
@ AV1E_SET_MODE_REF_DELTA_ENABLED
Codec control function to toggle loopfilter mode_ref_delta_enabled, int parameter.
Definition: aomcx.h:1658
@ 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, int parameter.
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:1716
unsigned int rows
Definition: aomcx.h:1719
unsigned int cols
Definition: aomcx.h:1720
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1718
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:1920
int layer_depth[250]
Definition: aomcx.h:1927
int gop_size
Definition: aomcx.h:1921
int display_index[250]
Definition: aomcx.h:1925
int coding_index[250]
Definition: aomcx.h:1923
aom region of interest map
Definition: aomcx.h:1694
unsigned int cols
Definition: aomcx.h:1700
int delta_lf[8]
Definition: aomcx.h:1702
int reference_enabled
Definition: aomcx.h:1706
int ref_frame[8]
Definition: aomcx.h:1704
unsigned int rows
Definition: aomcx.h:1699
unsigned char * roi_map
Definition: aomcx.h:1698
int delta_qp_enabled
Definition: aomcx.h:1705
int delta_q[8]
Definition: aomcx.h:1701
uint8_t enabled
Definition: aomcx.h:1696
int rdmult_delta_qp
Definition: aomcx.h:1707
int skip[8]
Definition: aomcx.h:1703
aom image scaling mode
Definition: aomcx.h:1728
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1730
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1729
Struct for spatial and temporal layer ID.
Definition: aomcx.h:1838
int temporal_layer_id
Definition: aomcx.h:1840
int spatial_layer_id
Definition: aomcx.h:1839
Parameter type for SVC.
Definition: aomcx.h:1849
int max_quantizers[32]
Definition: aomcx.h:1864
int number_spatial_layers
Definition: aomcx.h:1856
int layer_target_bitrate[32]
Definition: aomcx.h:1873
int framerate_factor[8]
Definition: aomcx.h:1875
int min_quantizers[32]
Definition: aomcx.h:1865
int scaling_factor_den[4]
Definition: aomcx.h:1871
int number_temporal_layers
Definition: aomcx.h:1863
int scaling_factor_num[4]
Definition: aomcx.h:1867
Parameters for setting ref frame compound prediction.
Definition: aomcx.h:1902
int use_comp_pred[3]
Definition: aomcx.h:1905
Parameters for setting ref frame config.
Definition: aomcx.h:1879
int reference[7]
Definition: aomcx.h:1895
int refresh[8]
Definition: aomcx.h:1898
int ref_idx[7]
Definition: aomcx.h:1897