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)
51 
57 #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
58 
64 #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
65 
71 #define AOM_EFLAG_NO_REF_GF (1 << 19)
72 
79 #define AOM_EFLAG_NO_REF_ARF (1 << 20)
80 
86 #define AOM_EFLAG_NO_REF_BWD (1 << 21)
87 
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)
115 
120 #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
121 
126 #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
127 
132 #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
133 
138 #define AOM_EFLAG_SET_S_FRAME (1 << 29)
139 
144 #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
145 
157 
161 
165 
169 
176 
186 
190 
194 
198 
204 
211 
215 
219 
223 
231 
244 
248 
261 
274 
287 
293 
310 
326 
333 
345 
355 
365 
376 
389 
395 
402 
409 
431 
457 
479 
488 
494 
500 
504 
511 
517 
533 
539 
548 
554 
567 
577 
587 
597 
610 
624 
638 
651 
664 
677 
690 
705 
714 
726 
738 
746 
754 
762 
773 
783 
792 
804 
812 
823 
831 
841 
850 
859 
868 
877 
886 
895 
904 
913 
922 
931 
940 
948 
956 
965 
974 
982 
990 
998 
1005 
1008 
1011 
1014 
1027 
1033 
1043 
1050 
1056 
1063 
1067 
1070 
1073 
1076 
1079 
1082 
1085 
1088 
1091 
1094 
1098 
1102 
1105 
1113 
1121 
1127 
1134 
1141 
1145 
1150 };
1151 
1156 typedef enum aom_scaling_mode_1d {
1157  AOME_NORMAL = 0,
1158  AOME_FOURFIVE = 1,
1159  AOME_THREEFIVE = 2,
1160  AOME_ONETWO = 3
1162 
1170 #define AOM_MAX_SEGMENTS 8
1171 
1179 typedef struct aom_roi_map {
1181  unsigned char *roi_map;
1182  unsigned int rows;
1183  unsigned int cols;
1188 } aom_roi_map_t;
1189 
1196 typedef struct aom_active_map {
1198  unsigned char *active_map;
1199  unsigned int rows;
1200  unsigned int cols;
1202 
1208 typedef struct aom_scaling_mode {
1212 
1214 typedef enum {
1215  AOM_CONTENT_DEFAULT,
1216  AOM_CONTENT_SCREEN,
1217  AOM_CONTENT_INVALID
1219 
1221 typedef enum {
1222  AOM_TIMING_UNSPECIFIED,
1223  AOM_TIMING_EQUAL,
1224  AOM_TIMING_DEC_MODEL
1226 
1232 typedef enum {
1233  AOM_TUNE_PSNR,
1234  AOM_TUNE_SSIM,
1235  AOM_TUNE_CDEF_DIST,
1236  AOM_TUNE_DAALA_DIST
1237 } aom_tune_metric;
1238 
1239 #define AOM_MAX_LAYERS 32
1240 #define AOM_MAX_SS_LAYERS 4
1241 #define AOM_MAX_TS_LAYERS 8
1244 typedef struct aom_svc_layer_id {
1248 
1250 typedef struct aom_svc_params {
1262 
1265  // 7 references: LAST_FRAME (0), LAST2_FRAME(1), LAST3_FRAME(2),
1266  // GOLDEN_FRAME(3), BWDREF_FRAME(4), ALTREF2_FRAME(5), ALTREF_FRAME(6).
1268  int ref_idx[7];
1269  int refresh[8];
1271 
1281 #define AOM_CTRL_AOME_USE_REFERENCE
1283 #define AOM_CTRL_AOME_SET_ROI_MAP
1285 #define AOM_CTRL_AOME_SET_ACTIVEMAP
1287 #define AOM_CTRL_AOME_SET_SCALEMODE
1288 
1290 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1291 
1293 #define AOM_CTRL_AOME_SET_CPUUSED
1295 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1296 
1298 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1299 
1301 #define AOM_CTRL_AOME_SET_SHARPNESS
1303 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1304 
1306 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1308 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1309 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1310 #define AOM_CTRL_AOME_SET_TUNING
1311 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1312 #define AOM_CTRL_AOME_SET_CQ_LEVEL
1313 
1314 AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1315 #define AOM_CTRL_AV1E_SET_ROW_MT
1316 
1318 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1320 #define AOM_CTRL_AV1E_SET_TILE_ROWS
1321 
1323 #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1324 
1326 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1328 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1329 
1331 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1332 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1333 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1334 
1336 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1337 
1339 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1340 
1341 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1342 #define AOM_CTRL_AV1E_SET_LOSSLESS
1343 
1345 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1346 
1348 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1349 
1351 #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1352 
1354 #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1355 
1357 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1358 
1360 #define AOM_CTRL_AV1E_SET_ENABLE_QM
1361 
1363 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1364 
1365 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1366 #define AOM_CTRL_AV1E_SET_QM_MIN
1367 
1368 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1369 #define AOM_CTRL_AV1E_SET_QM_MAX
1370 
1371 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1372 #define AOM_CTRL_AV1E_SET_QM_Y
1373 
1374 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1375 #define AOM_CTRL_AV1E_SET_QM_U
1376 
1377 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1378 #define AOM_CTRL_AV1E_SET_QM_V
1379 
1380 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1381 #define AOM_CTRL_AV1E_SET_NUM_TG
1382 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1383 #define AOM_CTRL_AV1E_SET_MTU
1384 
1385 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
1386 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1387 
1389 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1390 
1392 #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1393 
1395 #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1396 
1398 #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1399 
1401 #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1402 
1404 #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1405 
1407 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1408 
1410 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
1411 
1413 #define AOM_CTRL_AV1E_SET_TXSIZE_SEARCH_METHOD
1414 
1416 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
1417 
1419 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
1420 
1422 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1423 
1425 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1426 
1428 #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
1429 
1431 #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
1432 
1434 #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
1435 
1437 #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
1438 
1440 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
1441 
1443 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
1444 
1446 #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
1447 
1449 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
1450 
1452 #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
1453 
1455 #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
1456 
1458 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1459 
1461 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1462 
1464 #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
1465 
1467 #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
1468 
1470 #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
1471 
1473 #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
1474 
1476 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1477 
1479 #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
1480 
1482 #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
1483 
1485 #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
1486 
1488 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1489 
1491 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1492 
1494 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1495 
1496 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1497 #define AOM_CTRL_AV1E_SET_AQ_MODE
1498 
1500 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1501 
1503 #define AOM_CTRL_AV1E_SET_DELTALF_MODE
1504 
1506 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1507 
1509 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1510 
1511 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1512 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1513 
1515 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1516 
1518 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1519 
1521 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1522 
1524 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1525 
1527 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1528 
1530 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1531 
1533 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1534 
1536 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1537 
1538 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1540 
1542 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1543 
1545 #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1546 
1548 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1549 
1551 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1552 
1554 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1555 
1557 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1558 
1560 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1561 
1563 #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
1564 
1566 #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
1567 
1569 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
1570 
1572 #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
1573 
1575 #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
1576 
1578 #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
1579 
1581 #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
1582 
1584 #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
1585 
1587 #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
1588 
1590 #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
1591 
1593 #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
1594 
1596 #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
1597 
1599 #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
1600 
1602 #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
1603 
1605 #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1606 
1608 #define AOM_CTRL_AV1E_SET_TIER_MASK
1609 
1610 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
1611 #define AOM_CTRL_AV1E_SET_MIN_CR
1612 
1614 #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
1615 
1617 #define AOME_CTRL_AV1E_SET_SVC_PARAMS
1618 
1620 #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
1621 
1624 #ifdef __cplusplus
1625 } // extern "C"
1626 #endif
1627 
1628 #endif // AOM_AOM_AOMCX_H_
AOME_GET_LAST_QUANTIZER_64
@ AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:210
AV1E_SET_ENABLE_DIFF_WTD_COMP
@ AV1E_SET_ENABLE_DIFF_WTD_COMP
Codec control function to turn on / off difference weighted compound.
Definition: aomcx.h:921
aom_active_map::active_map
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: aomcx.h:1198
AV1E_SET_TIER_MASK
@ 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:1126
AV1E_SET_RENDER_SIZE
@ AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size.
Definition: aomcx.h:516
AV1E_SET_DELTALF_MODE
@ AV1E_SET_DELTALF_MODE
Codec control function to turn on/off loopfilter modulation when delta q modulation is enabled....
Definition: aomcx.h:1032
AV1E_SET_S_FRAME_MODE
@ AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode.
Definition: aomcx.h:364
aom_scaling_mode
aom image scaling mode
Definition: aomcx.h:1208
AOME_SET_CPUUSED
@ AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition: aomcx.h:185
AV1E_GET_SEQ_LEVEL_IDX
@ 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:538
aom_svc_params::framerate_factor
int framerate_factor[8]
Definition: aomcx.h:1260
aom.h
Provides controls common to both the AOM encoder and decoder.
AV1E_SET_ALLOW_WARPED_MOTION
@ AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level.
Definition: aomcx.h:964
aom_svc_params::number_spatial_layers
int number_spatial_layers
Definition: aomcx.h:1251
AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
@ 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:1049
AV1E_SET_FORCE_VIDEO_MODE
@ AV1E_SET_FORCE_VIDEO_MODE
Codec control function to force video mode.
Definition: aomcx.h:586
AV1E_SET_ENABLE_DIST_WTD_COMP
@ AV1E_SET_ENABLE_DIST_WTD_COMP
Codec control function to turn on / off dist-wtd compound mode at sequence level.
Definition: aomcx.h:840
AV1E_SET_ENABLE_TX64
@ AV1E_SET_ENABLE_TX64
Codec control function to turn on / off 64-length transforms.
Definition: aomcx.h:811
AOME_SET_ACTIVEMAP
@ AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition: aomcx.h:164
AV1E_SET_AQ_MODE
@ AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition: aomcx.h:375
AV1E_SET_MAX_GF_INTERVAL
@ AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:499
AV1E_SET_TX_SIZE_SEARCH_METHOD
@ AV1E_SET_TX_SIZE_SEARCH_METHOD
Codec control function to set transform block size search method.
Definition: aomcx.h:830
AV1E_SET_ENABLE_OBMC
@ AV1E_SET_ENABLE_OBMC
Codec control function to predict with OBMC mode.
Definition: aomcx.h:596
AV1E_SET_QUANT_B_ADAPT
@ AV1E_SET_QUANT_B_ADAPT
Control to use adaptive quantize_b.
Definition: aomcx.h:1093
AV1E_SET_GF_CBR_BOOST_PCT
@ AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: aomcx.h:273
AOME_SET_SPATIAL_LAYER_ID
@ AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id, int parameter. Spatial layer id must be withi...
Definition: aomcx.h:175
AV1E_SET_ENABLE_1TO4_PARTITIONS
@ AV1E_SET_ENABLE_1TO4_PARTITIONS
Codec control function to enable/disable 1:4 and 4:1 partitions.
Definition: aomcx.h:761
aom_svc_ref_frame_config::refresh
int refresh[8]
Definition: aomcx.h:1269
aom_codec_iface_t
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
AV1E_GET_ACTIVEMAP
@ AV1E_GET_ACTIVEMAP
Codec control function to get an Active map back from the encoder.
Definition: aomcx.h:503
AOM_MAX_SS_LAYERS
#define AOM_MAX_SS_LAYERS
Definition: aomcx.h:1240
AV1E_SET_ALLOW_REF_FRAME_MVS
@ AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level.
Definition: aomcx.h:858
AOME_SET_STATIC_THRESHOLD
@ AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition: aomcx.h:197
AV1E_SET_QM_V
@ AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:689
AV1E_SET_ENABLE_PALETTE
@ AV1E_SET_ENABLE_PALETTE
Codec control function to turn on/off palette mode.
Definition: aomcx.h:1007
AV1E_SET_MODE_COST_UPD_FREQ
@ 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:1120
AOME_SET_ROI_MAP
@ AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: aomcx.h:160
AV1E_SET_QM_U
@ AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:676
AV1E_SET_ROW_MT
@ AV1E_SET_ROW_MT
Definition: aomcx.h:292
AOM_CTRL_USE_TYPE
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:429
AV1E_SET_DELTAQ_MODE
@ AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode.
Definition: aomcx.h:1026
AV1E_SET_COLOR_PRIMARIES
@ AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info.
Definition: aomcx.h:430
AV1E_SET_TUNE_CONTENT
@ AV1E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition: aomcx.h:401
AV1E_SET_QM_MAX
@ AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness.
Definition: aomcx.h:650
aom_svc_params::max_quantizers
int max_quantizers[32]
Definition: aomcx.h:1253
aom_tune_content
aom_tune_content
Definition: aomcx.h:1214
AOME_SET_ARNR_STRENGTH
@ AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition: aomcx.h:218
aome_enc_control_id
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:153
AOME_SET_ENABLEAUTOALTREF
@ AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames.
Definition: aomcx.h:189
aom_roi_map::roi_map
unsigned char * roi_map
Definition: aomcx.h:1181
aom_svc_params::number_temporal_layers
int number_temporal_layers
Definition: aomcx.h:1252
AV1E_SET_TRANSFER_CHARACTERISTICS
@ AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info.
Definition: aomcx.h:456
AV1E_SET_ENABLE_ANGLE_DELTA
@ AV1E_SET_ENABLE_ANGLE_DELTA
Codec control function to turn on/off intra angle delta.
Definition: aomcx.h:1013
AV1E_SET_SINGLE_TILE_DECODING
@ AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode to 0 or 1.
Definition: aomcx.h:1042
aom_svc_layer_id
Definition: aomcx.h:1244
AV1E_SET_MAX_PARTITION_SIZE
@ AV1E_SET_MAX_PARTITION_SIZE
Codec control function to set max partition size.
Definition: aomcx.h:782
AV1E_SET_ENABLE_SUPERRES
@ AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution.
Definition: aomcx.h:1004
AV1E_SET_QM_Y
@ AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:663
AV1E_SET_TIMING_INFO_TYPE
@ AV1E_SET_TIMING_INFO_TYPE
Codec control function to signal picture timing info in the bitstream.
Definition: aomcx.h:1055
AV1E_SET_ENABLE_SMOOTH_INTRA
@ AV1E_SET_ENABLE_SMOOTH_INTRA
Codec control function to turn on / off smooth intra modes usage.
Definition: aomcx.h:981
aom_scaling_mode_1d
aom_scaling_mode_1d
aom 1-D scaling mode
Definition: aomcx.h:1156
AV1E_SET_TILE_ROWS
@ AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition: aomcx.h:325
AOME_GET_LAST_QUANTIZER
@ AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:203
AV1E_SET_COEFF_COST_UPD_FREQ
@ 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:1112
AV1E_SET_FRAME_PERIODIC_BOOST
@ AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition: aomcx.h:388
aom_active_map::cols
unsigned int cols
Definition: aomcx.h:1200
AV1E_SET_SVC_LAYER_ID
@ 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:1140
AV1E_SET_NUM_TG
@ AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups.
Definition: aomcx.h:713
AOME_SET_ARNR_MAXFRAMES
@ AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition: aomcx.h:214
AV1E_SET_ENABLE_CHROMA_DELTAQ
@ AV1E_SET_ENABLE_CHROMA_DELTAQ
Codec control function to turn on / off delta quantization in chroma planes usage for a sequence.
Definition: aomcx.h:876
AOME_SET_ENABLEAUTOBWDREF
@ AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use bwd-pred frames.
Definition: aomcx.h:553
aom_svc_ref_frame_config
Definition: aomcx.h:1264
AV1E_SET_FRAME_PARALLEL_DECODING
@ AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition: aomcx.h:344
AV1E_SET_INTER_DCT_ONLY
@ AV1E_SET_INTER_DCT_ONLY
Control to use dct only for inter modes.
Definition: aomcx.h:1087
aom_svc_params::scaling_factor_num
int scaling_factor_num[4]
Definition: aomcx.h:1255
aom_scaling_mode_t
struct aom_scaling_mode aom_scaling_mode_t
aom image scaling mode
AV1E_SET_INTRA_DCT_ONLY
@ AV1E_SET_INTRA_DCT_ONLY
Control to use dct only for intra modes.
Definition: aomcx.h:1084
aom_svc_params::layer_target_bitrate
int layer_target_bitrate[32]
Definition: aomcx.h:1258
AV1E_SET_ENABLE_PAETH_INTRA
@ AV1E_SET_ENABLE_PAETH_INTRA
Codec control function to turn on / off Paeth intra mode usage.
Definition: aomcx.h:989
AV1E_SET_MTU
@ AV1E_SET_MTU
Codec control function to set an MTU size for a tile group.
Definition: aomcx.h:725
aom_svc_params::min_quantizers
int min_quantizers[32]
Definition: aomcx.h:1254
AOM_MAX_SEGMENTS
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:1170
aom_svc_layer_id_t
struct aom_svc_layer_id aom_svc_layer_id_t
AOM_SCALING_MODE
enum aom_scaling_mode_1d AOM_SCALING_MODE
aom 1-D scaling mode
AV1E_SET_MIN_CR
@ AV1E_SET_MIN_CR
Control to set minimum compression ratio. Take integer values. If non-zero, encoder will try to keep ...
Definition: aomcx.h:1133
AV1E_SET_CDF_UPDATE_MODE
@ AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode.
Definition: aomcx.h:408
aom_roi_map_t
struct aom_roi_map aom_roi_map_t
aom region of interest map
AOM_MAX_TS_LAYERS
#define AOM_MAX_TS_LAYERS
Definition: aomcx.h:1241
aom_svc_params
Definition: aomcx.h:1250
AV1E_SET_NOISE_SENSITIVITY
@ AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition: aomcx.h:394
aom_roi_map::rows
unsigned int rows
Definition: aomcx.h:1182
aom_scaling_mode::h_scaling_mode
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:1209
aom_tune_metric
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:1232
AOM_MAX_LAYERS
#define AOM_MAX_LAYERS
Definition: aomcx.h:1239
AV1E_SET_SUPERBLOCK_SIZE
@ AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size.
Definition: aomcx.h:547
aom_scaling_mode::v_scaling_mode
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:1210
AV1E_SET_INTRA_DEFAULT_TX_ONLY
@ AV1E_SET_INTRA_DEFAULT_TX_ONLY
Control to use default tx type only for intra modes.
Definition: aomcx.h:1090
AV1E_SET_CHROMA_SAMPLE_POSITION
@ AV1E_SET_CHROMA_SAMPLE_POSITION
Codec control function to set chroma 4:2:0 sample position info.
Definition: aomcx.h:487
aom_encoder.h
Describes the encoder algorithm interface to applications.
aom_roi_map
aom region of interest map
Definition: aomcx.h:1179
AV1E_SET_MIN_PARTITION_SIZE
@ AV1E_SET_MIN_PARTITION_SIZE
Codec control function to set min partition size.
Definition: aomcx.h:772
AV1E_SET_TARGET_SEQ_LEVEL_IDX
@ 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:532
AV1E_SET_DISABLE_TRELLIS_QUANT
@ AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization.
Definition: aomcx.h:609
aom_svc_params::scaling_factor_den
int scaling_factor_den[4]
Definition: aomcx.h:1256
AOME_SET_SCALEMODE
@ AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode.
Definition: aomcx.h:168
AOME_USE_REFERENCE
@ AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use.
Definition: aomcx.h:156
AV1E_SET_ENABLE_INTRABC
@ AV1E_SET_ENABLE_INTRABC
Codec control function to turn on/off intra block copy mode.
Definition: aomcx.h:1010
AV1E_SET_ENABLE_WARPED_MOTION
@ AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level.
Definition: aomcx.h:955
AV1E_SET_REDUCED_REFERENCE_SET
@ AV1E_SET_REDUCED_REFERENCE_SET
Control to use reduced set of single and compound references.
Definition: aomcx.h:1104
AV1E_SET_ENABLE_INTERINTER_WEDGE
@ AV1E_SET_ENABLE_INTERINTER_WEDGE
Codec control function to turn on / off interinter wedge compound.
Definition: aomcx.h:930
AV1E_SET_QM_MIN
@ AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:637
AV1E_SET_MIN_GF_INTERVAL
@ AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:493
aom_active_map
aom active region map
Definition: aomcx.h:1196
AV1E_SET_ENABLE_CFL_INTRA
@ AV1E_SET_ENABLE_CFL_INTRA
Codec control function to turn on / off CFL uv intra mode usage.
Definition: aomcx.h:997
AV1E_SET_ENABLE_FLIP_IDTX
@ AV1E_SET_ENABLE_FLIP_IDTX
Codec control function to turn on / off flip and identity transforms.
Definition: aomcx.h:822
AV1E_SET_COLOR_RANGE
@ AV1E_SET_COLOR_RANGE
Codec control function to set color range bit.
Definition: aomcx.h:510
AOME_SET_MAX_INTRA_BITRATE_PCT
@ AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition: aomcx.h:243
AV1E_SET_MATRIX_COEFFICIENTS
@ AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info.
Definition: aomcx.h:478
aom_roi_map::static_threshold
unsigned int static_threshold[8]
Definition: aomcx.h:1187
AV1E_SET_ENABLE_CDEF
@ AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF.
Definition: aomcx.h:566
AV1E_SET_FILM_GRAIN_TABLE
@ AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters.
Definition: aomcx.h:1066
AV1E_SET_FILM_GRAIN_TEST_VECTOR
@ 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:1062
AV1E_SET_MAX_INTER_BITRATE_PCT
@ AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition: aomcx.h:260
AV1E_SET_ENABLE_GLOBAL_MOTION
@ AV1E_SET_ENABLE_GLOBAL_MOTION
Codec control function to turn on / off global motion usage for a sequence.
Definition: aomcx.h:947
aom_active_map::rows
unsigned int rows
Definition: aomcx.h:1199
AV1E_SET_ANS_WINDOW_SIZE_LOG2
@ AV1E_SET_ANS_WINDOW_SIZE_LOG2
Codec control function to set the number of symbols in an ANS data window.
Definition: aomcx.h:737
aom_roi_map::cols
unsigned int cols
Definition: aomcx.h:1183
AV1E_SET_ENABLE_ORDER_HINT
@ AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint for a few tools:
Definition: aomcx.h:803
AV1E_SET_SVC_PARAMS
@ AV1E_SET_SVC_PARAMS
Codec control function to set SVC paramaeters.
Definition: aomcx.h:1144
AV1E_SET_TILE_COLUMNS
@ AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition: aomcx.h:309
AV1E_SET_SVC_REF_FRAME_CONFIG
@ 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:1149
AV1E_SET_ENABLE_QM
@ AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices.
Definition: aomcx.h:623
AV1E_SET_ENABLE_INTERINTRA_COMP
@ AV1E_SET_ENABLE_INTERINTRA_COMP
Codec control function to turn on / off interintra compound for a sequence.
Definition: aomcx.h:903
aom_roi_map::delta_q
int delta_q[8]
Definition: aomcx.h:1184
aom_svc_params_t
struct aom_svc_params aom_svc_params_t
AV1E_SET_ENABLE_DIST_8X8
@ AV1E_SET_ENABLE_DIST_8X8
Codec control function to encode with dist_8x8.
Definition: aomcx.h:704
AOME_SET_SHARPNESS
@ AOME_SET_SHARPNESS
Codec control function to set sharpness.
Definition: aomcx.h:193
AV1E_SET_ENABLE_INTERINTRA_WEDGE
@ AV1E_SET_ENABLE_INTERINTRA_WEDGE
Codec control function to turn on / off interintra wedge compound.
Definition: aomcx.h:939
AV1E_SET_DENOISE_BLOCK_SIZE
@ AV1E_SET_DENOISE_BLOCK_SIZE
Sets the denoisers block size.
Definition: aomcx.h:1072
aom_svc_layer_id::spatial_layer_id
int spatial_layer_id
Definition: aomcx.h:1245
AV1E_SET_DENOISE_NOISE_LEVEL
@ AV1E_SET_DENOISE_NOISE_LEVEL
Sets the noise level.
Definition: aomcx.h:1069
AV1E_SET_ENABLE_SMOOTH_INTERINTRA
@ AV1E_SET_ENABLE_SMOOTH_INTERINTRA
Codec control function to turn on / off smooth inter-intra mode for a sequence.
Definition: aomcx.h:912
AOME_SET_CQ_LEVEL
@ AOME_SET_CQ_LEVEL
Codec control function to set constrained quality level.
Definition: aomcx.h:230
AV1E_SET_LOSSLESS
@ AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition: aomcx.h:286
aom_svc_ref_frame_config_t
struct aom_svc_ref_frame_config aom_svc_ref_frame_config_t
AV1E_SET_ENABLE_TPL_MODEL
@ AV1E_SET_ENABLE_TPL_MODEL
Codec control function to enable RDO modulated by frame temporal dependency.
Definition: aomcx.h:332
AV1E_SET_ERROR_RESILIENT_MODE
@ AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode.
Definition: aomcx.h:354
AV1E_SET_ENABLE_RESTORATION
@ AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter.
Definition: aomcx.h:576
aom_roi_map::delta_lf
int delta_lf[8]
Definition: aomcx.h:1185
AV1E_SET_ENABLE_RECT_PARTITIONS
@ AV1E_SET_ENABLE_RECT_PARTITIONS
Codec control function to enable/disable rectangular partitions.
Definition: aomcx.h:745
aom_active_map_t
struct aom_active_map aom_active_map_t
aom active region map
AV1E_SET_ENABLE_DUAL_FILTER
@ AV1E_SET_ENABLE_DUAL_FILTER
Codec control function to turn on / off dual filter usage for a sequence.
Definition: aomcx.h:867
AOME_SET_TUNING
@ AOME_SET_TUNING
Codec control function to set visual tuning.
Definition: aomcx.h:222
AV1E_SET_ENABLE_AB_PARTITIONS
@ AV1E_SET_ENABLE_AB_PARTITIONS
Codec control function to enable/disable AB partitions.
Definition: aomcx.h:753
aom_svc_ref_frame_config::ref_idx
int ref_idx[7]
Definition: aomcx.h:1268
AV1E_SET_GF_MAX_PYRAMID_HEIGHT
@ AV1E_SET_GF_MAX_PYRAMID_HEIGHT
Control to select maximum height for the GF group pyramid structure (valid values: 0 - 4)
Definition: aomcx.h:1097
AV1E_SET_ENABLE_ONESIDED_COMP
@ AV1E_SET_ENABLE_ONESIDED_COMP
Codec control function to turn on / off one sided compound usage for a sequence.
Definition: aomcx.h:894
AV1E_SET_CHROMA_SUBSAMPLING_Y
@ AV1E_SET_CHROMA_SUBSAMPLING_Y
Sets the chroma subsampling y value.
Definition: aomcx.h:1078
AV1E_SET_ENABLE_MASKED_COMP
@ AV1E_SET_ENABLE_MASKED_COMP
Codec control function to turn on / off masked compound usage for a sequence.
Definition: aomcx.h:885
AV1E_SET_ENABLE_FILTER_INTRA
@ AV1E_SET_ENABLE_FILTER_INTRA
Codec control function to turn on / off filter intra usage at sequence level.
Definition: aomcx.h:973
AOME_SET_NUMBER_SPATIAL_LAYERS
@ AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers.
Definition: aomcx.h:247
aom_timing_info_type_t
aom_timing_info_type_t
Definition: aomcx.h:1221
AV1E_SET_ENABLE_INTRA_EDGE_FILTER
@ AV1E_SET_ENABLE_INTRA_EDGE_FILTER
Codec control function to turn on / off intra edge filter at sequence level.
Definition: aomcx.h:791
aom_svc_layer_id::temporal_layer_id
int temporal_layer_id
Definition: aomcx.h:1246
AV1E_SET_REDUCED_TX_TYPE_SET
@ AV1E_SET_REDUCED_TX_TYPE_SET
Control to use a reduced tx type set.
Definition: aomcx.h:1081
AV1E_SET_CHROMA_SUBSAMPLING_X
@ AV1E_SET_CHROMA_SUBSAMPLING_X
Sets the chroma subsampling x value.
Definition: aomcx.h:1075
AV1E_SET_MAX_REFERENCE_FRAMES
@ AV1E_SET_MAX_REFERENCE_FRAMES
Control to select maximum reference frames allowed per frame (valid values: 3 - 7)
Definition: aomcx.h:1101
AV1E_SET_ENABLE_REF_FRAME_MVS
@ AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level.
Definition: aomcx.h:849