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 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
55 
61 /*
62  * Algorithm Flags
63  */
64 
71 #define AOM_EFLAG_NO_REF_LAST (1 << 16)
78 #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
85 #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
92 #define AOM_EFLAG_NO_REF_GF (1 << 19)
93 
100 #define AOM_EFLAG_NO_REF_ARF (1 << 20)
107 #define AOM_EFLAG_NO_REF_BWD (1 << 21)
114 #define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
115 
121 #define AOM_EFLAG_NO_UPD_LAST (1 << 23)
122 
128 #define AOM_EFLAG_NO_UPD_GF (1 << 24)
129 
135 #define AOM_EFLAG_NO_UPD_ARF (1 << 25)
141 #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
147 #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
153 #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
159 #define AOM_EFLAG_SET_S_FRAME (1 << 29)
165 #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
166 
180 
185 
190 
191  /* NOTE: enum 10 unused */
192 
197 
204 
221 
229 
230  /* NOTE: enum 15 unused */
231 
242 
247 
248  /* NOTE: enum 18 unused */
249 
256 
264 
269 
274 
275  /* NOTE: enum 23 unused */
276 
283 
293 
307 
312 
326 
340 
341  /* NOTE: enum 30 unused */
342 
354 
362 
381 
399 
409 
418 
432 
443 
454 
469 
481 
489 
498 
507 
528 
553 
574 
581 
588 
595 
600 
607 
614 
633 
640 
648 
656 
667 
677 
684 
694 
704 
715 
728 
740 
752 
764 
776 
777  /* NOTE: enum 69 unused */
778 
786 
797 
798  /* NOTE: enum 72 unused */
799 
807 
815 
823 
834 
845 
853 
862 
873 
897 
909 
921 
932 
943 
951 
959 
967 
975 
983 
991 
999 
1007 
1015 
1025 
1035 
1048 
1056 
1067 
1075 
1085 
1093 
1103 
1106 
1110 
1114 
1128 
1136 
1146 
1157 
1163 
1170 
1175 
1178 
1181 
1184 
1187 
1190 
1193 
1196 
1200 
1203 
1210 
1217 
1221 
1231 
1241 
1251 
1259 
1266 
1267  /* NOTE: enums 145-149 unused */
1268 
1275 
1280 
1286 
1291 
1301 
1312 
1319 
1324 
1328 
1329  /*\brief Control to set encoding the denoised frame from denoise-noise-level
1330  *
1331  * - 0 = disabled/encode the original frame
1332  * - 1 = enabled/encode the denoised frame (default)
1333  */
1334  AV1E_SET_ENABLE_DNL_DENOISING = 140,
1335 
1347 
1357 
1362 
1368 
1376 
1383 
1388 
1394 
1403 
1408  // Any new encoder control IDs should be added above.
1409  // Maximum allowed encoder control ID is 229.
1410  // No encoder control ID should be added below.
1411 };
1412 
1417 typedef enum aom_scaling_mode_1d {
1418  AOME_NORMAL = 0,
1419  AOME_FOURFIVE = 1,
1420  AOME_THREEFIVE = 2,
1421  AOME_THREEFOUR = 3,
1422  AOME_ONEFOUR = 4,
1423  AOME_ONEEIGHT = 5,
1424  AOME_ONETWO = 6
1426 
1434 #define AOM_MAX_SEGMENTS 8
1435 
1443 typedef struct aom_roi_map {
1445  unsigned char *roi_map;
1446  unsigned int rows;
1447  unsigned int cols;
1453 
1460 typedef struct aom_active_map {
1462  unsigned char *active_map;
1463  unsigned int rows;
1464  unsigned int cols;
1466 
1472 typedef struct aom_scaling_mode {
1476 
1478 typedef enum {
1479  AOM_CONTENT_DEFAULT,
1480  AOM_CONTENT_SCREEN,
1481  AOM_CONTENT_FILM,
1482  AOM_CONTENT_INVALID
1484 
1486 typedef enum {
1487  AOM_TIMING_UNSPECIFIED,
1488  AOM_TIMING_EQUAL,
1489  AOM_TIMING_DEC_MODEL
1491 
1497 typedef enum {
1498  AOM_TUNE_PSNR = 0,
1499  AOM_TUNE_SSIM = 1,
1500  /* NOTE: enums 2 and 3 unused */
1501  AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1502  AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1503  AOM_TUNE_VMAF_MAX_GAIN = 6,
1504  AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1505  AOM_TUNE_BUTTERAUGLI = 8,
1506 } aom_tune_metric;
1507 
1508 #define AOM_MAX_LAYERS 32
1509 #define AOM_MAX_SS_LAYERS 4
1510 #define AOM_MAX_TS_LAYERS 8
1513 typedef struct aom_svc_layer_id {
1517 
1519 typedef struct aom_svc_params {
1531 
1534  // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1535  // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1536  int reference[7];
1538  int ref_idx[7];
1539  int refresh[8];
1541 
1544  // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1545  // LAST2_LAST (1), and ALTREF_LAST (2).
1546  int use_comp_pred[3];
1548 
1562 #define AOM_CTRL_AOME_USE_REFERENCE
1563 
1565 #define AOM_CTRL_AOME_SET_ROI_MAP
1566 
1568 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1569 
1571 #define AOM_CTRL_AOME_SET_SCALEMODE
1572 
1574 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1575 
1577 #define AOM_CTRL_AOME_SET_CPUUSED
1578 
1580 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1581 
1583 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1584 
1586 #define AOM_CTRL_AOME_SET_SHARPNESS
1587 
1589 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1590 
1592 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1593 
1595 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1596 
1597 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1598 #define AOM_CTRL_AOME_SET_TUNING
1599 
1600 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1601 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1602 
1603 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1604 #define AOM_CTRL_AV1E_SET_ROW_MT
1605 
1607 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1608 
1610 #define AOM_CTRL_AV1E_SET_TILE_ROWS
1611 
1613 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1614 
1616 #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1617 
1619 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1620 
1622 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1623 
1625 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1626 
1627 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1628 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1629 
1631 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1632 
1634 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1635 
1636 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1637 #define AOM_CTRL_AV1E_SET_LOSSLESS
1638 
1640 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1641 
1643 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1644 
1646 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1647 
1649 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1650 
1652 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1653 
1655 #define AOM_CTRL_AV1E_SET_ENABLE_QM
1656 
1657 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1658 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1659 
1660 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1661 #define AOM_CTRL_AV1E_SET_QM_MIN
1662 
1663 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1664 #define AOM_CTRL_AV1E_SET_QM_MAX
1665 
1666 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1667 #define AOM_CTRL_AV1E_SET_QM_Y
1668 
1669 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1670 #define AOM_CTRL_AV1E_SET_QM_U
1671 
1672 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1673 #define AOM_CTRL_AV1E_SET_QM_V
1674 
1675 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1676 #define AOM_CTRL_AV1E_SET_NUM_TG
1677 
1678 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1679 #define AOM_CTRL_AV1E_SET_MTU
1680 
1681 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1682 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1683 
1685 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1686 
1688 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1689 
1691 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1692 
1694 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1695 
1697 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1698 
1700 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1701 
1703 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1704 
1706 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
1707 
1709 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1710 
1712 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
1713 
1715 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1716 
1718 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1719 
1721 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1722 
1724 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1725 
1727 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1728 
1730 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1731 
1733 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1734 
1736 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1737 
1739 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1740 
1742 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1743 
1745 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1746 
1748 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1749 
1751 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1752 
1754 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1755 
1757 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1758 
1760 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1761 
1763 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1764 
1766 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1767 
1769 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1770 
1772 #define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
1773 
1775 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1776 
1778 #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
1779 
1781 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1782 
1784 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1785 
1787 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1788 
1790 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1791 
1793 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1794 
1796 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1797 
1798 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1799 #define AOM_CTRL_AV1E_SET_AQ_MODE
1800 
1802 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1803 
1805 #define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
1806 
1808 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
1809 
1811 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1812 
1814 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1815 
1816 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1817 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1818 
1820 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1821 
1823 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1824 
1826 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1827 
1829 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1830 
1832 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1833 
1835 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1836 
1838 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1839 
1841 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1842 
1843 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1845 
1847 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1848 
1850 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1851 
1853 #define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
1854 
1856 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1857 
1859 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1860 
1862 #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
1863 
1865 #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
1866 
1868 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1869 
1871 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1872 
1874 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1875 
1877 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1878 
1880 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1881 
1883 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1884 
1886 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1887 
1889 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1890 
1892 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1893 
1895 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1896 
1898 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
1899 
1901 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
1902 
1904 #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
1905 
1907 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
1908 
1910 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
1911 
1913 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
1914 
1916 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
1917 
1919 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
1920 
1922 #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
1923 
1925 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1926 
1928 #define AOM_CTRL_AV1E_SET_TIER_MASK
1929 
1930 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
1931 #define AOM_CTRL_AV1E_SET_MIN_CR
1932 
1934 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
1935 
1937 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
1938 
1940 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
1941 
1943 #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
1944 
1946 #define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
1947 
1948 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
1949 #define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
1950 
1952 #define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
1953 
1955 #define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
1956 
1958 #define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
1959 
1961 #define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
1962 
1964 #define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
1965 
1968 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
1969 
1971 #define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
1972 
1974 #define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
1975 
1978 #ifdef __cplusplus
1979 } // extern "C"
1980 #endif
1981 
1982 #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_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:1417
#define AOM_MAX_LAYERS
Definition: aomcx.h:1508
struct aom_svc_params aom_svc_params_t
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1434
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1510
aom_tune_content
Definition: aomcx.h:1478
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:1509
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1497
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:1486
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:175
struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
@ AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:573
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound, int parameter.
Definition: aomcx.h:1006
@ AV1E_SET_ENABLE_DIAGONAL_INTRA
Codec control function to turn on / off D45 to D203 intra mode usage, int parameter.
Definition: aomcx.h:1346
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:594
@ AV1E_SET_ROW_MT
Codec control function to enable the row based multi-threading of the encoder, unsigned int parameter...
Definition: aomcx.h:361
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage, int parameter.
Definition: aomcx.h:1066
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test, unsigned int parameter.
Definition: aomcx.h:1156
@ AOME_SET_SHARPNESS
Codec control function to set the sharpness parameter, unsigned int parameter.
Definition: aomcx.h:241
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency, unsigned int parameter.
Definition: aomcx.h:408
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:263
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode, unsigned int parameter.
Definition: aomcx.h:468
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references, int parameter.
Definition: aomcx.h:1220
@ 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:1274
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use, int parameter.
Definition: aomcx.h:179
@ 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:1285
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1318
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage, int parameter.
Definition: aomcx.h:1074
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type, aom_tune_content parameter.
Definition: aomcx.h:497
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder, aom_roi_map_t* parameter.
Definition: aomcx.h:184
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode, unsigned int parameter.
Definition: aomcx.h:506
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value, unsigned int parameter.
Definition: aomcx.h:1183
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit, int parameter.
Definition: aomcx.h:606
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter, unsigned int parameter.
Definition: aomcx.h:676
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta, int parameter.
Definition: aomcx.h:1113
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:587
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf, unsigned int parameter.
Definition: aomcx.h:268
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors, unsigned int parameter.
Definition: aomcx.h:1250
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes, int parameter.
Definition: aomcx.h:1199
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:552
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group, unsigned int parameter.
Definition: aomcx.h:796
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization, unsigned int parameter.
Definition: aomcx.h:703
@ 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:1387
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode, int parameter.
Definition: aomcx.h:1109
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode, int parameter.
Definition: aomcx.h:453
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions, int parameter.
Definition: aomcx.h:814
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence, int parameter.
Definition: aomcx.h:982
@ 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:1169
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes for a sequence,...
Definition: aomcx.h:958
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual interpolation filter for a sequence, int parameter.
Definition: aomcx.h:950
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:775
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature, unsigned int parameter.
Definition: aomcx.h:431
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:751
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size, int parameter.
Definition: aomcx.h:833
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level, int parameter.
Definition: aomcx.h:1034
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode, unsigned int parameter.
Definition: aomcx.h:683
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value, unsigned int parameter.
Definition: aomcx.h:1186
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level, int parameter.
Definition: aomcx.h:852
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients, unsigned int parameter.
Definition: aomcx.h:1230
@ AV1E_SET_ENABLE_DIRECTIONAL_INTRA
Codec control function to turn on / off directional intra mode usage, int parameter.
Definition: aomcx.h:1375
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for inter frames, unsigned int parameter.
Definition: aomcx.h:325
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level, int parameter.
Definition: aomcx.h:1177
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes, int parameter.
Definition: aomcx.h:1192
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows, unsigned int parameter.
Definition: aomcx.h:398
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:763
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level,...
Definition: aomcx.h:931
@ 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:966
@ AV1E_GET_ACTIVEMAP
Codec control function to get an active map back from the encoder, aom_active_map_t* parameter.
Definition: aomcx.h:599
@ AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
Control to set average complexity of the corpus in the case of single pass vbr based on LAP,...
Definition: aomcx.h:1323
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1209
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF, unsigned int parameter.
Definition: aomcx.h:666
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms, int parameter.
Definition: aomcx.h:896
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder, aom_active_map_t* parameter.
Definition: aomcx.h:189
@ AV1E_GET_SEQ_LEVEL_IDX
Codec control function to get sequence level index for each operating point. int* parameter....
Definition: aomcx.h:639
@ AOME_GET_LOOPFILTER_LEVEL
Codec control function to get the loopfilter chosen by the encoder, int* parameter.
Definition: aomcx.h:1407
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost, unsigned int parameter.
Definition: aomcx.h:480
@ AV1E_SET_DV_COST_UPD_FREQ
Control to set frequency of the cost updates for intrabc motion vectors, unsigned int parameter.
Definition: aomcx.h:1356
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size, int32_t[2] parameter.
Definition: aomcx.h:613
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level,...
Definition: aomcx.h:942
@ AV1E_SET_ENABLE_RECT_TX
Codec control function to turn on / off rectangular transforms, int parameter.
Definition: aomcx.h:908
@ 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:920
@ 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:1162
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution, int parameter.
Definition: aomcx.h:1092
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size, unsigned int parameter.
Definition: aomcx.h:647
@ 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:1258
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound, int parameter.
Definition: aomcx.h:1014
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity, unsigned int parameter.
Definition: aomcx.h:488
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC paramaeters, aom_svc_params_t* parameter.
Definition: aomcx.h:1279
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound, int parameter.
Definition: aomcx.h:998
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b, int parameter.
Definition: aomcx.h:1202
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level, int parameter.
Definition: aomcx.h:1055
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode, int parameter.
Definition: aomcx.h:1105
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage, int parameter.
Definition: aomcx.h:1084
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame, unsigned int parameter.
Definition: aomcx.h:417
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups, unsigned int parameter.
Definition: aomcx.h:785
@ AV1E_GET_BASELINE_GF_INTERVAL
Control to get baseline gf interval.
Definition: aomcx.h:1327
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set max data rate for intra frames, unsigned int parameter.
Definition: aomcx.h:306
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode, int parameter.
Definition: aomcx.h:442
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence, int parameter.
Definition: aomcx.h:990
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static, unsigned int parameter.
Definition: aomcx.h:246
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode, unsigned int parameter.
Definition: aomcx.h:693
@ AV1E_SET_PARTITION_INFO_PATH
Codec control to set the path for partition stats read and write. const char * parameter.
Definition: aomcx.h:1361
@ AOME_SET_SPATIAL_LAYER_ID
Definition: aomcx.h:203
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size, int parameter.
Definition: aomcx.h:844
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions, int parameter.
Definition: aomcx.h:822
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled,...
Definition: aomcx.h:1135
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms, int parameter.
Definition: aomcx.h:872
@ AOME_SET_TUNING
Codec control function to set visual tuning, aom_tune_metric (int) parameter.
Definition: aomcx.h:282
@ AV1E_SET_TARGET_SEQ_LEVEL_IDX
Control to set target sequence level index for a certain operating point(OP), int parameter Possible ...
Definition: aomcx.h:632
@ AV1E_SET_CHROMA_SAMPLE_POSITION
Codec control function to set chroma 4:2:0 sample position info, aom_chroma_sample_position_t paramet...
Definition: aomcx.h:580
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set, int parameter.
Definition: aomcx.h:1189
@ AV1E_SET_DELTAQ_STRENGTH
Set –deltaq-mode strength.
Definition: aomcx.h:1393
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use of bwd-pred frames, unsigned int parameter.
Definition: aomcx.h:655
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes, int parameter.
Definition: aomcx.h:1195
@ AV1E_SET_LOOPFILTER_CONTROL
Codec control to control loop filter.
Definition: aomcx.h:1402
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames, unsigned int parameter.
Definition: aomcx.h:228
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode, aom_scaling_mode_t* parameter.
Definition: aomcx.h:196
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:255
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns. unsigned int parameter.
Definition: aomcx.h:380
@ AV1E_SET_EXTERNAL_PARTITION
Codec control to use an external partition model A set of callback functions is passed through this c...
Definition: aomcx.h:1367
@ 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:1311
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint (int parameter). Affects: joint compound mod...
Definition: aomcx.h:861
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode, unsigned int parameter.
Definition: aomcx.h:1127
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence, int parameter.
Definition: aomcx.h:1024
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters, const char* parameter.
Definition: aomcx.h:1174
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:739
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame, int parameter.
Definition: aomcx.h:1216
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings, int parameter.
Definition: aomcx.h:220
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode, unsigned int parameter.
Definition: aomcx.h:339
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence, int parameter.
Definition: aomcx.h:974
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size, unsigned int parameter.
Definition: aomcx.h:1180
@ 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:1290
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:727
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices, unsigned int parameter.
Definition: aomcx.h:714
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for filtered ALTREF frames,...
Definition: aomcx.h:1102
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers, int parameter.
Definition: aomcx.h:311
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode, unsigned int parameter.
Definition: aomcx.h:1145
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions, int parameter.
Definition: aomcx.h:806
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info, int parameter.
Definition: aomcx.h:527
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level, unsigned int parameter.
Definition: aomcx.h:292
@ AV1E_SET_ENABLE_TX_SIZE_SEARCH
Control to turn on / off transform size search.
Definition: aomcx.h:1382
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode, unsigned int parameter.
Definition: aomcx.h:1240
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level, int parameter.
Definition: aomcx.h:1047
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder, unsigned int parameter.
Definition: aomcx.h:1300
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio, unsigned int parameter Take integer values....
Definition: aomcx.h:1265
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode, unsigned int parameter.
Definition: aomcx.h:353
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf, unsigned int parameter.
Definition: aomcx.h:273
#define AOM_CTRL_USE_TYPE(id, typ)
Creates typechecking 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:1460
unsigned int rows
Definition: aomcx.h:1463
unsigned int cols
Definition: aomcx.h:1464
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1462
Callback function set for external partition model.
Definition: aom_external_partition.h:410
aom region of interest map
Definition: aomcx.h:1443
unsigned int cols
Definition: aomcx.h:1447
int delta_lf[8]
Definition: aomcx.h:1449
unsigned int static_threshold[8]
Definition: aomcx.h:1451
unsigned int rows
Definition: aomcx.h:1446
unsigned char * roi_map
Definition: aomcx.h:1445
int delta_q[8]
Definition: aomcx.h:1448
aom image scaling mode
Definition: aomcx.h:1472
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1474
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1473
Definition: aomcx.h:1513
int temporal_layer_id
Definition: aomcx.h:1515
int spatial_layer_id
Definition: aomcx.h:1514
Definition: aomcx.h:1519
int max_quantizers[32]
Definition: aomcx.h:1522
int number_spatial_layers
Definition: aomcx.h:1520
int layer_target_bitrate[32]
Definition: aomcx.h:1527
int framerate_factor[8]
Definition: aomcx.h:1529
int min_quantizers[32]
Definition: aomcx.h:1523
int scaling_factor_den[4]
Definition: aomcx.h:1525
int number_temporal_layers
Definition: aomcx.h:1521
int scaling_factor_num[4]
Definition: aomcx.h:1524
Definition: aomcx.h:1543
int use_comp_pred[3]
Definition: aomcx.h:1546
Definition: aomcx.h:1533
int reference[7]
Definition: aomcx.h:1536
int refresh[8]
Definition: aomcx.h:1539
int ref_idx[7]
Definition: aomcx.h:1538