AOMedia Codec SDK
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 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
36 extern aom_codec_iface_t aom_codec_av1_cx_algo;
37 extern aom_codec_iface_t *aom_codec_av1_cx(void);
40 /*
41  * Algorithm Flags
42  */
43 
50 #define AOM_EFLAG_NO_REF_LAST (1 << 16)
57 #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
64 #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
71 #define AOM_EFLAG_NO_REF_GF (1 << 19)
72 
79 #define AOM_EFLAG_NO_REF_ARF (1 << 20)
86 #define AOM_EFLAG_NO_REF_BWD (1 << 21)
93 #define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
94 
100 #define AOM_EFLAG_NO_UPD_LAST (1 << 23)
101 
107 #define AOM_EFLAG_NO_UPD_GF (1 << 24)
108 
114 #define AOM_EFLAG_NO_UPD_ARF (1 << 25)
120 #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
126 #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
132 #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
138 #define AOM_EFLAG_SET_S_FRAME (1 << 29)
144 #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
145 
157 
161 
165 
166  /* NOTE: enum 10 unused */
167 
171 
175 
185 
189 
190  /* NOTE: enum 15 unused */
191 
195 
199 
200  /* NOTE: enum 18 unused */
201 
207 
214 
218 
222 
223  /* NOTE: enum 23 unused */
224 
228 
236 
249 
253 
266 
279 
280  /* NOTE: enum 30 unused */
281 
294 
300 
317 
333 
340 
346 
358 
368 
378 
389 
402 
408 
415 
422 
444 
470 
492 
501 
507 
513 
517 
524 
530 
546 
552 
561 
567 
580 
590 
600 
610 
623 
637 
651 
664 
677 
690 
703 
718 
727 
739 
751 
759 
767 
775 
786 
796 
805 
817 
825 
836 
850 
859 
868 
877 
886 
895 
904 
913 
922 
931 
940 
949 
957 
965 
974 
983 
991 
999 
1007 
1014 
1024 
1027 
1030 
1033 
1046 
1052 
1062 
1069 
1075 
1082 
1086 
1089 
1092 
1095 
1098 
1101 
1104 
1107 
1110 
1113 
1117 
1121 
1124 
1125  /* NOTE: enums 126-139 unused */
1126  /* NOTE: Need a gap in enum values to avoud conflict with 128, 129, 130 */
1127 
1135 
1143 
1152 
1158 
1165 
1166  /* NOTE: enums 145-149 unused */
1167 
1171 
1175 
1180 
1185 
1192 
1200 
1204 };
1205 
1210 typedef enum aom_scaling_mode_1d {
1211  AOME_NORMAL = 0,
1212  AOME_FOURFIVE = 1,
1213  AOME_THREEFIVE = 2,
1214  AOME_ONETWO = 3
1216 
1224 #define AOM_MAX_SEGMENTS 8
1225 
1233 typedef struct aom_roi_map {
1235  unsigned char *roi_map;
1236  unsigned int rows;
1237  unsigned int cols;
1243 
1250 typedef struct aom_active_map {
1252  unsigned char *active_map;
1253  unsigned int rows;
1254  unsigned int cols;
1256 
1262 typedef struct aom_scaling_mode {
1266 
1268 typedef enum {
1269  AOM_CONTENT_DEFAULT,
1270  AOM_CONTENT_SCREEN,
1271  AOM_CONTENT_INVALID
1273 
1275 typedef enum {
1276  AOM_TIMING_UNSPECIFIED,
1277  AOM_TIMING_EQUAL,
1278  AOM_TIMING_DEC_MODEL
1280 
1286 typedef enum {
1287  AOM_TUNE_PSNR = 0,
1288  AOM_TUNE_SSIM = 1,
1289  /* NOTE: enums 2 and 3 unused */
1290  AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1291  AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1292  AOM_TUNE_VMAF_MAX_GAIN = 6
1293 } aom_tune_metric;
1294 
1295 #define AOM_MAX_LAYERS 32
1296 #define AOM_MAX_SS_LAYERS 4
1297 #define AOM_MAX_TS_LAYERS 8
1300 typedef struct aom_svc_layer_id {
1304 
1306 typedef struct aom_svc_params {
1318 
1321  // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1322  // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1323  int reference[7];
1325  int ref_idx[7];
1326  int refresh[8];
1328 
1338 #define AOM_CTRL_AOME_USE_REFERENCE
1340 #define AOM_CTRL_AOME_SET_ROI_MAP
1342 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1344 #define AOM_CTRL_AOME_SET_SCALEMODE
1345 
1347 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1348 
1350 #define AOM_CTRL_AOME_SET_CPUUSED
1352 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1353 
1355 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1356 
1358 #define AOM_CTRL_AOME_SET_SHARPNESS
1360 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1361 
1363 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1365 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1366 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1367 #define AOM_CTRL_AOME_SET_TUNING
1368 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1369 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1370 
1371 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1372 #define AOM_CTRL_AV1E_SET_ROW_MT
1373 
1375 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1377 #define AOM_CTRL_AV1E_SET_TILE_ROWS
1378 
1380 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1381 
1383 #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1384 
1386 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1388 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1389 
1391 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1392 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1393 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1394 
1396 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1397 
1399 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1400 
1401 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1402 #define AOM_CTRL_AV1E_SET_LOSSLESS
1403 
1405 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1406 
1408 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1409 
1411 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1412 
1414 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1415 
1417 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1418 
1420 #define AOM_CTRL_AV1E_SET_ENABLE_QM
1421 
1423 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1424 
1425 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1426 #define AOM_CTRL_AV1E_SET_QM_MIN
1427 
1428 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1429 #define AOM_CTRL_AV1E_SET_QM_MAX
1430 
1431 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1432 #define AOM_CTRL_AV1E_SET_QM_Y
1433 
1434 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1435 #define AOM_CTRL_AV1E_SET_QM_U
1436 
1437 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1438 #define AOM_CTRL_AV1E_SET_QM_V
1439 
1440 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1441 #define AOM_CTRL_AV1E_SET_NUM_TG
1442 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1443 #define AOM_CTRL_AV1E_SET_MTU
1444 
1445 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1446 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1447 
1449 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1450 
1452 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1453 
1455 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1456 
1458 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1459 
1461 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1462 
1464 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1465 
1467 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1468 
1470 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
1471 
1473 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1474 
1476 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1477 
1479 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1480 
1482 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1483 
1485 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1486 
1488 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1489 
1491 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1492 
1494 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1495 
1497 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1498 
1500 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1501 
1503 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1504 
1506 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1507 
1509 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1510 
1512 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1513 
1515 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1516 
1518 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1519 
1521 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1522 
1524 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1525 
1527 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1528 
1530 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1531 
1533 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1534 
1536 #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
1537 
1539 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1540 
1542 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1543 
1545 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1546 
1548 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1549 
1551 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1552 
1554 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1555 
1556 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1557 #define AOM_CTRL_AV1E_SET_AQ_MODE
1558 
1560 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1561 
1563 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
1564 
1566 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1567 
1569 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1570 
1571 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1572 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1573 
1575 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1576 
1578 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1579 
1581 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1582 
1584 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1585 
1587 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1588 
1590 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1591 
1593 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1594 
1596 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1597 
1598 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1600 
1602 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1603 
1605 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1606 
1608 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1609 
1611 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1612 
1614 #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
1615 
1617 #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
1618 
1620 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1621 
1623 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1624 
1626 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1627 
1629 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1630 
1632 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1633 
1635 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1636 
1638 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1639 
1641 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1642 
1644 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1645 
1647 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1648 
1650 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
1651 
1653 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
1654 
1656 #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
1657 
1659 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
1660 
1662 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
1663 
1665 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
1666 
1668 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
1669 
1671 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
1672 
1674 #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
1675 
1677 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1678 
1680 #define AOM_CTRL_AV1E_SET_TIER_MASK
1681 
1682 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
1683 #define AOM_CTRL_AV1E_SET_MIN_CR
1684 
1686 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
1687 
1689 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
1690 
1692 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
1693 
1695 #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
1696 
1699 #ifdef __cplusplus
1700 } // extern "C"
1701 #endif
1702 
1703 #endif // AOM_AOM_AOMCX_H_
Provides controls common to both the AOM encoder and decoder.
Describes the encoder algorithm interface to applications.
aom_scaling_mode_1d
aom 1-D scaling mode
Definition: aomcx.h:1210
#define AOM_MAX_LAYERS
Definition: aomcx.h:1295
struct aom_svc_params aom_svc_params_t
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1224
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1297
aom_tune_content
Definition: aomcx.h:1268
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:1296
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1286
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:1275
struct aom_active_map aom_active_map_t
aom active region map
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:153
struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
@ AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info.
Definition: aomcx.h:491
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound.
Definition: aomcx.h:939
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:512
@ AV1E_SET_ROW_MT
Definition: aomcx.h:299
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage.
Definition: aomcx.h:990
@ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test in AV1. Please note that this is...
Definition: aomcx.h:1068
@ AOME_SET_SHARPNESS
Codec control function to set sharpness.
Definition: aomcx.h:194
@ AV1E_SET_ANS_WINDOW_SIZE_LOG2
Codec control function to set the number of symbols in an ANS data window.
Definition: aomcx.h:750
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency.
Definition: aomcx.h:339
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:213
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition: aomcx.h:388
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references.
Definition: aomcx.h:1123
@ AV1E_SET_SVC_LAYER_ID
Codec control function to set the layer id.
Definition: aomcx.h:1170
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use.
Definition: aomcx.h:156
@ 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:1179
@ AV1E_SET_GF_MIN_PYRAMID_HEIGHT
Control to select minimum height for the GF group pyramid structure (valid values: 0 - 4)
Definition: aomcx.h:1203
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage.
Definition: aomcx.h:998
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition: aomcx.h:414
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: aomcx.h:160
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode.
Definition: aomcx.h:421
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value.
Definition: aomcx.h:1094
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit.
Definition: aomcx.h:523
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter.
Definition: aomcx.h:589
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta.
Definition: aomcx.h:1032
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:506
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition: aomcx.h:217
@ AV1E_SET_MV_COST_UPD_FREQ
Control to set frequency of the cost updates for motion vectors Possible values are: 0: Update at SB ...
Definition: aomcx.h:1151
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes.
Definition: aomcx.h:1109
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info.
Definition: aomcx.h:469
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group.
Definition: aomcx.h:738
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization.
Definition: aomcx.h:622
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode.
Definition: aomcx.h:1029
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode.
Definition: aomcx.h:377
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions.
Definition: aomcx.h:766
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence.
Definition: aomcx.h:912
@ 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:1081
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes usage for a sequence.
Definition: aomcx.h:885
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual filter usage for a sequence.
Definition: aomcx.h:876
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:702
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition: aomcx.h:357
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:676
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size.
Definition: aomcx.h:785
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level.
Definition: aomcx.h:964
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode.
Definition: aomcx.h:599
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value.
Definition: aomcx.h:1097
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level.
Definition: aomcx.h:804
@ AV1E_SET_COEFF_COST_UPD_FREQ
Control to set frequency of the cost updates for coefficients Possible values are: 0: Update at SB le...
Definition: aomcx.h:1134
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition: aomcx.h:265
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level.
Definition: aomcx.h:1088
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes.
Definition: aomcx.h:1103
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition: aomcx.h:332
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:689
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level.
Definition: aomcx.h:858
@ AV1E_SET_ENABLE_MASKED_COMP
Codec control function to turn on / off masked compound usage for a sequence.
Definition: aomcx.h:894
@ AV1E_GET_ACTIVEMAP
Codec control function to get an Active map back from the encoder.
Definition: aomcx.h:516
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure (valid values: 0 - 4)
Definition: aomcx.h:1116
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF.
Definition: aomcx.h:579
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms.
Definition: aomcx.h:835
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition: aomcx.h:164
@ AV1E_GET_SEQ_LEVEL_IDX
Codec control function to get sequence level index for each operating point. There can be at most 32 ...
Definition: aomcx.h:551
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition: aomcx.h:401
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size.
Definition: aomcx.h:529
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level.
Definition: aomcx.h:867
@ AV1E_SET_ENABLE_DIST_8X8
Codec control function to encode with dist_8x8.
Definition: aomcx.h:717
@ AV1E_SET_ENABLE_DIST_WTD_COMP
enum value 82 is empty.
Definition: aomcx.h:849
@ AV1E_SET_TIMING_INFO_TYPE
Codec control function to signal picture timing info in the bitstream.
Definition: aomcx.h:1074
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution.
Definition: aomcx.h:1013
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size.
Definition: aomcx.h:560
@ 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:1157
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound.
Definition: aomcx.h:948
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition: aomcx.h:407
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC paramaeters.
Definition: aomcx.h:1174
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound.
Definition: aomcx.h:930
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b.
Definition: aomcx.h:1112
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level.
Definition: aomcx.h:982
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode.
Definition: aomcx.h:1026
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage.
Definition: aomcx.h:1006
@ AV1E_SET_ENABLE_KEYFRAME_FILTERING
Codec control function to enable temporal filtering on key frame.
Definition: aomcx.h:345
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups.
Definition: aomcx.h:726
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition: aomcx.h:248
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode.
Definition: aomcx.h:367
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence.
Definition: aomcx.h:921
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition: aomcx.h:198
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode.
Definition: aomcx.h:609
@ AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id.
Definition: aomcx.h:174
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size.
Definition: aomcx.h:795
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions.
Definition: aomcx.h:774
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled....
Definition: aomcx.h:1051
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms.
Definition: aomcx.h:824
@ AOME_SET_TUNING
Codec control function to set visual tuning.
Definition: aomcx.h:227
@ AV1E_SET_TARGET_SEQ_LEVEL_IDX
Control to set target sequence level index for a certain operating point(OP). Possible values are in ...
Definition: aomcx.h:545
@ AV1E_SET_CHROMA_SAMPLE_POSITION
Codec control function to set chroma 4:2:0 sample position info.
Definition: aomcx.h:500
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set.
Definition: aomcx.h:1100
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use bwd-pred frames.
Definition: aomcx.h:566
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes.
Definition: aomcx.h:1106
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames.
Definition: aomcx.h:188
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode.
Definition: aomcx.h:170
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:206
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition: aomcx.h:316
@ 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:1199
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint for a few tools:
Definition: aomcx.h:816
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode.
Definition: aomcx.h:1045
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence.
Definition: aomcx.h:956
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters.
Definition: aomcx.h:1085
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness.
Definition: aomcx.h:663
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame (valid values: 3 - 7)
Definition: aomcx.h:1120
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition: aomcx.h:184
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: aomcx.h:278
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence.
Definition: aomcx.h:903
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size.
Definition: aomcx.h:1091
@ 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:1184
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:650
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices.
Definition: aomcx.h:636
@ AV1E_SET_ENABLE_OVERLAY
Codec control function to turn on / off overlay frames for fitlered ALTREF frames.
Definition: aomcx.h:1023
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers.
Definition: aomcx.h:252
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode to 0 or 1.
Definition: aomcx.h:1061
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions.
Definition: aomcx.h:758
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info.
Definition: aomcx.h:443
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level.
Definition: aomcx.h:235
@ AV1E_SET_MODE_COST_UPD_FREQ
Control to set frequency of the cost updates for mode Possible values are: 0: Update at SB level (def...
Definition: aomcx.h:1142
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level.
Definition: aomcx.h:973
@ AV1E_ENABLE_EXT_TILE_DEBUG
Codec control function to enable EXT_TILE_DEBUG in AV1 encoder. Please note that this is only used in...
Definition: aomcx.h:1191
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio. Take integer values. If non-zero, encoder will try to keep ...
Definition: aomcx.h:1164
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition: aomcx.h:293
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition: aomcx.h:221
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:444
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:196
aom active region map
Definition: aomcx.h:1250
unsigned int rows
Definition: aomcx.h:1253
unsigned int cols
Definition: aomcx.h:1254
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1252
aom region of interest map
Definition: aomcx.h:1233
unsigned int cols
Definition: aomcx.h:1237
int delta_lf[8]
Definition: aomcx.h:1239
unsigned int static_threshold[8]
Definition: aomcx.h:1241
unsigned int rows
Definition: aomcx.h:1236
unsigned char * roi_map
Definition: aomcx.h:1235
int delta_q[8]
Definition: aomcx.h:1238
aom image scaling mode
Definition: aomcx.h:1262
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1264
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1263
Definition: aomcx.h:1300
int temporal_layer_id
Definition: aomcx.h:1302
int spatial_layer_id
Definition: aomcx.h:1301
Definition: aomcx.h:1306
int max_quantizers[32]
Definition: aomcx.h:1309
int number_spatial_layers
Definition: aomcx.h:1307
int layer_target_bitrate[32]
Definition: aomcx.h:1314
int framerate_factor[8]
Definition: aomcx.h:1316
int min_quantizers[32]
Definition: aomcx.h:1310
int scaling_factor_den[4]
Definition: aomcx.h:1312
int number_temporal_layers
Definition: aomcx.h:1308
int scaling_factor_num[4]
Definition: aomcx.h:1311
Definition: aomcx.h:1320
int reference[7]
Definition: aomcx.h:1323
int refresh[8]
Definition: aomcx.h:1326
int ref_idx[7]
Definition: aomcx.h:1325