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 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
54 
60 /*
61  * Algorithm Flags
62  */
63 
70 #define AOM_EFLAG_NO_REF_LAST (1 << 16)
77 #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
84 #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
91 #define AOM_EFLAG_NO_REF_GF (1 << 19)
92 
99 #define AOM_EFLAG_NO_REF_ARF (1 << 20)
106 #define AOM_EFLAG_NO_REF_BWD (1 << 21)
113 #define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
114 
120 #define AOM_EFLAG_NO_UPD_LAST (1 << 23)
121 
127 #define AOM_EFLAG_NO_UPD_GF (1 << 24)
128 
134 #define AOM_EFLAG_NO_UPD_ARF (1 << 25)
140 #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
146 #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
152 #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
158 #define AOM_EFLAG_SET_S_FRAME (1 << 29)
164 #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
165 
179 
184 
189 
190  /* NOTE: enum 10 unused */
191 
196 
201 
214 
222 
223  /* NOTE: enum 15 unused */
224 
231 
236 
237  /* NOTE: enum 18 unused */
238 
245 
253 
258 
263 
264  /* NOTE: enum 23 unused */
265 
270 
280 
294 
299 
313 
327 
328  /* NOTE: enum 30 unused */
329 
341 
349 
368 
386 
396 
405 
419 
430 
441 
456 
468 
476 
485 
494 
515 
540 
561 
568 
575 
582 
587 
594 
601 
620 
627 
635 
643 
653 
663 
670 
680 
690 
701 
714 
726 
738 
750 
762 
763  /* NOTE: enum 69 unused */
764 
772 
783 
784  /* NOTE: enum 72 unused */
785 
793 
801 
809 
820 
831 
839 
848 
859 
883 
895 
907 
918 
929 
937 
945 
953 
961 
969 
977 
985 
993 
1001 
1011 
1021 
1034 
1042 
1053 
1061 
1071 
1079 
1089 
1092 
1096 
1100 
1112 
1120 
1130 
1141 
1147 
1154 
1159 
1162 
1165 
1168 
1171 
1174 
1177 
1180 
1184 
1187 
1194 
1201 
1205 
1215 
1225 
1235 
1243 
1250 
1251  /* NOTE: enums 145-149 unused */
1252 
1257 
1262 
1268 
1273 
1283 
1294 
1301 
1306 
1310 
1311  /*\brief Control to set encoding the denoised frame from denoise-noise-level
1312  *
1313  * - 0 = disabled/encode the original frame
1314  * - 1 = enabled/encode the denoised frame (default)
1315  */
1316  AV1E_SET_ENABLE_DNL_DENOISING = 140,
1317 
1318  // Any new encoder control IDs should be added above.
1319  // Maximum allowed encoder control ID is 229.
1320  // No encoder control ID should be added below.
1321 };
1322 
1327 typedef enum aom_scaling_mode_1d {
1328  AOME_NORMAL = 0,
1329  AOME_FOURFIVE = 1,
1330  AOME_THREEFIVE = 2,
1331  AOME_THREEFOUR = 3,
1332  AOME_ONEFOUR = 4,
1333  AOME_ONEEIGHT = 5,
1334  AOME_ONETWO = 6
1336 
1344 #define AOM_MAX_SEGMENTS 8
1345 
1353 typedef struct aom_roi_map {
1355  unsigned char *roi_map;
1356  unsigned int rows;
1357  unsigned int cols;
1363 
1370 typedef struct aom_active_map {
1372  unsigned char *active_map;
1373  unsigned int rows;
1374  unsigned int cols;
1376 
1382 typedef struct aom_scaling_mode {
1386 
1388 typedef enum {
1389  AOM_CONTENT_DEFAULT,
1390  AOM_CONTENT_SCREEN,
1391  AOM_CONTENT_FILM,
1392  AOM_CONTENT_INVALID
1394 
1396 typedef enum {
1397  AOM_TIMING_UNSPECIFIED,
1398  AOM_TIMING_EQUAL,
1399  AOM_TIMING_DEC_MODEL
1401 
1407 typedef enum {
1408  AOM_TUNE_PSNR = 0,
1409  AOM_TUNE_SSIM = 1,
1410  /* NOTE: enums 2 and 3 unused */
1411  AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1412  AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1413  AOM_TUNE_VMAF_MAX_GAIN = 6,
1414  AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1415 } aom_tune_metric;
1416 
1417 #define AOM_MAX_LAYERS 32
1418 #define AOM_MAX_SS_LAYERS 4
1419 #define AOM_MAX_TS_LAYERS 8
1422 typedef struct aom_svc_layer_id {
1426 
1428 typedef struct aom_svc_params {
1440 
1443  // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1444  // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1445  int reference[7];
1447  int ref_idx[7];
1448  int refresh[8];
1450 
1464 #define AOM_CTRL_AOME_USE_REFERENCE
1465 
1467 #define AOM_CTRL_AOME_SET_ROI_MAP
1468 
1470 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1471 
1473 #define AOM_CTRL_AOME_SET_SCALEMODE
1474 
1476 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1477 
1479 #define AOM_CTRL_AOME_SET_CPUUSED
1480 
1482 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1483 
1485 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1486 
1488 #define AOM_CTRL_AOME_SET_SHARPNESS
1489 
1491 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1492 
1494 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1495 
1497 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1498 
1499 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1500 #define AOM_CTRL_AOME_SET_TUNING
1501 
1502 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1503 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1504 
1505 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1506 #define AOM_CTRL_AV1E_SET_ROW_MT
1507 
1509 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1510 
1512 #define AOM_CTRL_AV1E_SET_TILE_ROWS
1513 
1515 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1516 
1518 #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1519 
1521 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1522 
1524 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1525 
1527 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1528 
1529 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1530 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1531 
1533 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1534 
1536 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1537 
1538 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1539 #define AOM_CTRL_AV1E_SET_LOSSLESS
1540 
1542 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1543 
1545 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1546 
1548 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1549 
1551 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1552 
1554 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1555 
1557 #define AOM_CTRL_AV1E_SET_ENABLE_QM
1558 
1559 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1560 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1561 
1562 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1563 #define AOM_CTRL_AV1E_SET_QM_MIN
1564 
1565 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1566 #define AOM_CTRL_AV1E_SET_QM_MAX
1567 
1568 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1569 #define AOM_CTRL_AV1E_SET_QM_Y
1570 
1571 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1572 #define AOM_CTRL_AV1E_SET_QM_U
1573 
1574 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1575 #define AOM_CTRL_AV1E_SET_QM_V
1576 
1577 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1578 #define AOM_CTRL_AV1E_SET_NUM_TG
1579 
1580 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1581 #define AOM_CTRL_AV1E_SET_MTU
1582 
1583 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1584 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1585 
1587 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1588 
1590 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1591 
1593 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1594 
1596 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1597 
1599 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1600 
1602 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1603 
1605 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1606 
1608 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
1609 
1611 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1612 
1614 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
1615 
1617 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1618 
1620 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1621 
1623 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1624 
1626 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1627 
1629 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1630 
1632 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1633 
1635 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1636 
1638 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1639 
1641 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1642 
1644 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1645 
1647 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1648 
1650 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1651 
1653 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1654 
1656 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1657 
1659 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1660 
1662 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1663 
1665 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1666 
1668 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1669 
1671 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1672 
1674 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1675 
1677 #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
1678 
1680 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1681 
1683 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1684 
1686 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1687 
1689 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1690 
1692 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1693 
1695 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1696 
1697 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1698 #define AOM_CTRL_AV1E_SET_AQ_MODE
1699 
1701 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1702 
1704 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
1705 
1707 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1708 
1710 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1711 
1712 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1713 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1714 
1716 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1717 
1719 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1720 
1722 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1723 
1725 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1726 
1728 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1729 
1731 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1732 
1734 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1735 
1737 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1738 
1739 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1741 
1743 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1744 
1746 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1747 
1749 #define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
1750 
1752 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1753 
1755 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1756 
1758 #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
1759 
1761 #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
1762 
1764 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1765 
1767 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1768 
1770 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1771 
1773 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1774 
1776 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1777 
1779 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1780 
1782 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1783 
1785 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1786 
1788 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1789 
1791 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1792 
1794 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
1795 
1797 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
1798 
1800 #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
1801 
1803 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
1804 
1806 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
1807 
1809 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
1810 
1812 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
1813 
1815 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
1816 
1818 #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
1819 
1821 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1822 
1824 #define AOM_CTRL_AV1E_SET_TIER_MASK
1825 
1826 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
1827 #define AOM_CTRL_AV1E_SET_MIN_CR
1828 
1830 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
1831 
1833 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
1834 
1836 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
1837 
1839 #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
1840 
1842 #define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
1843 
1844 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
1845 #define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
1846 
1849 #ifdef __cplusplus
1850 } // extern "C"
1851 #endif
1852 
1853 #endif // AOM_AOM_AOMCX_H_
Provides controls common to both the AOM encoder and decoder.
Describes the encoder algorithm interface to applications.
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:1327
#define AOM_MAX_LAYERS
Definition: aomcx.h:1417
struct aom_svc_params aom_svc_params_t
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1344
aom_codec_iface_t * aom_codec_av1_cx(void)
The interface to the AV1 encoder.
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1419
aom_tune_content
Definition: aomcx.h:1388
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:1418
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1407
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:1396
struct aom_active_map aom_active_map_t
aom active region map
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:174
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:560
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound, int parameter.
Definition: aomcx.h:992
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:581
@ AV1E_SET_ROW_MT
Codec control function to enable the row based multi-threading of the encoder, unsigned int parameter...
Definition: aomcx.h:348
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage, int parameter.
Definition: aomcx.h:1052
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test, unsigned int parameter.
Definition: aomcx.h:1140
@ AOME_SET_SHARPNESS
Codec control function to set loop filter sharpness, unsigned int parameter.
Definition: aomcx.h:230
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency, unsigned int parameter.
Definition: aomcx.h:395
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:252
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode, unsigned int parameter.
Definition: aomcx.h:455
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references, int parameter.
Definition: aomcx.h:1204
@ AV1E_SET_SVC_LAYER_ID
Codec control function to set the layer id, aom_svc_layer_id_t* parameter.
Definition: aomcx.h:1256
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use, int parameter.
Definition: aomcx.h:178
@ 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:1267
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1300
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage, int parameter.
Definition: aomcx.h:1060
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type, aom_tune_content parameter.
Definition: aomcx.h:484
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder, aom_roi_map_t* parameter.
Definition: aomcx.h:183
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode, unsigned int parameter.
Definition: aomcx.h:493
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value, unsigned int parameter.
Definition: aomcx.h:1167
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit, int parameter.
Definition: aomcx.h:593
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter, unsigned int parameter.
Definition: aomcx.h:662
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta, int parameter.
Definition: aomcx.h:1099
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames, unsigned int parameter.
Definition: aomcx.h:574
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf, unsigned int parameter.
Definition: aomcx.h:257
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors, unsigned int parameter.
Definition: aomcx.h:1234
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes, int parameter.
Definition: aomcx.h:1183
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info, int parameter.
Definition: aomcx.h:539
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group, unsigned int parameter.
Definition: aomcx.h:782
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization, unsigned int parameter.
Definition: aomcx.h:689
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode, int parameter.
Definition: aomcx.h:1095
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode, int parameter.
Definition: aomcx.h:440
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions, int parameter.
Definition: aomcx.h:800
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence, int parameter.
Definition: aomcx.h:968
@ 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:1153
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes for a sequence,...
Definition: aomcx.h:944
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual interpolation filter for a sequence, int parameter.
Definition: aomcx.h:936
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:761
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature, unsigned int parameter.
Definition: aomcx.h:418
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:737
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size, int parameter.
Definition: aomcx.h:819
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level, int parameter.
Definition: aomcx.h:1020
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode, unsigned int parameter.
Definition: aomcx.h:669
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value, unsigned int parameter.
Definition: aomcx.h:1170
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level, int parameter.
Definition: aomcx.h:838
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients, unsigned int parameter.
Definition: aomcx.h:1214
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for inter frames, unsigned int parameter.
Definition: aomcx.h:312
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level, int parameter.
Definition: aomcx.h:1161
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes, int parameter.
Definition: aomcx.h:1176
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows, unsigned int parameter.
Definition: aomcx.h:385
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:749
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level,...
Definition: aomcx.h:917
@ 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:952
@ AV1E_GET_ACTIVEMAP
Codec control function to get an active map back from the encoder, aom_active_map_t* parameter.
Definition: aomcx.h:586
@ 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:1305
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure, unsigned int parameter.
Definition: aomcx.h:1193
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF, unsigned int parameter.
Definition: aomcx.h:652
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms, int parameter.
Definition: aomcx.h:882
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder, aom_active_map_t* parameter.
Definition: aomcx.h:188
@ AV1E_GET_SEQ_LEVEL_IDX
Codec control function to get sequence level index for each operating point. int* parameter....
Definition: aomcx.h:626
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost, unsigned int parameter.
Definition: aomcx.h:467
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size, int32_t[2] parameter.
Definition: aomcx.h:600
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level,...
Definition: aomcx.h:928
@ AV1E_SET_ENABLE_RECT_TX
Codec control function to turn on / off rectangular transforms, int parameter.
Definition: aomcx.h:894
@ 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:906
@ 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:1146
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution, int parameter.
Definition: aomcx.h:1078
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size, unsigned int parameter.
Definition: aomcx.h:634
@ 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:1242
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound, int parameter.
Definition: aomcx.h:1000
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity, unsigned int parameter.
Definition: aomcx.h:475
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC paramaeters, aom_svc_params_t* parameter.
Definition: aomcx.h:1261
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound, int parameter.
Definition: aomcx.h:984
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b, int parameter.
Definition: aomcx.h:1186
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level, int parameter.
Definition: aomcx.h:1041
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode, int parameter.
Definition: aomcx.h:1091
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage, int parameter.
Definition: aomcx.h:1070
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame, unsigned int parameter.
Definition: aomcx.h:404
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups, unsigned int parameter.
Definition: aomcx.h:771
@ AV1E_GET_BASELINE_GF_INTERVAL
Control to get baseline gf interval.
Definition: aomcx.h:1309
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set max data rate for intra frames, unsigned int parameter.
Definition: aomcx.h:293
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode, int parameter.
Definition: aomcx.h:429
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence, int parameter.
Definition: aomcx.h:976
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static, unsigned int parameter.
Definition: aomcx.h:235
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode, unsigned int parameter.
Definition: aomcx.h:679
@ AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id, unsigned int parameter.
Definition: aomcx.h:200
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size, int parameter.
Definition: aomcx.h:830
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions, int parameter.
Definition: aomcx.h:808
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled,...
Definition: aomcx.h:1119
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms, int parameter.
Definition: aomcx.h:858
@ AOME_SET_TUNING
Codec control function to set visual tuning, aom_tune_metric (int) parameter.
Definition: aomcx.h:269
@ 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:619
@ 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:567
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set, int parameter.
Definition: aomcx.h:1173
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use of bwd-pred frames, unsigned int parameter.
Definition: aomcx.h:642
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes, int parameter.
Definition: aomcx.h:1179
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames, unsigned int parameter.
Definition: aomcx.h:221
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode, aom_scaling_mode_t* parameter.
Definition: aomcx.h:195
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder, int* parameter.
Definition: aomcx.h:244
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns. unsigned int parameter.
Definition: aomcx.h:367
@ 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:1293
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint (int parameter). Affects: joint compound mod...
Definition: aomcx.h:847
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode, unsigned int parameter.
Definition: aomcx.h:1111
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence, int parameter.
Definition: aomcx.h:1010
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters, const char* parameter.
Definition: aomcx.h:1158
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:725
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame, int parameter.
Definition: aomcx.h:1200
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings, int parameter.
Definition: aomcx.h:213
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode, unsigned int parameter.
Definition: aomcx.h:326
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence, int parameter.
Definition: aomcx.h:960
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size, unsigned int parameter.
Definition: aomcx.h:1164
@ 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:1272
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness, unsigned int parameter.
Definition: aomcx.h:713
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices, unsigned int parameter.
Definition: aomcx.h:700
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for filtered ALTREF frames,...
Definition: aomcx.h:1088
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers, int parameter.
Definition: aomcx.h:298
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode, unsigned int parameter.
Definition: aomcx.h:1129
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions, int parameter.
Definition: aomcx.h:792
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info, int parameter.
Definition: aomcx.h:514
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level, unsigned int parameter.
Definition: aomcx.h:279
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode, unsigned int parameter.
Definition: aomcx.h:1224
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level, int parameter.
Definition: aomcx.h:1033
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder, unsigned int parameter.
Definition: aomcx.h:1282
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio, unsigned int parameter Take integer values....
Definition: aomcx.h:1249
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode, unsigned int parameter.
Definition: aomcx.h:340
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf, unsigned int parameter.
Definition: aomcx.h:262
#define AOM_CTRL_USE_TYPE(id, typ)
Creates typechecking mechanisms for aom_codec_control.
Definition: aom_codec.h:530
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:254
aom active region map
Definition: aomcx.h:1370
unsigned int rows
Definition: aomcx.h:1373
unsigned int cols
Definition: aomcx.h:1374
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1372
aom region of interest map
Definition: aomcx.h:1353
unsigned int cols
Definition: aomcx.h:1357
int delta_lf[8]
Definition: aomcx.h:1359
unsigned int static_threshold[8]
Definition: aomcx.h:1361
unsigned int rows
Definition: aomcx.h:1356
unsigned char * roi_map
Definition: aomcx.h:1355
int delta_q[8]
Definition: aomcx.h:1358
aom image scaling mode
Definition: aomcx.h:1382
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1384
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1383
Definition: aomcx.h:1422
int temporal_layer_id
Definition: aomcx.h:1424
int spatial_layer_id
Definition: aomcx.h:1423
Definition: aomcx.h:1428
int max_quantizers[32]
Definition: aomcx.h:1431
int number_spatial_layers
Definition: aomcx.h:1429
int layer_target_bitrate[32]
Definition: aomcx.h:1436
int framerate_factor[8]
Definition: aomcx.h:1438
int min_quantizers[32]
Definition: aomcx.h:1432
int scaling_factor_den[4]
Definition: aomcx.h:1434
int number_temporal_layers
Definition: aomcx.h:1430
int scaling_factor_num[4]
Definition: aomcx.h:1433
Definition: aomcx.h:1442
int reference[7]
Definition: aomcx.h:1445
int refresh[8]
Definition: aomcx.h:1448
int ref_idx[7]
Definition: aomcx.h:1447