AOMedia Codec SDK: aom/aomcx.h Source File

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_AOMCX_H_
12 #define 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
153 enum aome_enc_control_id {
156 AOME_USE_REFERENCE = 7,
157
160 AOME_SET_ROI_MAP = 8,
161
164 AOME_SET_ACTIVEMAP,
165
168 AOME_SET_SCALEMODE = 11,
169
172 AOME_SET_SPATIAL_LAYER_ID = 12,
173
182 AOME_SET_CPUUSED = 13,
183
186 AOME_SET_DEVSF,
187
190 AOME_SET_ENABLEAUTOALTREF,
191
194 AOME_SET_SHARPNESS = AOME_SET_ENABLEAUTOALTREF + 2,
195
198 AOME_SET_STATIC_THRESHOLD,
199
204 AOME_GET_LAST_QUANTIZER = AOME_SET_STATIC_THRESHOLD + 2,
205
211 AOME_GET_LAST_QUANTIZER_64,
212
215 AOME_SET_ARNR_MAXFRAMES,
216
219 AOME_SET_ARNR_STRENGTH,
220
223 AOME_SET_TUNING = AOME_SET_ARNR_STRENGTH + 2,
224
231 AOME_SET_CQ_LEVEL,
232
244 AOME_SET_MAX_INTRA_BITRATE_PCT,
245
248 AOME_SET_NUMBER_SPATIAL_LAYERS,
249
261 AV1E_SET_MAX_INTER_BITRATE_PCT = AOME_SET_MAX_INTRA_BITRATE_PCT + 2,
262
274 AV1E_SET_GF_CBR_BOOST_PCT,
275
287 AV1E_SET_LOSSLESS = AV1E_SET_GF_CBR_BOOST_PCT + 2,
288
308 AV1E_SET_TILE_COLUMNS,
309
326 AV1E_SET_TILE_ROWS,
327
338 AV1E_SET_FRAME_PARALLEL_DECODING,
339
348 AV1E_SET_ERROR_RESILIENT_MODE,
349
358 AV1E_SET_S_FRAME_MODE,
359
369 AV1E_SET_AQ_MODE,
370
382 AV1E_SET_FRAME_PERIODIC_BOOST,
383
388 AV1E_SET_NOISE_SENSITIVITY,
389
395 AV1E_SET_TUNE_CONTENT,
396
402 AV1E_SET_CDF_UPDATE_MODE,
403
424 AV1E_SET_COLOR_PRIMARIES,
425
450 AV1E_SET_TRANSFER_CHARACTERISTICS,
451
472 AV1E_SET_MATRIX_COEFFICIENTS,
473
481 AV1E_SET_CHROMA_SAMPLE_POSITION,
482
487 AV1E_SET_MIN_GF_INTERVAL,
488
493 AV1E_SET_MAX_GF_INTERVAL,
494
497 AV1E_GET_ACTIVEMAP,
498
504 AV1E_SET_COLOR_RANGE,
505
510 AV1E_SET_RENDER_SIZE,
511
517 AV1E_SET_TARGET_LEVEL,
518
521 AV1E_GET_LEVEL,
522
530 AV1E_SET_SUPERBLOCK_SIZE,
531
536 AOME_SET_ENABLEAUTOBWDREF,
537
549 AV1E_SET_ENABLE_CDEF,
550
559 AV1E_SET_ENABLE_RESTORATION,
560
570 AV1E_SET_DISABLE_TRELLIS_QUANT,
571
584 AV1E_SET_ENABLE_QM,
585
598 AV1E_SET_QM_MIN,
599
611 AV1E_SET_QM_MAX,
612
624 AV1E_SET_QM_Y,
625
637 AV1E_SET_QM_U,
638
650 AV1E_SET_QM_V,
651
665 AV1E_SET_ENABLE_DIST_8X8,
666
674 AV1E_SET_NUM_TG,
675
686 AV1E_SET_MTU,
687
698 AV1E_SET_TILE_DEPENDENT_ROWS,
699
710 AV1E_SET_ANS_WINDOW_SIZE_LOG2,
711
718 AV1E_SET_ENABLE_DF,
719
730 AV1E_SET_ENABLE_ORDER_HINT,
731
739 AV1E_SET_ENABLE_JNT_COMP,
740
748 AV1E_SET_ENABLE_REF_FRAME_MVS,
749
757 AV1E_SET_ALLOW_REF_FRAME_MVS,
758
765 AV1E_SET_ENABLE_WARPED_MOTION,
766
774 AV1E_SET_ALLOW_WARPED_MOTION,
775
781 AV1E_SET_ENABLE_SUPERRES,
782
795 AV1E_SET_TILE_LOOPFILTER_V,
796 AV1E_SET_TILE_LOOPFILTER_H,
797
810 AV1E_SET_TILE_LOOPFILTER,
811
822 AV1E_SET_DELTAQ_MODE,
823
832 AV1E_SET_SINGLE_TILE_DECODING,
833
839 AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST,
840
845 AV1E_SET_TIMING_INFO_TYPE,
846
852 AV1E_SET_FILM_GRAIN_TEST_VECTOR,
853
856 AV1E_SET_FILM_GRAIN_TABLE,
857 };
858
863 typedef enum aom_scaling_mode_1d {
864 AOME_NORMAL = 0,
865 AOME_FOURFIVE = 1,
866 AOME_THREEFIVE = 2,
867 AOME_ONETWO = 3
868 } AOM_SCALING_MODE;
869
877 #define AOM_MAX_SEGMENTS 8
878
886 typedef struct aom_roi_map {
888 unsigned char *roi_map;
889 unsigned int rows;
890 unsigned int cols;
891 int delta_q[AOM_MAX_SEGMENTS];
892 int delta_lf[AOM_MAX_SEGMENTS];
894 unsigned int static_threshold[AOM_MAX_SEGMENTS];
895 } aom_roi_map_t;
896
903 typedef struct aom_active_map {
905 unsigned char *active_map;
906 unsigned int rows;
907 unsigned int cols;
908 } aom_active_map_t;
909
915 typedef struct aom_scaling_mode {
916 AOM_SCALING_MODE h_scaling_mode;
917 AOM_SCALING_MODE v_scaling_mode;
918 } aom_scaling_mode_t;
919
921 typedef enum {
922 AOM_CONTENT_DEFAULT,
923 AOM_CONTENT_SCREEN,
924 AOM_CONTENT_INVALID
925 } aom_tune_content;
926
928 typedef enum {
929 AOM_TIMING_UNSPECIFIED,
930 AOM_TIMING_EQUAL,
931 AOM_TIMING_DEC_MODEL
932 } aom_timing_info_type_t;
933
939 typedef enum {
940 AOM_TUNE_PSNR,
941 AOM_TUNE_SSIM,
942 AOM_TUNE_CDEF_DIST,
943 AOM_TUNE_DAALA_DIST
944 } aom_tune_metric;
945
954 AOM_CTRL_USE_TYPE(AOME_USE_REFERENCE, int)
955 #define AOM_CTRL_AOME_USE_REFERENCE
956 AOM_CTRL_USE_TYPE(AOME_SET_ROI_MAP, aom_roi_map_t *)
957 #define AOM_CTRL_AOME_SET_ROI_MAP
958 AOM_CTRL_USE_TYPE(AOME_SET_ACTIVEMAP, aom_active_map_t *)
959 #define AOM_CTRL_AOME_SET_ACTIVEMAP
960 AOM_CTRL_USE_TYPE(AOME_SET_SCALEMODE, aom_scaling_mode_t *)
961 #define AOM_CTRL_AOME_SET_SCALEMODE
962
963 AOM_CTRL_USE_TYPE(AOME_SET_SPATIAL_LAYER_ID, int)
964 #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
965
966 AOM_CTRL_USE_TYPE(AOME_SET_CPUUSED, int)
967 #define AOM_CTRL_AOME_SET_CPUUSED
968 AOM_CTRL_USE_TYPE(AOME_SET_DEVSF, int)
969 #define AOM_CTRL_AOME_SET_DEVSF
970 AOM_CTRL_USE_TYPE(AOME_SET_ENABLEAUTOALTREF, unsigned int)
971 #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
972
973 AOM_CTRL_USE_TYPE(AOME_SET_ENABLEAUTOBWDREF, unsigned int)
974 #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
975
976 AOM_CTRL_USE_TYPE(AOME_SET_SHARPNESS, unsigned int)
977 #define AOM_CTRL_AOME_SET_SHARPNESS
978 AOM_CTRL_USE_TYPE(AOME_SET_STATIC_THRESHOLD, unsigned int)
979 #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
980
981 AOM_CTRL_USE_TYPE(AOME_SET_ARNR_MAXFRAMES, unsigned int)
982 #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
983 AOM_CTRL_USE_TYPE(AOME_SET_ARNR_STRENGTH, unsigned int)
984 #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
985 AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
986 #define AOM_CTRL_AOME_SET_TUNING
987 AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
988 #define AOM_CTRL_AOME_SET_CQ_LEVEL
989
990 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_COLUMNS, int)
991 #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
992 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_ROWS, int)
993 #define AOM_CTRL_AV1E_SET_TILE_ROWS
994
995 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_DEPENDENT_ROWS, int)
996 #define AOM_CTRL_AV1E_SET_TILE_DEPENDENT_ROWS
997
998 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_LOOPFILTER_V, int)
999 #define AOM_CTRL_AV1E_SET_TILE_LOOPFILTER_V
1000 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_LOOPFILTER_H, int)
1001 #define AOM_CTRL_AV1E_SET_TILE_LOOPFILTER_H
1002 AOM_CTRL_USE_TYPE(AV1E_SET_TILE_LOOPFILTER, int)
1003 #define AOM_CTRL_AV1E_SET_TILE_LOOPFILTER
1004
1005 AOM_CTRL_USE_TYPE(AOME_GET_LAST_QUANTIZER, int *)
1006 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1007 AOM_CTRL_USE_TYPE(AOME_GET_LAST_QUANTIZER_64, int *)
1008 #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1009
1010 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTRA_BITRATE_PCT, unsigned int)
1011 #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1012 AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1013 #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1014
1015 AOM_CTRL_USE_TYPE(AOME_SET_NUMBER_SPATIAL_LAYERS, int)
1016 #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1017
1018 AOM_CTRL_USE_TYPE(AV1E_SET_GF_CBR_BOOST_PCT, unsigned int)
1019 #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1020
1021 AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1022 #define AOM_CTRL_AV1E_SET_LOSSLESS
1023
1024 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_CDEF, unsigned int)
1025 #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1026
1027 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_RESTORATION, unsigned int)
1028 #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1029
1030 AOM_CTRL_USE_TYPE(AV1E_SET_DISABLE_TRELLIS_QUANT, unsigned int)
1031 #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1032
1033 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_QM, unsigned int)
1034 #define AOM_CTRL_AV1E_SET_ENABLE_QM
1035
1036 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1037 #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1038
1039 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1040 #define AOM_CTRL_AV1E_SET_QM_MIN
1041
1042 AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1043 #define AOM_CTRL_AV1E_SET_QM_MAX
1044
1045 AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1046 #define AOM_CTRL_AV1E_SET_QM_Y
1047
1048 AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1049 #define AOM_CTRL_AV1E_SET_QM_U
1050
1051 AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1052 #define AOM_CTRL_AV1E_SET_QM_V
1053
1054 AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1055 #define AOM_CTRL_AV1E_SET_NUM_TG
1056 AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1057 #define AOM_CTRL_AV1E_SET_MTU
1058
1059 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, aom_timing_info_type_t)
1060 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
1061
1062 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DF, unsigned int)
1063 #define AOM_CTRL_AV1E_SET_ENABLE_DF
1064
1065 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_ORDER_HINT, unsigned int)
1066 #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
1067
1068 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_JNT_COMP, unsigned int)
1069 #define AOM_CTRL_AV1E_SET_ENABLE_JNT_COMP
1070
1071 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_REF_FRAME_MVS, unsigned int)
1072 #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
1073
1074 AOM_CTRL_USE_TYPE(AV1E_SET_ALLOW_REF_FRAME_MVS, unsigned int)
1075 #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
1076
1077 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_WARPED_MOTION, unsigned int)
1078 #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
1079
1080 AOM_CTRL_USE_TYPE(AV1E_SET_ALLOW_WARPED_MOTION, unsigned int)
1081 #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
1082
1083 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_SUPERRES, unsigned int)
1084 #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
1085
1086 AOM_CTRL_USE_TYPE(AV1E_SET_FRAME_PARALLEL_DECODING, unsigned int)
1087 #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1088
1089 AOM_CTRL_USE_TYPE(AV1E_SET_ERROR_RESILIENT_MODE, unsigned int)
1090 #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1091
1092 AOM_CTRL_USE_TYPE(AV1E_SET_S_FRAME_MODE, unsigned int)
1093 #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1094
1095 AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1096 #define AOM_CTRL_AV1E_SET_AQ_MODE
1097
1098 AOM_CTRL_USE_TYPE(AV1E_SET_DELTAQ_MODE, unsigned int)
1099 #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
1100
1101 AOM_CTRL_USE_TYPE(AV1E_SET_FRAME_PERIODIC_BOOST, unsigned int)
1102 #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1103
1104 AOM_CTRL_USE_TYPE(AV1E_SET_NOISE_SENSITIVITY, unsigned int)
1105 #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1106
1107 AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1108 #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1109
1110 AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_PRIMARIES, int)
1111 #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1112
1113 AOM_CTRL_USE_TYPE(AV1E_SET_TRANSFER_CHARACTERISTICS, int)
1114 #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1115
1116 AOM_CTRL_USE_TYPE(AV1E_SET_MATRIX_COEFFICIENTS, int)
1117 #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1118
1119 AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SAMPLE_POSITION, int)
1120 #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1121
1122 AOM_CTRL_USE_TYPE(AV1E_SET_MIN_GF_INTERVAL, unsigned int)
1123 #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1124
1125 AOM_CTRL_USE_TYPE(AV1E_SET_MAX_GF_INTERVAL, unsigned int)
1126 #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1127
1128 AOM_CTRL_USE_TYPE(AV1E_GET_ACTIVEMAP, aom_active_map_t *)
1129 #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1130
1131 AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_RANGE, int)
1132 #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1133
1138 #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1139 AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *)
1140
1141 AOM_CTRL_USE_TYPE(AV1E_SET_SUPERBLOCK_SIZE, unsigned int)
1142 #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1143
1144 AOM_CTRL_USE_TYPE(AV1E_SET_TARGET_LEVEL, unsigned int)
1145 #define AOM_CTRL_AV1E_SET_TARGET_LEVEL
1146
1147 AOM_CTRL_USE_TYPE(AV1E_GET_LEVEL, int *)
1148 #define AOM_CTRL_AV1E_GET_LEVEL
1149
1150 AOM_CTRL_USE_TYPE(AV1E_SET_ANS_WINDOW_SIZE_LOG2, unsigned int)
1151 #define AOM_CTRL_AV1E_SET_ANS_WINDOW_SIZE_LOG2
1152
1153 AOM_CTRL_USE_TYPE(AV1E_SET_SINGLE_TILE_DECODING, unsigned int)
1154 #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
1155
1156 AOM_CTRL_USE_TYPE(AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST, unsigned int)
1157 #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
1158
1159 AOM_CTRL_USE_TYPE(AV1E_SET_FILM_GRAIN_TEST_VECTOR, unsigned int)
1160 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
1161
1162 AOM_CTRL_USE_TYPE(AV1E_SET_FILM_GRAIN_TABLE, const char *)
1163 #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
1164
1165 AOM_CTRL_USE_TYPE(AV1E_SET_CDF_UPDATE_MODE, int)
1166 #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1167
1170 #ifdef __cplusplus
1171 } // extern "C"
1172 #endif
1173
1174 #endif // AOM_AOMCX_H_
AOME_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition: aomcx.h:244
AV1E_SET_MTU
Codec control function to set an MTU size for a tile group.
Definition: aomcx.h:686
AV1E_SET_ENABLE_CDEF
Codec control function to encode with CDEF.
Definition: aomcx.h:549
AV1E_SET_TILE_DEPENDENT_ROWS
Codec control function to set dependent_horz_tiles.
Definition: aomcx.h:698
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:905
AV1E_SET_ENABLE_ORDER_HINT
Codec control function to turn on / off frame order hint for a few tools:
Definition: aomcx.h:730
aom_encoder.h
Describes the encoder algorithm interface to applications.
AV1E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition: aomcx.h:388
AV1E_SET_ENABLE_QM
Codec control function to encode with quantisation matrices.
Definition: aomcx.h:584
AV1E_SET_TIMING_INFO_TYPE
Codec control function to signal picture timing info in the bitstream.
Definition: aomcx.h:845
aom_scaling_mode_1d
aom_scaling_mode_1d
aom 1-D scaling mode
Definition: aomcx.h:863
AV1E_SET_CHROMA_SAMPLE_POSITION
Codec control function to set chroma 4:2:0 sample position info.
Definition: aomcx.h:481
AV1E_SET_DISABLE_TRELLIS_QUANT
Codec control function to encode without trellis quantization.
Definition: aomcx.h:570
AOME_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition: aomcx.h:215
AOME_SET_CQ_LEVEL
Codec control function to set constrained quality level.
Definition: aomcx.h:231
aom_roi_map_t
struct aom_roi_map aom_roi_map_t
aom region of interest map
aom.h
Provides controls common to both the AOM encoder and decoder.
AOME_SET_SCALEMODE
Codec control function to set encoder scaling mode.
Definition: aomcx.h:168
AV1E_SET_ENABLE_WARPED_MOTION
Codec control function to turn on / off warped motion usage at sequence level.
Definition: aomcx.h:765
AV1E_SET_QM_MIN
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:598
AV1E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition: aomcx.h:338
AOM_SCALING_MODE
enum aom_scaling_mode_1d AOM_SCALING_MODE
aom 1-D scaling mode
AV1E_SET_ENABLE_DF
Codec control function to turn on / off dual filter enabling/disabling.
Definition: aomcx.h:718
AV1E_SET_MATRIX_COEFFICIENTS
Codec control function to set transfer function info.
Definition: aomcx.h:472
aom_scaling_mode_t
struct aom_scaling_mode aom_scaling_mode_t
aom image scaling mode
AV1E_SET_COLOR_RANGE
Codec control function to set color range bit.
Definition: aomcx.h:504
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:852
AV1E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition: aomcx.h:261
AV1E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition: aomcx.h:308
AV1E_SET_ENABLE_DIST_8X8
Codec control function to encode with dist_8x8.
Definition: aomcx.h:665
aom_codec_iface_t
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
AOME_SET_SHARPNESS
Codec control function to set sharpness.
Definition: aomcx.h:194
AV1E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:487
aom_active_map::cols
unsigned int cols
Definition: aomcx.h:907
AV1E_SET_TILE_LOOPFILTER_V
Codec control function to set loop_filter_across_tiles_v_enabled and loop_filter_across_tiles_h_enabl...
Definition: aomcx.h:795
AOME_SET_DEVSF
Speed features for codec development.
Definition: aomcx.h:186
aom_roi_map::cols
unsigned int cols
Definition: aomcx.h:890
AOM_CTRL_USE_TYPE
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:438
AV1E_SET_ERROR_RESILIENT_MODE
Codec control function to enable error_resilient_mode.
Definition: aomcx.h:348
AV1E_SET_ENABLE_RESTORATION
Codec control function to encode with Loop Restoration Filter.
Definition: aomcx.h:559
AOME_SET_TUNING
Codec control function to set visual tuning.
Definition: aomcx.h:223
AV1E_SET_FILM_GRAIN_TABLE
Codec control function to set the path to the film grain parameters.
Definition: aomcx.h:856
AV1E_SET_ANS_WINDOW_SIZE_LOG2
Codec control function to set the number of symbols in an ANS data window.
Definition: aomcx.h:710
AV1E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: aomcx.h:493
AOME_SET_NUMBER_SPATIAL_LAYERS
Codec control function to set number of spatial layers.
Definition: aomcx.h:248
AV1E_SET_ENABLE_JNT_COMP
Codec control function to turn on / off joint compound mode at sequence level.
Definition: aomcx.h:739
aom_roi_map::delta_lf
int delta_lf[8]
Definition: aomcx.h:892
aom_active_map
aom active region map
Definition: aomcx.h:903
AV1E_SET_ENABLE_REF_FRAME_MVS
Codec control function to turn on / off ref frame mvs (mfmv) usage at sequence level.
Definition: aomcx.h:748
AOME_SET_SPATIAL_LAYER_ID
Codec control function to set encoder spatial layer id.
Definition: aomcx.h:172
AOME_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:211
AV1E_GET_ACTIVEMAP
Codec control function to get an Active map back from the encoder.
Definition: aomcx.h:497
AV1E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition: aomcx.h:287
AV1E_SET_RENDER_SIZE
Codec control function to set intended rendering image size.
Definition: aomcx.h:510
AV1E_SET_S_FRAME_MODE
Codec control function to enable s_frame_mode.
Definition: aomcx.h:358
AOME_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: aomcx.h:160
aom_scaling_mode::v_scaling_mode
AOM_SCALING_MODE v_scaling_mode
Definition: aomcx.h:917
AOME_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition: aomcx.h:182
AV1E_SET_TILE_LOOPFILTER
Codec control function to set loop_filter_across_tiles_enabled.
Definition: aomcx.h:810
AV1E_SET_DELTAQ_MODE
Codec control function to set the delta q mode.
Definition: aomcx.h:822
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:839
aom_roi_map::static_threshold
unsigned int static_threshold[8]
Definition: aomcx.h:894
AOME_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition: aomcx.h:164
aom_tune_content
aom_tune_content
Definition: aomcx.h:921
AOME_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition: aomcx.h:219
aom_roi_map::roi_map
unsigned char * roi_map
Definition: aomcx.h:888
aome_enc_control_id
aome_enc_control_id
AVx encoder control functions.
Definition: aomcx.h:153
AOME_SET_ENABLEAUTOALTREF
Codec control function to enable automatic set and use alf frames.
Definition: aomcx.h:190
AOM_MAX_SEGMENTS
#define AOM_MAX_SEGMENTS
Max number of segments.
Definition: aomcx.h:877
aom_roi_map
aom region of interest map
Definition: aomcx.h:886
aom_active_map::rows
unsigned int rows
Definition: aomcx.h:906
AV1E_SET_QM_V
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:650
AV1E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition: aomcx.h:326
AV1E_SET_QM_U
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:637
aom_scaling_mode
aom image scaling mode
Definition: aomcx.h:915
aom_active_map_t
struct aom_active_map aom_active_map_t
aom active region map
AV1E_SET_ALLOW_WARPED_MOTION
Codec control function to turn on / off warped motion usage at frame level.
Definition: aomcx.h:774
AV1E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition: aomcx.h:395
AV1E_SET_QM_MAX
Codec control function to set the max quant matrix flatness.
Definition: aomcx.h:611
aom_roi_map::delta_q
int delta_q[8]
Definition: aomcx.h:891
AV1E_SET_COLOR_PRIMARIES
Codec control function to set color space info.
Definition: aomcx.h:424
AV1E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition: aomcx.h:369
AV1E_GET_LEVEL
Codec control function to get bitstream level.
Definition: aomcx.h:521
aom_scaling_mode::h_scaling_mode
AOM_SCALING_MODE h_scaling_mode
Definition: aomcx.h:916
aom_timing_info_type_t
aom_timing_info_type_t
Definition: aomcx.h:928
AV1E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: aomcx.h:274
AV1E_SET_TARGET_LEVEL
Codec control function to set target level.
Definition: aomcx.h:517
AV1E_SET_CDF_UPDATE_MODE
Codec control function to set CDF update mode.
Definition: aomcx.h:402
aom_roi_map::rows
unsigned int rows
Definition: aomcx.h:889
AV1E_SET_TRANSFER_CHARACTERISTICS
Codec control function to set transfer function info.
Definition: aomcx.h:450
AV1E_SET_SINGLE_TILE_DECODING
Codec control function to set the single tile decoding mode to 0 or 1.
Definition: aomcx.h:832
AV1E_SET_ENABLE_SUPERRES
Codec control function to turn on / off frame superresolution.
Definition: aomcx.h:781
AV1E_SET_ALLOW_REF_FRAME_MVS
Codec control function to set temporal mv prediction enabling/disabling at frame level.
Definition: aomcx.h:757
AV1E_SET_QM_Y
Codec control function to set the min quant matrix flatness.
Definition: aomcx.h:624
AOME_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition: aomcx.h:198
aom_tune_metric
aom_tune_metric
Model tuning parameters.
Definition: aomcx.h:939
AV1E_SET_SUPERBLOCK_SIZE
Codec control function to set intended superblock size.
Definition: aomcx.h:530
AV1E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition: aomcx.h:382
AOME_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder.
Definition: aomcx.h:204
AV1E_SET_NUM_TG
Codec control function to set a maximum number of tile groups.
Definition: aomcx.h:674
AOME_SET_ENABLEAUTOBWDREF
Codec control function to enable automatic set and use bwd-pred frames.
Definition: aomcx.h:536
AOME_USE_REFERENCE
Codec control function to set which reference frame encoder can use.
Definition: aomcx.h:156