@pproenca/ffmpeg-darwin-x64-gpl 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/include/aom/aom.h +127 -0
  2. package/include/aom/aom_codec.h +594 -0
  3. package/include/aom/aom_decoder.h +257 -0
  4. package/include/aom/aom_encoder.h +1154 -0
  5. package/include/aom/aom_external_partition.h +452 -0
  6. package/include/aom/aom_frame_buffer.h +84 -0
  7. package/include/aom/aom_image.h +462 -0
  8. package/include/aom/aom_integer.h +60 -0
  9. package/include/aom/aomcx.h +2288 -0
  10. package/include/aom/aomdx.h +607 -0
  11. package/include/dav1d/common.h +94 -0
  12. package/include/dav1d/data.h +117 -0
  13. package/include/dav1d/dav1d.h +329 -0
  14. package/include/dav1d/headers.h +444 -0
  15. package/include/dav1d/picture.h +157 -0
  16. package/include/dav1d/version.h +50 -0
  17. package/include/index.js +1 -0
  18. package/include/lame/lame.h +1342 -0
  19. package/include/libavcodec/ac3_parser.h +36 -0
  20. package/include/libavcodec/adts_parser.h +37 -0
  21. package/include/libavcodec/avcodec.h +3128 -0
  22. package/include/libavcodec/avdct.h +88 -0
  23. package/include/libavcodec/avfft.h +149 -0
  24. package/include/libavcodec/bsf.h +332 -0
  25. package/include/libavcodec/codec.h +382 -0
  26. package/include/libavcodec/codec_desc.h +134 -0
  27. package/include/libavcodec/codec_id.h +669 -0
  28. package/include/libavcodec/codec_par.h +248 -0
  29. package/include/libavcodec/d3d11va.h +109 -0
  30. package/include/libavcodec/defs.h +337 -0
  31. package/include/libavcodec/dirac.h +135 -0
  32. package/include/libavcodec/dv_profile.h +82 -0
  33. package/include/libavcodec/dxva2.h +90 -0
  34. package/include/libavcodec/jni.h +67 -0
  35. package/include/libavcodec/mediacodec.h +103 -0
  36. package/include/libavcodec/packet.h +887 -0
  37. package/include/libavcodec/qsv.h +109 -0
  38. package/include/libavcodec/vdpau.h +171 -0
  39. package/include/libavcodec/version.h +45 -0
  40. package/include/libavcodec/version_major.h +52 -0
  41. package/include/libavcodec/videotoolbox.h +85 -0
  42. package/include/libavcodec/vorbis_parser.h +74 -0
  43. package/include/libavdevice/avdevice.h +397 -0
  44. package/include/libavdevice/version.h +45 -0
  45. package/include/libavdevice/version_major.h +43 -0
  46. package/include/libavfilter/avfilter.h +1379 -0
  47. package/include/libavfilter/buffersink.h +173 -0
  48. package/include/libavfilter/buffersrc.h +215 -0
  49. package/include/libavfilter/version.h +48 -0
  50. package/include/libavfilter/version_major.h +40 -0
  51. package/include/libavformat/avformat.h +3107 -0
  52. package/include/libavformat/avio.h +831 -0
  53. package/include/libavformat/version.h +47 -0
  54. package/include/libavformat/version_major.h +54 -0
  55. package/include/libavutil/adler32.h +63 -0
  56. package/include/libavutil/aes.h +69 -0
  57. package/include/libavutil/aes_ctr.h +99 -0
  58. package/include/libavutil/ambient_viewing_environment.h +72 -0
  59. package/include/libavutil/attributes.h +173 -0
  60. package/include/libavutil/audio_fifo.h +187 -0
  61. package/include/libavutil/avassert.h +78 -0
  62. package/include/libavutil/avconfig.h +6 -0
  63. package/include/libavutil/avstring.h +428 -0
  64. package/include/libavutil/avutil.h +362 -0
  65. package/include/libavutil/base64.h +72 -0
  66. package/include/libavutil/blowfish.h +82 -0
  67. package/include/libavutil/bprint.h +254 -0
  68. package/include/libavutil/bswap.h +105 -0
  69. package/include/libavutil/buffer.h +322 -0
  70. package/include/libavutil/camellia.h +70 -0
  71. package/include/libavutil/cast5.h +80 -0
  72. package/include/libavutil/channel_layout.h +751 -0
  73. package/include/libavutil/common.h +589 -0
  74. package/include/libavutil/cpu.h +145 -0
  75. package/include/libavutil/crc.h +102 -0
  76. package/include/libavutil/csp.h +150 -0
  77. package/include/libavutil/des.h +81 -0
  78. package/include/libavutil/detection_bbox.h +108 -0
  79. package/include/libavutil/dict.h +241 -0
  80. package/include/libavutil/display.h +109 -0
  81. package/include/libavutil/dovi_meta.h +396 -0
  82. package/include/libavutil/downmix_info.h +115 -0
  83. package/include/libavutil/encryption_info.h +205 -0
  84. package/include/libavutil/error.h +129 -0
  85. package/include/libavutil/eval.h +140 -0
  86. package/include/libavutil/executor.h +67 -0
  87. package/include/libavutil/ffversion.h +5 -0
  88. package/include/libavutil/fifo.h +242 -0
  89. package/include/libavutil/file.h +62 -0
  90. package/include/libavutil/film_grain_params.h +322 -0
  91. package/include/libavutil/frame.h +1175 -0
  92. package/include/libavutil/hash.h +264 -0
  93. package/include/libavutil/hdr_dynamic_metadata.h +376 -0
  94. package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
  95. package/include/libavutil/hmac.h +99 -0
  96. package/include/libavutil/hwcontext.h +598 -0
  97. package/include/libavutil/hwcontext_cuda.h +74 -0
  98. package/include/libavutil/hwcontext_d3d11va.h +178 -0
  99. package/include/libavutil/hwcontext_d3d12va.h +142 -0
  100. package/include/libavutil/hwcontext_drm.h +169 -0
  101. package/include/libavutil/hwcontext_dxva2.h +75 -0
  102. package/include/libavutil/hwcontext_mediacodec.h +61 -0
  103. package/include/libavutil/hwcontext_opencl.h +100 -0
  104. package/include/libavutil/hwcontext_qsv.h +87 -0
  105. package/include/libavutil/hwcontext_vaapi.h +117 -0
  106. package/include/libavutil/hwcontext_vdpau.h +44 -0
  107. package/include/libavutil/hwcontext_videotoolbox.h +106 -0
  108. package/include/libavutil/hwcontext_vulkan.h +382 -0
  109. package/include/libavutil/iamf.h +690 -0
  110. package/include/libavutil/imgutils.h +377 -0
  111. package/include/libavutil/intfloat.h +77 -0
  112. package/include/libavutil/intreadwrite.h +677 -0
  113. package/include/libavutil/lfg.h +81 -0
  114. package/include/libavutil/log.h +387 -0
  115. package/include/libavutil/lzo.h +66 -0
  116. package/include/libavutil/macros.h +80 -0
  117. package/include/libavutil/mastering_display_metadata.h +137 -0
  118. package/include/libavutil/mathematics.h +300 -0
  119. package/include/libavutil/md5.h +89 -0
  120. package/include/libavutil/mem.h +607 -0
  121. package/include/libavutil/motion_vector.h +57 -0
  122. package/include/libavutil/murmur3.h +115 -0
  123. package/include/libavutil/opt.h +1187 -0
  124. package/include/libavutil/parseutils.h +197 -0
  125. package/include/libavutil/pixdesc.h +440 -0
  126. package/include/libavutil/pixelutils.h +51 -0
  127. package/include/libavutil/pixfmt.h +716 -0
  128. package/include/libavutil/random_seed.h +57 -0
  129. package/include/libavutil/rational.h +225 -0
  130. package/include/libavutil/rc4.h +69 -0
  131. package/include/libavutil/replaygain.h +50 -0
  132. package/include/libavutil/ripemd.h +83 -0
  133. package/include/libavutil/samplefmt.h +269 -0
  134. package/include/libavutil/sha.h +90 -0
  135. package/include/libavutil/sha512.h +92 -0
  136. package/include/libavutil/spherical.h +243 -0
  137. package/include/libavutil/stereo3d.h +325 -0
  138. package/include/libavutil/tea.h +71 -0
  139. package/include/libavutil/threadmessage.h +115 -0
  140. package/include/libavutil/time.h +56 -0
  141. package/include/libavutil/timecode.h +199 -0
  142. package/include/libavutil/timestamp.h +85 -0
  143. package/include/libavutil/tree.h +137 -0
  144. package/include/libavutil/twofish.h +70 -0
  145. package/include/libavutil/tx.h +210 -0
  146. package/include/libavutil/uuid.h +146 -0
  147. package/include/libavutil/version.h +124 -0
  148. package/include/libavutil/video_enc_params.h +171 -0
  149. package/include/libavutil/video_hint.h +107 -0
  150. package/include/libavutil/xtea.h +94 -0
  151. package/include/libpostproc/postprocess.h +107 -0
  152. package/include/libpostproc/version.h +46 -0
  153. package/include/libpostproc/version_major.h +31 -0
  154. package/include/libswresample/swresample.h +587 -0
  155. package/include/libswresample/version.h +46 -0
  156. package/include/libswresample/version_major.h +31 -0
  157. package/include/libswscale/swscale.h +460 -0
  158. package/include/libswscale/version.h +44 -0
  159. package/include/libswscale/version_major.h +35 -0
  160. package/include/ogg/config_types.h +26 -0
  161. package/include/ogg/ogg.h +209 -0
  162. package/include/ogg/os_types.h +158 -0
  163. package/include/opus/opus.h +1099 -0
  164. package/include/opus/opus_defines.h +830 -0
  165. package/include/opus/opus_multistream.h +660 -0
  166. package/include/opus/opus_projection.h +568 -0
  167. package/include/opus/opus_types.h +166 -0
  168. package/include/svt-av1/EbDebugMacros.h +88 -0
  169. package/include/svt-av1/EbSvtAv1.h +462 -0
  170. package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
  171. package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
  172. package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
  173. package/include/svt-av1/EbSvtAv1Formats.h +126 -0
  174. package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
  175. package/include/vorbis/codec.h +242 -0
  176. package/include/vorbis/vorbisenc.h +435 -0
  177. package/include/vorbis/vorbisfile.h +205 -0
  178. package/include/vpx/vp8.h +136 -0
  179. package/include/vpx/vp8cx.h +1118 -0
  180. package/include/vpx/vp8dx.h +228 -0
  181. package/include/vpx/vpx_codec.h +475 -0
  182. package/include/vpx/vpx_decoder.h +367 -0
  183. package/include/vpx/vpx_encoder.h +1150 -0
  184. package/include/vpx/vpx_ext_ratectrl.h +590 -0
  185. package/include/vpx/vpx_frame_buffer.h +83 -0
  186. package/include/vpx/vpx_image.h +221 -0
  187. package/include/vpx/vpx_integer.h +40 -0
  188. package/include/vpx/vpx_tpl.h +68 -0
  189. package/include/x264.h +1027 -0
  190. package/include/x264_config.h +6 -0
  191. package/include/x265.h +2737 -0
  192. package/include/x265_config.h +34 -0
  193. package/lib/index.js +1 -0
  194. package/lib/libSvtAv1Enc.a +0 -0
  195. package/lib/libaom.a +0 -0
  196. package/lib/libavcodec.a +0 -0
  197. package/lib/libavdevice.a +0 -0
  198. package/lib/libavfilter.a +0 -0
  199. package/lib/libavformat.a +0 -0
  200. package/lib/libavutil.a +0 -0
  201. package/lib/libdav1d.a +0 -0
  202. package/lib/libmp3lame.a +0 -0
  203. package/lib/libogg.a +0 -0
  204. package/lib/libopus.a +0 -0
  205. package/lib/libpostproc.a +0 -0
  206. package/lib/libswresample.a +0 -0
  207. package/lib/libswscale.a +0 -0
  208. package/lib/libvorbis.a +0 -0
  209. package/lib/libvorbisenc.a +0 -0
  210. package/lib/libvorbisfile.a +0 -0
  211. package/lib/libvpx.a +0 -0
  212. package/lib/libx264.a +0 -0
  213. package/lib/libx265.a +0 -0
  214. package/package.json +35 -0
  215. package/versions.json +1 -0
@@ -0,0 +1,2288 @@
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
+
14
+ /*!\defgroup aom_encoder AOMedia AOM/AV1 Encoder
15
+ * \ingroup aom
16
+ *
17
+ * @{
18
+ */
19
+ #include "aom/aom.h"
20
+ #include "aom/aom_encoder.h"
21
+ #include "aom/aom_external_partition.h"
22
+
23
+ /*!\file
24
+ * \brief Provides definitions for using AOM or AV1 encoder algorithm within the
25
+ * aom Codec Interface.
26
+ *
27
+ * Several interfaces are excluded with CONFIG_REALTIME_ONLY build:
28
+ * Global motion
29
+ * Warped motion
30
+ * OBMC
31
+ * TPL model
32
+ * Loop restoration
33
+ *
34
+ * The following features are also disabled with CONFIG_REALTIME_ONLY:
35
+ * AV1E_SET_QUANT_B_ADAPT
36
+ * CNN
37
+ * 4X rectangular blocks
38
+ * 4X rectangular transform in intra prediction
39
+ */
40
+
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+ /*!\name Algorithm interface for AV1
46
+ *
47
+ * This interface provides the capability to encode raw AV1 streams.
48
+ *@{
49
+ */
50
+
51
+ /*!\brief A single instance of the AV1 encoder.
52
+ *\deprecated This access mechanism is provided for backwards compatibility;
53
+ * prefer aom_codec_av1_cx().
54
+ */
55
+ extern aom_codec_iface_t aom_codec_av1_cx_algo;
56
+
57
+ /*!\brief The interface to the AV1 encoder.
58
+ */
59
+ extern aom_codec_iface_t *aom_codec_av1_cx(void);
60
+ /*!@} - end algorithm interface member group */
61
+
62
+ /*
63
+ * Algorithm Flags
64
+ */
65
+
66
+ /*!\brief Don't reference the last frame
67
+ *
68
+ * When this flag is set, the encoder will not use the last frame as a
69
+ * predictor. When not set, the encoder will choose whether to use the
70
+ * last frame or not automatically.
71
+ */
72
+ #define AOM_EFLAG_NO_REF_LAST (1 << 16)
73
+ /*!\brief Don't reference the last2 frame
74
+ *
75
+ * When this flag is set, the encoder will not use the last2 frame as a
76
+ * predictor. When not set, the encoder will choose whether to use the
77
+ * last2 frame or not automatically.
78
+ */
79
+ #define AOM_EFLAG_NO_REF_LAST2 (1 << 17)
80
+ /*!\brief Don't reference the last3 frame
81
+ *
82
+ * When this flag is set, the encoder will not use the last3 frame as a
83
+ * predictor. When not set, the encoder will choose whether to use the
84
+ * last3 frame or not automatically.
85
+ */
86
+ #define AOM_EFLAG_NO_REF_LAST3 (1 << 18)
87
+ /*!\brief Don't reference the golden frame
88
+ *
89
+ * When this flag is set, the encoder will not use the golden frame as a
90
+ * predictor. When not set, the encoder will choose whether to use the
91
+ * golden frame or not automatically.
92
+ */
93
+ #define AOM_EFLAG_NO_REF_GF (1 << 19)
94
+
95
+ /*!\brief Don't reference the alternate reference frame
96
+ *
97
+ * When this flag is set, the encoder will not use the alt ref frame as a
98
+ * predictor. When not set, the encoder will choose whether to use the
99
+ * alt ref frame or not automatically.
100
+ */
101
+ #define AOM_EFLAG_NO_REF_ARF (1 << 20)
102
+ /*!\brief Don't reference the bwd reference frame
103
+ *
104
+ * When this flag is set, the encoder will not use the bwd ref frame as a
105
+ * predictor. When not set, the encoder will choose whether to use the
106
+ * bwd ref frame or not automatically.
107
+ */
108
+ #define AOM_EFLAG_NO_REF_BWD (1 << 21)
109
+ /*!\brief Don't reference the alt2 reference frame
110
+ *
111
+ * When this flag is set, the encoder will not use the alt2 ref frame as a
112
+ * predictor. When not set, the encoder will choose whether to use the
113
+ * alt2 ref frame or not automatically.
114
+ */
115
+ #define AOM_EFLAG_NO_REF_ARF2 (1 << 22)
116
+
117
+ /*!\brief Don't update the last frame
118
+ *
119
+ * When this flag is set, the encoder will not update the last frame with
120
+ * the contents of the current frame.
121
+ */
122
+ #define AOM_EFLAG_NO_UPD_LAST (1 << 23)
123
+
124
+ /*!\brief Don't update the golden frame
125
+ *
126
+ * When this flag is set, the encoder will not update the golden frame with
127
+ * the contents of the current frame.
128
+ */
129
+ #define AOM_EFLAG_NO_UPD_GF (1 << 24)
130
+
131
+ /*!\brief Don't update the alternate reference frame
132
+ *
133
+ * When this flag is set, the encoder will not update the alt ref frame with
134
+ * the contents of the current frame.
135
+ */
136
+ #define AOM_EFLAG_NO_UPD_ARF (1 << 25)
137
+ /*!\brief Disable entropy update
138
+ *
139
+ * When this flag is set, the encoder will not update its internal entropy
140
+ * model based on the entropy of this frame.
141
+ */
142
+ #define AOM_EFLAG_NO_UPD_ENTROPY (1 << 26)
143
+ /*!\brief Disable ref frame mvs
144
+ *
145
+ * When this flag is set, the encoder will not allow frames to
146
+ * be encoded using mfmv.
147
+ */
148
+ #define AOM_EFLAG_NO_REF_FRAME_MVS (1 << 27)
149
+ /*!\brief Enable error resilient frame
150
+ *
151
+ * When this flag is set, the encoder will code frames as error
152
+ * resilient.
153
+ */
154
+ #define AOM_EFLAG_ERROR_RESILIENT (1 << 28)
155
+ /*!\brief Enable s frame mode
156
+ *
157
+ * When this flag is set, the encoder will code frames as an
158
+ * s frame.
159
+ */
160
+ #define AOM_EFLAG_SET_S_FRAME (1 << 29)
161
+ /*!\brief Force primary_ref_frame to PRIMARY_REF_NONE
162
+ *
163
+ * When this flag is set, the encoder will set a frame's primary_ref_frame
164
+ * to PRIMARY_REF_NONE
165
+ */
166
+ #define AOM_EFLAG_SET_PRIMARY_REF_NONE (1 << 30)
167
+
168
+ /*!\brief AVx encoder control functions
169
+ *
170
+ * This set of macros define the control functions available for AVx
171
+ * encoder interface.
172
+ * The range of encode control ID is 7-229(max).
173
+ *
174
+ * \sa #aom_codec_control(aom_codec_ctx_t *ctx, int ctrl_id, ...)
175
+ */
176
+ enum aome_enc_control_id {
177
+ /*!\brief Codec control function to set which reference frame encoder can use,
178
+ * int parameter.
179
+ */
180
+ AOME_USE_REFERENCE = 7,
181
+
182
+ /*!\brief Codec control function to pass an ROI map to encoder, aom_roi_map_t*
183
+ * parameter.
184
+ */
185
+ AOME_SET_ROI_MAP = 8,
186
+
187
+ /*!\brief Codec control function to pass an Active map to encoder,
188
+ * aom_active_map_t* parameter.
189
+ */
190
+ AOME_SET_ACTIVEMAP = 9,
191
+
192
+ /* NOTE: enum 10 unused */
193
+
194
+ /*!\brief Codec control function to set encoder scaling mode for the next
195
+ * frame to be coded, aom_scaling_mode_t* parameter.
196
+ */
197
+ AOME_SET_SCALEMODE = 11,
198
+
199
+ /*!\brief Codec control function to set encoder spatial layer id, int
200
+ * parameter.
201
+ */
202
+ AOME_SET_SPATIAL_LAYER_ID = 12,
203
+
204
+ /*!\brief Codec control function to set encoder internal speed settings,
205
+ * int parameter
206
+ *
207
+ * Changes in this value influences the complexity of algorithms used in
208
+ * encoding process, values greater than 0 will increase encoder speed at
209
+ * the expense of quality.
210
+ *
211
+ * Valid range: 0..11. 0 runs the slowest, and 11 runs the fastest;
212
+ * quality improves as speed decreases (since more compression
213
+ * possibilities are explored).
214
+ *
215
+ * NOTE: 10 and 11 are only allowed in AOM_USAGE_REALTIME. In
216
+ * AOM_USAGE_GOOD_QUALITY and AOM_USAGE_ALL_INTRA, 9 is the highest allowed
217
+ * value. However, AOM_USAGE_GOOD_QUALITY treats 7..9 the same as 6. Also,
218
+ * AOM_USAGE_REALTIME treats 0..4 the same as 5.
219
+ */
220
+ AOME_SET_CPUUSED = 13,
221
+
222
+ /*!\brief Codec control function to enable automatic set and use alf frames,
223
+ * unsigned int parameter
224
+ *
225
+ * - 0 = disable
226
+ * - 1 = enable (default)
227
+ */
228
+ AOME_SET_ENABLEAUTOALTREF = 14,
229
+
230
+ /* NOTE: enum 15 unused */
231
+
232
+ /*!\brief Codec control function to set the sharpness parameter,
233
+ * unsigned int parameter.
234
+ *
235
+ * This parameter controls the level at which rate-distortion optimization of
236
+ * transform coefficients favors sharpness in the block.
237
+ *
238
+ * Valid range: 0..7. The default is 0.
239
+ *
240
+ * Values 1-7 will avoid eob and skip block optimization and will change
241
+ * rdmult in favor of block sharpness.
242
+ *
243
+ * In all-intra mode: it also sets the `loop_filter_sharpness` syntax element
244
+ * in the bitstream. Larger values increasingly reduce how much the filtering
245
+ * can change the sample values on block edges to favor perceived sharpness.
246
+ */
247
+ AOME_SET_SHARPNESS = AOME_SET_ENABLEAUTOALTREF + 2, // 16
248
+
249
+ /*!\brief Codec control function to set the threshold for MBs treated static,
250
+ * unsigned int parameter
251
+ */
252
+ AOME_SET_STATIC_THRESHOLD = 17,
253
+
254
+ /* NOTE: enum 18 unused */
255
+
256
+ /*!\brief Codec control function to get last quantizer chosen by the encoder,
257
+ * int* parameter
258
+ *
259
+ * Return value uses internal quantizer scale defined by the codec.
260
+ */
261
+ AOME_GET_LAST_QUANTIZER = AOME_SET_STATIC_THRESHOLD + 2, // 19
262
+
263
+ /*!\brief Codec control function to get last quantizer chosen by the encoder,
264
+ * int* parameter
265
+ *
266
+ * Return value uses the 0..63 scale as used by the rc_*_quantizer config
267
+ * parameters.
268
+ */
269
+ AOME_GET_LAST_QUANTIZER_64 = 20,
270
+
271
+ /*!\brief Codec control function to set the max no of frames to create arf,
272
+ * unsigned int parameter
273
+ */
274
+ AOME_SET_ARNR_MAXFRAMES = 21,
275
+
276
+ /*!\brief Codec control function to set the filter strength for the arf,
277
+ * unsigned int parameter
278
+ */
279
+ AOME_SET_ARNR_STRENGTH = 22,
280
+
281
+ /* NOTE: enum 23 unused */
282
+
283
+ /*!\brief Codec control function to set visual tuning, aom_tune_metric (int)
284
+ * parameter
285
+ *
286
+ * The default is AOM_TUNE_PSNR.
287
+ */
288
+ AOME_SET_TUNING = AOME_SET_ARNR_STRENGTH + 2, // 24
289
+
290
+ /*!\brief Codec control function to set constrained / constant quality level,
291
+ * unsigned int parameter
292
+ *
293
+ * Valid range: 0..63
294
+ *
295
+ * \attention For this value to be used aom_codec_enc_cfg_t::rc_end_usage
296
+ * must be set to #AOM_CQ or #AOM_Q.
297
+ */
298
+ AOME_SET_CQ_LEVEL = 25,
299
+
300
+ /*!\brief Codec control function to set max data rate for intra frames,
301
+ * unsigned int parameter
302
+ *
303
+ * This value controls additional clamping on the maximum size of a
304
+ * keyframe. It is expressed as a percentage of the average
305
+ * per-frame bitrate, with the special (and default) value 0 meaning
306
+ * unlimited, or no additional clamping beyond the codec's built-in
307
+ * algorithm.
308
+ *
309
+ * For example, to allocate no more than 4.5 frames worth of bitrate
310
+ * to a keyframe, set this to 450.
311
+ */
312
+ AOME_SET_MAX_INTRA_BITRATE_PCT = 26,
313
+
314
+ /*!\brief Codec control function to set number of spatial layers, int
315
+ * parameter
316
+ */
317
+ AOME_SET_NUMBER_SPATIAL_LAYERS = 27,
318
+
319
+ /*!\brief Codec control function to set max data rate for inter frames,
320
+ * unsigned int parameter
321
+ *
322
+ * This value controls additional clamping on the maximum size of an
323
+ * inter frame. It is expressed as a percentage of the average
324
+ * per-frame bitrate, with the special (and default) value 0 meaning
325
+ * unlimited, or no additional clamping beyond the codec's built-in
326
+ * algorithm.
327
+ *
328
+ * For example, to allow no more than 4.5 frames worth of bitrate
329
+ * to an inter frame, set this to 450.
330
+ */
331
+ AV1E_SET_MAX_INTER_BITRATE_PCT = AOME_SET_MAX_INTRA_BITRATE_PCT + 2, // 28
332
+
333
+ /*!\brief Boost percentage for Golden Frame in CBR mode, unsigned int
334
+ * parameter
335
+ *
336
+ * This value controls the amount of boost given to Golden Frame in
337
+ * CBR mode. It is expressed as a percentage of the average
338
+ * per-frame bitrate, with the special (and default) value 0 meaning
339
+ * the feature is off, i.e., no golden frame boost in CBR mode and
340
+ * average bitrate target is used.
341
+ *
342
+ * For example, to allow 100% more bits, i.e, 2X, in a golden frame
343
+ * than average frame, set this to 100.
344
+ */
345
+ AV1E_SET_GF_CBR_BOOST_PCT = 29,
346
+
347
+ /* NOTE: enum 30 unused */
348
+
349
+ /*!\brief Codec control function to set lossless encoding mode, unsigned int
350
+ * parameter
351
+ *
352
+ * AV1 can operate in lossless encoding mode, in which the bitstream
353
+ * produced will be able to decode and reconstruct a perfect copy of
354
+ * input source.
355
+ *
356
+ * - 0 = normal coding mode, may be lossy (default)
357
+ * - 1 = lossless coding mode
358
+ */
359
+ AV1E_SET_LOSSLESS = AV1E_SET_GF_CBR_BOOST_PCT + 2, // 31
360
+
361
+ /*!\brief Codec control function to enable the row based multi-threading
362
+ * of the encoder, unsigned int parameter
363
+ *
364
+ * - 0 = disable
365
+ * - 1 = enable (default)
366
+ */
367
+ AV1E_SET_ROW_MT = 32,
368
+
369
+ /*!\brief Codec control function to set number of tile columns. unsigned int
370
+ * parameter
371
+ *
372
+ * In encoding and decoding, AV1 allows an input image frame be partitioned
373
+ * into separate vertical tile columns, which can be encoded or decoded
374
+ * independently. This enables easy implementation of parallel encoding and
375
+ * decoding. The parameter for this control describes the number of tile
376
+ * columns (in log2 units), which has a valid range of [0, 6]:
377
+ * \verbatim
378
+ 0 = 1 tile column
379
+ 1 = 2 tile columns
380
+ 2 = 4 tile columns
381
+ .....
382
+ n = 2**n tile columns
383
+ \endverbatim
384
+ * By default, the value is 0, i.e. one single column tile for entire image.
385
+ */
386
+ AV1E_SET_TILE_COLUMNS = 33,
387
+
388
+ /*!\brief Codec control function to set number of tile rows, unsigned int
389
+ * parameter
390
+ *
391
+ * In encoding and decoding, AV1 allows an input image frame be partitioned
392
+ * into separate horizontal tile rows, which can be encoded or decoded
393
+ * independently. The parameter for this control describes the number of tile
394
+ * rows (in log2 units), which has a valid range of [0, 6]:
395
+ * \verbatim
396
+ 0 = 1 tile row
397
+ 1 = 2 tile rows
398
+ 2 = 4 tile rows
399
+ .....
400
+ n = 2**n tile rows
401
+ \endverbatim
402
+ * By default, the value is 0, i.e. one single row tile for entire image.
403
+ */
404
+ AV1E_SET_TILE_ROWS = 34,
405
+
406
+ /*!\brief Codec control function to enable RDO modulated by frame temporal
407
+ * dependency, unsigned int parameter
408
+ *
409
+ * - 0 = disable
410
+ * - 1 = enable (default)
411
+ *
412
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
413
+ */
414
+ AV1E_SET_ENABLE_TPL_MODEL = 35,
415
+
416
+ /*!\brief Codec control function to enable temporal filtering on key frame,
417
+ * unsigned int parameter
418
+ *
419
+ * - 0 = disable
420
+ * - 1 = enable without overlay (default)
421
+ * - 2 = enable with overlay
422
+ */
423
+ AV1E_SET_ENABLE_KEYFRAME_FILTERING = 36,
424
+
425
+ /*!\brief Codec control function to enable frame parallel decoding feature,
426
+ * unsigned int parameter
427
+ *
428
+ * AV1 has a bitstream feature to reduce decoding dependency between frames
429
+ * by turning off backward update of probability context used in encoding
430
+ * and decoding. This allows staged parallel processing of more than one
431
+ * video frames in the decoder. This control function provides a means to
432
+ * turn this feature on or off for bitstreams produced by encoder.
433
+ *
434
+ * - 0 = disable (default)
435
+ * - 1 = enable
436
+ */
437
+ AV1E_SET_FRAME_PARALLEL_DECODING = 37,
438
+
439
+ /*!\brief Codec control function to enable error_resilient_mode, int parameter
440
+ *
441
+ * AV1 has a bitstream feature to guarantee parsability of a frame
442
+ * by turning on the error_resilient_decoding mode, even though the
443
+ * reference buffers are unreliable or not received.
444
+ *
445
+ * - 0 = disable (default)
446
+ * - 1 = enable
447
+ */
448
+ AV1E_SET_ERROR_RESILIENT_MODE = 38,
449
+
450
+ /*!\brief Codec control function to enable s_frame_mode, int parameter
451
+ *
452
+ * AV1 has a bitstream feature to designate certain frames as S-frames,
453
+ * from where we can switch to a different stream,
454
+ * even though the reference buffers may not be exactly identical.
455
+ *
456
+ * - 0 = disable (default)
457
+ * - 1 = enable
458
+ */
459
+ AV1E_SET_S_FRAME_MODE = 39,
460
+
461
+ /*!\brief Codec control function to set adaptive quantization mode, unsigned
462
+ * int parameter
463
+ *
464
+ * AV1 has a segment based feature that allows encoder to adaptively change
465
+ * quantization parameter for each segment within a frame to improve the
466
+ * subjective quality. This control makes encoder operate in one of the
467
+ * several AQ modes supported.
468
+ *
469
+ * - 0 = disable (default)
470
+ * - 1 = variance
471
+ * - 2 = complexity
472
+ * - 3 = cyclic refresh
473
+ */
474
+ AV1E_SET_AQ_MODE = 40,
475
+
476
+ /*!\brief Codec control function to enable/disable periodic Q boost, unsigned
477
+ * int parameter
478
+ *
479
+ * One AV1 encoder speed feature is to enable quality boost by lowering
480
+ * frame level Q periodically. This control function provides a means to
481
+ * turn on/off this feature.
482
+ *
483
+ * - 0 = disable (default)
484
+ * - 1 = enable
485
+ */
486
+ AV1E_SET_FRAME_PERIODIC_BOOST = 41,
487
+
488
+ /*!\brief Codec control function to set noise sensitivity, unsigned int
489
+ * parameter
490
+ *
491
+ * - 0 = disable (default)
492
+ * - 1 = enable (Y only)
493
+ */
494
+ AV1E_SET_NOISE_SENSITIVITY = 42,
495
+
496
+ /*!\brief Codec control function to set content type, aom_tune_content
497
+ * parameter
498
+ *
499
+ * - AOM_CONTENT_DEFAULT = Regular video content (default)
500
+ * - AOM_CONTENT_SCREEN = Screen capture content
501
+ * - AOM_CONTENT_FILM = Film content
502
+ */
503
+ AV1E_SET_TUNE_CONTENT = 43,
504
+
505
+ /*!\brief Codec control function to set CDF update mode, unsigned int
506
+ * parameter
507
+ *
508
+ * - 0: no update
509
+ * - 1: update on every frame (default)
510
+ * - 2: selectively update
511
+ */
512
+ AV1E_SET_CDF_UPDATE_MODE = 44,
513
+
514
+ /*!\brief Codec control function to set color space info, int parameter
515
+ *
516
+ * - 0 = For future use
517
+ * - 1 = BT.709
518
+ * - 2 = Unspecified (default)
519
+ * - 3 = For future use
520
+ * - 4 = BT.470 System M (historical)
521
+ * - 5 = BT.470 System B, G (historical)
522
+ * - 6 = BT.601
523
+ * - 7 = SMPTE 240
524
+ * - 8 = Generic film (color filters using illuminant C)
525
+ * - 9 = BT.2020, BT.2100
526
+ * - 10 = SMPTE 428 (CIE 1921 XYZ)
527
+ * - 11 = SMPTE RP 431-2
528
+ * - 12 = SMPTE EG 432-1
529
+ * - 13..21 = For future use
530
+ * - 22 = EBU Tech. 3213-E
531
+ * - 23 = For future use
532
+ */
533
+ AV1E_SET_COLOR_PRIMARIES = 45,
534
+
535
+ /*!\brief Codec control function to set transfer function info, int parameter
536
+ *
537
+ * - 0 = For future use
538
+ * - 1 = BT.709
539
+ * - 2 = Unspecified (default)
540
+ * - 3 = For future use
541
+ * - 4 = BT.470 System M (historical)
542
+ * - 5 = BT.470 System B, G (historical)
543
+ * - 6 = BT.601
544
+ * - 7 = SMPTE 240 M
545
+ * - 8 = Linear
546
+ * - 9 = Logarithmic (100 : 1 range)
547
+ * - 10 = Logarithmic (100 * Sqrt(10) : 1 range)
548
+ * - 11 = IEC 61966-2-4
549
+ * - 12 = BT.1361
550
+ * - 13 = sRGB or sYCC
551
+ * - 14 = BT.2020 10-bit systems
552
+ * - 15 = BT.2020 12-bit systems
553
+ * - 16 = SMPTE ST 2084, ITU BT.2100 PQ
554
+ * - 17 = SMPTE ST 428
555
+ * - 18 = BT.2100 HLG, ARIB STD-B67
556
+ * - 19 = For future use
557
+ */
558
+ AV1E_SET_TRANSFER_CHARACTERISTICS = 46,
559
+
560
+ /*!\brief Codec control function to set transfer function info, int parameter
561
+ *
562
+ * - 0 = Identity matrix
563
+ * - 1 = BT.709
564
+ * - 2 = Unspecified (default)
565
+ * - 3 = For future use
566
+ * - 4 = US FCC 73.628
567
+ * - 5 = BT.470 System B, G (historical)
568
+ * - 6 = BT.601
569
+ * - 7 = SMPTE 240 M
570
+ * - 8 = YCgCo
571
+ * - 9 = BT.2020 non-constant luminance, BT.2100 YCbCr
572
+ * - 10 = BT.2020 constant luminance
573
+ * - 11 = SMPTE ST 2085 YDzDx
574
+ * - 12 = Chromaticity-derived non-constant luminance
575
+ * - 13 = Chromaticity-derived constant luminance
576
+ * - 14 = BT.2100 ICtCp
577
+ * - 15 = For future use
578
+ */
579
+ AV1E_SET_MATRIX_COEFFICIENTS = 47,
580
+
581
+ /*!\brief Codec control function to set chroma 4:2:0 sample position info,
582
+ * aom_chroma_sample_position_t parameter
583
+ *
584
+ * AOM_CSP_UNKNOWN is default
585
+ */
586
+ AV1E_SET_CHROMA_SAMPLE_POSITION = 48,
587
+
588
+ /*!\brief Codec control function to set minimum interval between GF/ARF
589
+ * frames, unsigned int parameter
590
+ *
591
+ * By default the value is set as 4.
592
+ */
593
+ AV1E_SET_MIN_GF_INTERVAL = 49,
594
+
595
+ /*!\brief Codec control function to set minimum interval between GF/ARF
596
+ * frames, unsigned int parameter
597
+ *
598
+ * By default the value is set as 16.
599
+ */
600
+ AV1E_SET_MAX_GF_INTERVAL = 50,
601
+
602
+ /*!\brief Codec control function to get an active map back from the encoder,
603
+ aom_active_map_t* parameter
604
+ */
605
+ AV1E_GET_ACTIVEMAP = 51,
606
+
607
+ /*!\brief Codec control function to set color range bit, int parameter
608
+ *
609
+ * - 0 = Limited range, 16..235 or HBD equivalent (default)
610
+ * - 1 = Full range, 0..255 or HBD equivalent
611
+ */
612
+ AV1E_SET_COLOR_RANGE = 52,
613
+
614
+ /*!\brief Codec control function to set intended rendering image size,
615
+ * int32_t[2] parameter
616
+ *
617
+ * By default, this is identical to the image size in pixels.
618
+ */
619
+ AV1E_SET_RENDER_SIZE = 53,
620
+
621
+ /*!\brief Control to set target sequence level index for a certain operating
622
+ * point (OP), int parameter
623
+ * Possible values are in the form of "ABxy".
624
+ * - AB: OP index.
625
+ * - xy: Target level index for the OP. Possible values are:
626
+ * + 0~27: corresponding to level 2.0 ~ 8.3. Note:
627
+ * > Levels 2.2 (2), 2.3 (3), 3.2 (6), 3.3 (7), 4.2 (10) & 4.3 (11) are
628
+ * undefined.
629
+ * > Levels 7.x and 8.x (20~27) are in draft status, available under the
630
+ * config flag CONFIG_CWG_C013.
631
+ * + 31: maximum parameters level, no level-based constraints.
632
+ * + 32: keep level stats only for level monitoring.
633
+ *
634
+ * E.g.:
635
+ * - "0" means target level index 0 (2.0) for the 0th OP;
636
+ * - "109" means target level index 9 (4.1) for the 1st OP;
637
+ * - "1019" means target level index 19 (6.3) for the 10th OP.
638
+ *
639
+ * If the target level is not specified for an OP, the maximum parameters
640
+ * level of 31 is used as default.
641
+ */
642
+ AV1E_SET_TARGET_SEQ_LEVEL_IDX = 54,
643
+
644
+ /*!\brief Codec control function to get sequence level index for each
645
+ * operating point. int* parameter. There can be at most 32 operating points.
646
+ * The results will be written into a provided integer array of sufficient
647
+ * size.
648
+ */
649
+ AV1E_GET_SEQ_LEVEL_IDX = 55,
650
+
651
+ /*!\brief Codec control function to set intended superblock size, unsigned int
652
+ * parameter
653
+ *
654
+ * By default, the superblock size is determined separately for each
655
+ * frame by the encoder.
656
+ */
657
+ AV1E_SET_SUPERBLOCK_SIZE = 56,
658
+
659
+ /*!\brief Codec control function to enable automatic set and use of
660
+ * bwd-pred frames, unsigned int parameter
661
+ *
662
+ * - 0 = disable (default)
663
+ * - 1 = enable
664
+ */
665
+ AOME_SET_ENABLEAUTOBWDREF = 57,
666
+
667
+ /*!\brief Codec control function to encode with CDEF, unsigned int parameter
668
+ *
669
+ * CDEF is the constrained directional enhancement filter which is an
670
+ * in-loop filter aiming to remove coding artifacts
671
+ *
672
+ * - 0 = disable
673
+ * - 1 = enable for all frames (default)
674
+ * - 2 = disable for non-reference frames
675
+ * - 3 = enable adaptively based on frame qindex
676
+ */
677
+ AV1E_SET_ENABLE_CDEF = 58,
678
+
679
+ /*!\brief Codec control function to encode with Loop Restoration Filter,
680
+ * unsigned int parameter
681
+ *
682
+ * - 0 = disable
683
+ * - 1 = enable (default)
684
+ *
685
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
686
+ */
687
+ AV1E_SET_ENABLE_RESTORATION = 59,
688
+
689
+ /*!\brief Codec control function to force video mode, unsigned int parameter
690
+ *
691
+ * - 0 = do not force video mode (default)
692
+ * - 1 = force video mode even for a single frame
693
+ */
694
+ AV1E_SET_FORCE_VIDEO_MODE = 60,
695
+
696
+ /*!\brief Codec control function to predict with OBMC mode, unsigned int
697
+ * parameter
698
+ *
699
+ * - 0 = disable
700
+ * - 1 = enable (default)
701
+ *
702
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
703
+ */
704
+ AV1E_SET_ENABLE_OBMC = 61,
705
+
706
+ /*!\brief Codec control function to encode without trellis quantization,
707
+ * unsigned int parameter
708
+ *
709
+ * - 0 = apply trellis quantization (default)
710
+ * - 1 = do not apply trellis quantization
711
+ * - 2 = disable trellis quantization in rd search
712
+ * - 3 = disable trellis quantization in estimate yrd
713
+ */
714
+ AV1E_SET_DISABLE_TRELLIS_QUANT = 62,
715
+
716
+ /*!\brief Codec control function to encode with quantisation matrices,
717
+ * unsigned int parameter
718
+ *
719
+ * AOM can operate with default quantisation matrices dependent on
720
+ * quantisation level and block type.
721
+ *
722
+ * - 0 = disable (default)
723
+ * - 1 = enable
724
+ */
725
+ AV1E_SET_ENABLE_QM = 63,
726
+
727
+ /*!\brief Codec control function to set the min quant matrix flatness,
728
+ * unsigned int parameter
729
+ *
730
+ * AOM can operate with different ranges of quantisation matrices.
731
+ * As quantisation levels increase, the matrices get flatter. This
732
+ * control sets the minimum level of flatness from which the matrices
733
+ * are determined.
734
+ *
735
+ * By default, the encoder sets this minimum at level 5 (4 in all intra
736
+ * mode).
737
+ */
738
+ AV1E_SET_QM_MIN = 64,
739
+
740
+ /*!\brief Codec control function to set the max quant matrix flatness,
741
+ * unsigned int parameter
742
+ *
743
+ * AOM can operate with different ranges of quantisation matrices.
744
+ * As quantisation levels increase, the matrices get flatter. This
745
+ * control sets the maximum level of flatness possible.
746
+ *
747
+ * By default, the encoder sets this maximum at level 9 (10 in all intra
748
+ * mode)
749
+ */
750
+ AV1E_SET_QM_MAX = 65,
751
+
752
+ /*!\brief Codec control function to set the min quant matrix flatness,
753
+ * unsigned int parameter
754
+ *
755
+ * AOM can operate with different ranges of quantisation matrices.
756
+ * As quantisation levels increase, the matrices get flatter. This
757
+ * control sets the flatness for luma (Y).
758
+ *
759
+ * By default, the encoder sets this minimum at half the available
760
+ * range.
761
+ */
762
+ AV1E_SET_QM_Y = 66,
763
+
764
+ /*!\brief Codec control function to set the min quant matrix flatness,
765
+ * unsigned int parameter
766
+ *
767
+ * AOM can operate with different ranges of quantisation matrices.
768
+ * As quantisation levels increase, the matrices get flatter. This
769
+ * control sets the flatness for chroma (U).
770
+ *
771
+ * By default, the encoder sets this minimum at half the available
772
+ * range.
773
+ */
774
+ AV1E_SET_QM_U = 67,
775
+
776
+ /*!\brief Codec control function to set the min quant matrix flatness,
777
+ * unsigned int parameter
778
+ *
779
+ * AOM can operate with different ranges of quantisation matrices.
780
+ * As quantisation levels increase, the matrices get flatter. This
781
+ * control sets the flatness for chrome (V).
782
+ *
783
+ * By default, the encoder sets this minimum at half the available
784
+ * range.
785
+ */
786
+ AV1E_SET_QM_V = 68,
787
+
788
+ /* NOTE: enum 69 unused */
789
+
790
+ /*!\brief Codec control function to set a maximum number of tile groups,
791
+ * unsigned int parameter
792
+ *
793
+ * This will set the maximum number of tile groups. This will be
794
+ * overridden if an MTU size is set. The default value is 1.
795
+ */
796
+ AV1E_SET_NUM_TG = 70,
797
+
798
+ /*!\brief Codec control function to set an MTU size for a tile group, unsigned
799
+ * int parameter
800
+ *
801
+ * This will set the maximum number of bytes in a tile group. This can be
802
+ * exceeded only if a single tile is larger than this amount.
803
+ *
804
+ * By default, the value is 0, in which case a fixed number of tile groups
805
+ * is used.
806
+ */
807
+ AV1E_SET_MTU = 71,
808
+
809
+ /* NOTE: enum 72 unused */
810
+
811
+ /*!\brief Codec control function to enable/disable rectangular partitions, int
812
+ * parameter
813
+ *
814
+ * - 0 = disable
815
+ * - 1 = enable (default)
816
+ */
817
+ AV1E_SET_ENABLE_RECT_PARTITIONS = 73,
818
+
819
+ /*!\brief Codec control function to enable/disable AB partitions, int
820
+ * parameter
821
+ *
822
+ * - 0 = disable
823
+ * - 1 = enable (default)
824
+ */
825
+ AV1E_SET_ENABLE_AB_PARTITIONS = 74,
826
+
827
+ /*!\brief Codec control function to enable/disable 1:4 and 4:1 partitions, int
828
+ * parameter
829
+ *
830
+ * - 0 = disable
831
+ * - 1 = enable (default)
832
+ */
833
+ AV1E_SET_ENABLE_1TO4_PARTITIONS = 75,
834
+
835
+ /*!\brief Codec control function to set min partition size, int parameter
836
+ *
837
+ * min_partition_size is applied to both width and height of the partition.
838
+ * i.e, both width and height of a partition can not be smaller than
839
+ * the min_partition_size, except the partition at the picture boundary.
840
+ *
841
+ * Valid values: [4, 8, 16, 32, 64, 128]. The default value is 4 for
842
+ * 4x4.
843
+ */
844
+ AV1E_SET_MIN_PARTITION_SIZE = 76,
845
+
846
+ /*!\brief Codec control function to set max partition size, int parameter
847
+ *
848
+ * max_partition_size is applied to both width and height of the partition.
849
+ * i.e, both width and height of a partition can not be larger than
850
+ * the max_partition_size.
851
+ *
852
+ * Valid values:[4, 8, 16, 32, 64, 128] The default value is 128 for
853
+ * 128x128.
854
+ */
855
+ AV1E_SET_MAX_PARTITION_SIZE = 77,
856
+
857
+ /*!\brief Codec control function to turn on / off intra edge filter
858
+ * at sequence level, int parameter
859
+ *
860
+ * - 0 = disable
861
+ * - 1 = enable (default)
862
+ */
863
+ AV1E_SET_ENABLE_INTRA_EDGE_FILTER = 78,
864
+
865
+ /*!\brief Codec control function to turn on / off frame order hint (int
866
+ * parameter). Affects: joint compound mode, motion field motion vector,
867
+ * ref frame sign bias
868
+ *
869
+ * - 0 = disable
870
+ * - 1 = enable (default)
871
+ */
872
+ AV1E_SET_ENABLE_ORDER_HINT = 79,
873
+
874
+ /*!\brief Codec control function to turn on / off 64-length transforms, int
875
+ * parameter
876
+ *
877
+ * This will enable or disable usage of length 64 transforms in any
878
+ * direction.
879
+ *
880
+ * - 0 = disable
881
+ * - 1 = enable (default)
882
+ */
883
+ AV1E_SET_ENABLE_TX64 = 80,
884
+
885
+ /*!\brief Codec control function to turn on / off flip and identity
886
+ * transforms, int parameter
887
+ *
888
+ * This will enable or disable usage of flip and identity transform
889
+ * types in any direction. If enabled, this includes:
890
+ * - FLIPADST_DCT
891
+ * - DCT_FLIPADST
892
+ * - FLIPADST_FLIPADST
893
+ * - ADST_FLIPADST
894
+ * - FLIPADST_ADST
895
+ * - IDTX
896
+ * - V_DCT
897
+ * - H_DCT
898
+ * - V_ADST
899
+ * - H_ADST
900
+ * - V_FLIPADST
901
+ * - H_FLIPADST
902
+ *
903
+ * Valid values:
904
+ * - 0 = disable
905
+ * - 1 = enable (default)
906
+ */
907
+ AV1E_SET_ENABLE_FLIP_IDTX = 81,
908
+
909
+ /*!\brief Codec control function to turn on / off rectangular transforms, int
910
+ * parameter
911
+ *
912
+ * This will enable or disable usage of rectangular transforms. NOTE:
913
+ * Rectangular transforms only enabled when corresponding rectangular
914
+ * partitions are.
915
+ *
916
+ * - 0 = disable
917
+ * - 1 = enable (default)
918
+ */
919
+ AV1E_SET_ENABLE_RECT_TX = 82,
920
+
921
+ /*!\brief Codec control function to turn on / off dist-wtd compound mode
922
+ * at sequence level, int parameter
923
+ *
924
+ * This will enable or disable distance-weighted compound mode.
925
+ * \attention If AV1E_SET_ENABLE_ORDER_HINT is 0, then this flag is forced
926
+ * to 0.
927
+ *
928
+ * - 0 = disable
929
+ * - 1 = enable (default)
930
+ */
931
+ AV1E_SET_ENABLE_DIST_WTD_COMP = 83,
932
+
933
+ /*!\brief Codec control function to turn on / off ref frame mvs (mfmv) usage
934
+ * at sequence level, int parameter
935
+ *
936
+ * \attention If AV1E_SET_ENABLE_ORDER_HINT is 0, then this flag is forced
937
+ * to 0.
938
+ *
939
+ * - 0 = disable
940
+ * - 1 = enable (default)
941
+ */
942
+ AV1E_SET_ENABLE_REF_FRAME_MVS = 84,
943
+
944
+ /*!\brief Codec control function to set temporal mv prediction
945
+ * enabling/disabling at frame level, int parameter
946
+ *
947
+ * \attention If AV1E_SET_ENABLE_REF_FRAME_MVS is 0, then this flag is
948
+ * forced to 0.
949
+ *
950
+ * - 0 = disable
951
+ * - 1 = enable (default)
952
+ */
953
+ AV1E_SET_ALLOW_REF_FRAME_MVS = 85,
954
+
955
+ /*!\brief Codec control function to turn on / off dual interpolation filter
956
+ * for a sequence, int parameter
957
+ *
958
+ * - 0 = disable
959
+ * - 1 = enable
960
+ */
961
+ AV1E_SET_ENABLE_DUAL_FILTER = 86,
962
+
963
+ /*!\brief Codec control function to turn on / off delta quantization in chroma
964
+ * planes for a sequence, int parameter
965
+ *
966
+ * - 0 = disable (default)
967
+ * - 1 = enable
968
+ */
969
+ AV1E_SET_ENABLE_CHROMA_DELTAQ = 87,
970
+
971
+ /*!\brief Codec control function to turn on / off masked compound usage
972
+ * (wedge and diff-wtd compound modes) for a sequence, int parameter
973
+ *
974
+ * - 0 = disable
975
+ * - 1 = enable (default)
976
+ */
977
+ AV1E_SET_ENABLE_MASKED_COMP = 88,
978
+
979
+ /*!\brief Codec control function to turn on / off one sided compound usage
980
+ * for a sequence, int parameter
981
+ *
982
+ * - 0 = disable
983
+ * - 1 = enable (default)
984
+ */
985
+ AV1E_SET_ENABLE_ONESIDED_COMP = 89,
986
+
987
+ /*!\brief Codec control function to turn on / off interintra compound
988
+ * for a sequence, int parameter
989
+ *
990
+ * - 0 = disable
991
+ * - 1 = enable (default)
992
+ */
993
+ AV1E_SET_ENABLE_INTERINTRA_COMP = 90,
994
+
995
+ /*!\brief Codec control function to turn on / off smooth inter-intra
996
+ * mode for a sequence, int parameter
997
+ *
998
+ * - 0 = disable
999
+ * - 1 = enable (default)
1000
+ */
1001
+ AV1E_SET_ENABLE_SMOOTH_INTERINTRA = 91,
1002
+
1003
+ /*!\brief Codec control function to turn on / off difference weighted
1004
+ * compound, int parameter
1005
+ *
1006
+ * - 0 = disable
1007
+ * - 1 = enable (default)
1008
+ */
1009
+ AV1E_SET_ENABLE_DIFF_WTD_COMP = 92,
1010
+
1011
+ /*!\brief Codec control function to turn on / off interinter wedge
1012
+ * compound, int parameter
1013
+ *
1014
+ * - 0 = disable
1015
+ * - 1 = enable (default)
1016
+ */
1017
+ AV1E_SET_ENABLE_INTERINTER_WEDGE = 93,
1018
+
1019
+ /*!\brief Codec control function to turn on / off interintra wedge
1020
+ * compound, int parameter
1021
+ *
1022
+ * - 0 = disable
1023
+ * - 1 = enable (default)
1024
+ */
1025
+ AV1E_SET_ENABLE_INTERINTRA_WEDGE = 94,
1026
+
1027
+ /*!\brief Codec control function to turn on / off global motion usage
1028
+ * for a sequence, int parameter
1029
+ *
1030
+ * - 0 = disable
1031
+ * - 1 = enable (default)
1032
+ *
1033
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
1034
+ */
1035
+ AV1E_SET_ENABLE_GLOBAL_MOTION = 95,
1036
+
1037
+ /*!\brief Codec control function to turn on / off warped motion usage
1038
+ * at sequence level, int parameter
1039
+ *
1040
+ * - 0 = disable
1041
+ * - 1 = enable (default)
1042
+ *
1043
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
1044
+ */
1045
+ AV1E_SET_ENABLE_WARPED_MOTION = 96,
1046
+
1047
+ /*!\brief Codec control function to turn on / off warped motion usage
1048
+ * at frame level, int parameter
1049
+ *
1050
+ * \attention If AV1E_SET_ENABLE_WARPED_MOTION is 0, then this flag is
1051
+ * forced to 0.
1052
+ *
1053
+ * - 0 = disable
1054
+ * - 1 = enable (default)
1055
+ *
1056
+ * \note Excluded from CONFIG_REALTIME_ONLY build.
1057
+ */
1058
+ AV1E_SET_ALLOW_WARPED_MOTION = 97,
1059
+
1060
+ /*!\brief Codec control function to turn on / off filter intra usage at
1061
+ * sequence level, int parameter
1062
+ *
1063
+ * - 0 = disable
1064
+ * - 1 = enable (default)
1065
+ */
1066
+ AV1E_SET_ENABLE_FILTER_INTRA = 98,
1067
+
1068
+ /*!\brief Codec control function to turn on / off smooth intra modes usage,
1069
+ * int parameter
1070
+ *
1071
+ * This will enable or disable usage of smooth, smooth_h and smooth_v intra
1072
+ * modes.
1073
+ *
1074
+ * - 0 = disable
1075
+ * - 1 = enable (default)
1076
+ */
1077
+ AV1E_SET_ENABLE_SMOOTH_INTRA = 99,
1078
+
1079
+ /*!\brief Codec control function to turn on / off Paeth intra mode usage, int
1080
+ * parameter
1081
+ *
1082
+ * - 0 = disable
1083
+ * - 1 = enable (default)
1084
+ */
1085
+ AV1E_SET_ENABLE_PAETH_INTRA = 100,
1086
+
1087
+ /*!\brief Codec control function to turn on / off CFL uv intra mode usage, int
1088
+ * parameter
1089
+ *
1090
+ * This will enable or disable usage of chroma-from-luma intra mode.
1091
+ *
1092
+ * - 0 = disable
1093
+ * - 1 = enable (default)
1094
+ */
1095
+ AV1E_SET_ENABLE_CFL_INTRA = 101,
1096
+
1097
+ /*!\brief Codec control function to turn on / off frame superresolution, int
1098
+ * parameter
1099
+ *
1100
+ * - 0 = disable
1101
+ * - 1 = enable (default)
1102
+ */
1103
+ AV1E_SET_ENABLE_SUPERRES = 102,
1104
+
1105
+ /*!\brief Codec control function to turn on / off overlay frames for
1106
+ * filtered ALTREF frames, int parameter
1107
+ *
1108
+ * This will enable or disable coding of overlay frames for filtered ALTREF
1109
+ * frames. When set to 0, overlay frames are not used but show existing frame
1110
+ * is used to display the filtered ALTREF frame as is. As a result the decoded
1111
+ * frame rate remains the same as the display frame rate. The default is 1.
1112
+ */
1113
+ AV1E_SET_ENABLE_OVERLAY = 103,
1114
+
1115
+ /*!\brief Codec control function to turn on/off palette mode, int parameter */
1116
+ AV1E_SET_ENABLE_PALETTE = 104,
1117
+
1118
+ /*!\brief Codec control function to turn on/off intra block copy mode, int
1119
+ parameter */
1120
+ AV1E_SET_ENABLE_INTRABC = 105,
1121
+
1122
+ /*!\brief Codec control function to turn on/off intra angle delta, int
1123
+ parameter */
1124
+ AV1E_SET_ENABLE_ANGLE_DELTA = 106,
1125
+
1126
+ /*!\brief Codec control function to set the delta q mode, unsigned int
1127
+ * parameter
1128
+ *
1129
+ * AV1 supports a delta q mode feature, that allows modulating q per
1130
+ * superblock.
1131
+ *
1132
+ * - 0 = deltaq signaling off
1133
+ * - 1 = use modulation to maximize objective quality (default)
1134
+ * - 2 = use modulation for local test
1135
+ * - 3 = use modulation for key frame perceptual quality optimization
1136
+ * - 4 = use modulation for user rating based perceptual quality optimization
1137
+ * - 5 = use modulation for HDR video
1138
+ * - 6 = use modulation for all intra using Variance Boost
1139
+ */
1140
+ AV1E_SET_DELTAQ_MODE = 107,
1141
+
1142
+ /*!\brief Codec control function to turn on/off loopfilter modulation
1143
+ * when delta q modulation is enabled, unsigned int parameter.
1144
+ *
1145
+ * \attention AV1 only supports loopfilter modulation when delta q
1146
+ * modulation is enabled as well.
1147
+ */
1148
+ AV1E_SET_DELTALF_MODE = 108,
1149
+
1150
+ /*!\brief Codec control function to set the single tile decoding mode,
1151
+ * unsigned int parameter
1152
+ *
1153
+ * \attention Only applicable if large scale tiling is on.
1154
+ *
1155
+ * - 0 = single tile decoding is off
1156
+ * - 1 = single tile decoding is on (default)
1157
+ */
1158
+ AV1E_SET_SINGLE_TILE_DECODING = 109,
1159
+
1160
+ /*!\brief Codec control function to enable the extreme motion vector unit
1161
+ * test, unsigned int parameter
1162
+ *
1163
+ * - 0 = off
1164
+ * - 1 = MAX_EXTREME_MV
1165
+ * - 2 = MIN_EXTREME_MV
1166
+ *
1167
+ * \note This is only used in motion vector unit test.
1168
+ */
1169
+ AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST = 110,
1170
+
1171
+ /*!\brief Codec control function to signal picture timing info in the
1172
+ * bitstream, aom_timing_info_type_t parameter. Default is
1173
+ * AOM_TIMING_UNSPECIFIED.
1174
+ */
1175
+ AV1E_SET_TIMING_INFO_TYPE = 111,
1176
+
1177
+ /*!\brief Codec control function to add film grain parameters (one of several
1178
+ * preset types) info in the bitstream, int parameter
1179
+ *
1180
+ Valid range: 0..16, 0 is unknown, 1..16 are test vectors
1181
+ */
1182
+ AV1E_SET_FILM_GRAIN_TEST_VECTOR = 112,
1183
+
1184
+ /*!\brief Codec control function to set the path to the film grain parameters,
1185
+ * const char* parameter
1186
+ */
1187
+ AV1E_SET_FILM_GRAIN_TABLE = 113,
1188
+
1189
+ /*!\brief Sets the noise level, int parameter */
1190
+ AV1E_SET_DENOISE_NOISE_LEVEL = 114,
1191
+
1192
+ /*!\brief Sets the denoisers block size, unsigned int parameter */
1193
+ AV1E_SET_DENOISE_BLOCK_SIZE = 115,
1194
+
1195
+ /*!\brief Sets the chroma subsampling x value, unsigned int parameter */
1196
+ AV1E_SET_CHROMA_SUBSAMPLING_X = 116,
1197
+
1198
+ /*!\brief Sets the chroma subsampling y value, unsigned int parameter */
1199
+ AV1E_SET_CHROMA_SUBSAMPLING_Y = 117,
1200
+
1201
+ /*!\brief Control to use a reduced tx type set, int parameter */
1202
+ AV1E_SET_REDUCED_TX_TYPE_SET = 118,
1203
+
1204
+ /*!\brief Control to use dct only for intra modes, int parameter */
1205
+ AV1E_SET_INTRA_DCT_ONLY = 119,
1206
+
1207
+ /*!\brief Control to use dct only for inter modes, int parameter */
1208
+ AV1E_SET_INTER_DCT_ONLY = 120,
1209
+
1210
+ /*!\brief Control to use default tx type only for intra modes, int parameter
1211
+ */
1212
+ AV1E_SET_INTRA_DEFAULT_TX_ONLY = 121,
1213
+
1214
+ /*!\brief Control to use adaptive quantize_b, int parameter */
1215
+ AV1E_SET_QUANT_B_ADAPT = 122,
1216
+
1217
+ /*!\brief Control to select maximum height for the GF group pyramid structure,
1218
+ * unsigned int parameter
1219
+ *
1220
+ * Valid range: 0..5
1221
+ */
1222
+ AV1E_SET_GF_MAX_PYRAMID_HEIGHT = 123,
1223
+
1224
+ /*!\brief Control to select maximum reference frames allowed per frame, int
1225
+ * parameter
1226
+ *
1227
+ * Valid range: 3..7
1228
+ */
1229
+ AV1E_SET_MAX_REFERENCE_FRAMES = 124,
1230
+
1231
+ /*!\brief Control to use reduced set of single and compound references, int
1232
+ parameter */
1233
+ AV1E_SET_REDUCED_REFERENCE_SET = 125,
1234
+
1235
+ /*!\brief Control to set frequency of the cost updates for coefficients,
1236
+ * unsigned int parameter
1237
+ *
1238
+ * - 0 = update at SB level (default)
1239
+ * - 1 = update at SB row level in tile
1240
+ * - 2 = update at tile level
1241
+ * - 3 = turn off
1242
+ */
1243
+ AV1E_SET_COEFF_COST_UPD_FREQ = 126,
1244
+
1245
+ /*!\brief Control to set frequency of the cost updates for mode, unsigned int
1246
+ * parameter
1247
+ *
1248
+ * - 0 = update at SB level (default)
1249
+ * - 1 = update at SB row level in tile
1250
+ * - 2 = update at tile level
1251
+ * - 3 = turn off
1252
+ */
1253
+ AV1E_SET_MODE_COST_UPD_FREQ = 127,
1254
+
1255
+ /*!\brief Control to set frequency of the cost updates for motion vectors,
1256
+ * unsigned int parameter
1257
+ *
1258
+ * - 0 = update at SB level (default)
1259
+ * - 1 = update at SB row level in tile
1260
+ * - 2 = update at tile level
1261
+ * - 3 = turn off
1262
+ */
1263
+ AV1E_SET_MV_COST_UPD_FREQ = 128,
1264
+
1265
+ /*!\brief Control to set bit mask that specifies which tier each of the 32
1266
+ * possible operating points conforms to, unsigned int parameter
1267
+ *
1268
+ * - 0 = main tier (default)
1269
+ * - 1 = high tier
1270
+ */
1271
+ AV1E_SET_TIER_MASK = 129,
1272
+
1273
+ /*!\brief Control to set minimum compression ratio, unsigned int parameter
1274
+ * Take integer values. If non-zero, encoder will try to keep the compression
1275
+ * ratio of each frame to be higher than the given value divided by 100.
1276
+ * E.g. 850 means minimum compression ratio of 8.5.
1277
+ */
1278
+ AV1E_SET_MIN_CR = 130,
1279
+
1280
+ /* NOTE: enums 145-149 unused */
1281
+
1282
+ /*!\brief Codec control function to set the layer id, aom_svc_layer_id_t*
1283
+ * parameter
1284
+ */
1285
+ AV1E_SET_SVC_LAYER_ID = 131,
1286
+
1287
+ /*!\brief Codec control function to set SVC parameters, aom_svc_params_t*
1288
+ * parameter
1289
+ */
1290
+ AV1E_SET_SVC_PARAMS = 132,
1291
+
1292
+ /*!\brief Codec control function to set the reference frame config,
1293
+ * aom_svc_ref_frame_config_t* parameter
1294
+ */
1295
+ AV1E_SET_SVC_REF_FRAME_CONFIG = 133,
1296
+
1297
+ /*!\brief Codec control function to set the path to the VMAF model used when
1298
+ * tuning the encoder for VMAF, const char* parameter
1299
+ */
1300
+ AV1E_SET_VMAF_MODEL_PATH = 134,
1301
+
1302
+ /*!\brief Codec control function to enable EXT_TILE_DEBUG in AV1 encoder,
1303
+ * unsigned int parameter
1304
+ *
1305
+ * - 0 = disable (default)
1306
+ * - 1 = enable
1307
+ *
1308
+ * \note This is only used in lightfield example test.
1309
+ */
1310
+ AV1E_ENABLE_EXT_TILE_DEBUG = 135,
1311
+
1312
+ /*!\brief Codec control function to enable the superblock multipass unit test
1313
+ * in AV1 to ensure that the encoder does not leak state between different
1314
+ * passes. unsigned int parameter.
1315
+ *
1316
+ * - 0 = disable (default)
1317
+ * - 1 = enable
1318
+ *
1319
+ * \note This is only used in sb_multipass unit test.
1320
+ */
1321
+ AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST = 136,
1322
+
1323
+ /*!\brief Control to select minimum height for the GF group pyramid structure,
1324
+ * unsigned int parameter
1325
+ *
1326
+ * Valid values: 0..5
1327
+ */
1328
+ AV1E_SET_GF_MIN_PYRAMID_HEIGHT = 137,
1329
+
1330
+ /*!\brief Control to set average complexity of the corpus in the case of
1331
+ * single pass vbr based on LAP, unsigned int parameter
1332
+ */
1333
+ AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP = 138,
1334
+
1335
+ /*!\brief Control to get baseline gf interval
1336
+ */
1337
+ AV1E_GET_BASELINE_GF_INTERVAL = 139,
1338
+
1339
+ /*\brief Control to set encoding the denoised frame from denoise-noise-level
1340
+ *
1341
+ * - 0 = disabled/encode the original frame
1342
+ * - 1 = enabled/encode the denoised frame (default)
1343
+ */
1344
+ AV1E_SET_ENABLE_DNL_DENOISING = 140,
1345
+
1346
+ /*!\brief Codec control function to turn on / off D45 to D203 intra mode
1347
+ * usage, int parameter
1348
+ *
1349
+ * This will enable or disable usage of D45 to D203 intra modes, which are a
1350
+ * subset of directional modes. This control has no effect if directional
1351
+ * modes are disabled (AV1E_SET_ENABLE_DIRECTIONAL_INTRA set to 0).
1352
+ *
1353
+ * - 0 = disable
1354
+ * - 1 = enable (default)
1355
+ */
1356
+ AV1E_SET_ENABLE_DIAGONAL_INTRA = 141,
1357
+
1358
+ /*!\brief Control to set frequency of the cost updates for intrabc motion
1359
+ * vectors, unsigned int parameter
1360
+ *
1361
+ * - 0 = update at SB level (default)
1362
+ * - 1 = update at SB row level in tile
1363
+ * - 2 = update at tile level
1364
+ * - 3 = turn off
1365
+ */
1366
+ AV1E_SET_DV_COST_UPD_FREQ = 142,
1367
+
1368
+ /*!\brief Codec control to set the path for partition stats read and write.
1369
+ * const char * parameter.
1370
+ */
1371
+ AV1E_SET_PARTITION_INFO_PATH = 143,
1372
+
1373
+ /*!\brief Codec control to use an external partition model
1374
+ * A set of callback functions is passed through this control
1375
+ * to let the encoder encode with given partitions.
1376
+ */
1377
+ AV1E_SET_EXTERNAL_PARTITION = 144,
1378
+
1379
+ /*!\brief Codec control function to turn on / off directional intra mode
1380
+ * usage, int parameter
1381
+ *
1382
+ * - 0 = disable
1383
+ * - 1 = enable (default)
1384
+ */
1385
+ AV1E_SET_ENABLE_DIRECTIONAL_INTRA = 145,
1386
+
1387
+ /*!\brief Control to turn on / off transform size search.
1388
+ * Note: it can not work with non RD pick mode in real-time encoding,
1389
+ * where the max transform size is only 16x16.
1390
+ * It will be ignored if non RD pick mode is set.
1391
+ *
1392
+ * - 0 = disable, transforms always have the largest possible size
1393
+ * - 1 = enable, search for the best transform size for each block (default)
1394
+ */
1395
+ AV1E_SET_ENABLE_TX_SIZE_SEARCH = 146,
1396
+
1397
+ /*!\brief Codec control function to set reference frame compound prediction.
1398
+ * aom_svc_ref_frame_comp_pred_t* parameter
1399
+ */
1400
+ AV1E_SET_SVC_REF_FRAME_COMP_PRED = 147,
1401
+
1402
+ /*!\brief Set --deltaq-mode strength.
1403
+ *
1404
+ * Valid range: [0, 1000]
1405
+ */
1406
+ AV1E_SET_DELTAQ_STRENGTH = 148,
1407
+
1408
+ /*!\brief Codec control to control loop filter
1409
+ *
1410
+ * - 0 = Loop filter is disabled for all frames
1411
+ * - 1 = Loop filter is enabled for all frames
1412
+ * - 2 = Loop filter is disabled for non-reference frames
1413
+ * - 3 = Loop filter is disabled for the frames with low motion
1414
+ */
1415
+ AV1E_SET_LOOPFILTER_CONTROL = 149,
1416
+
1417
+ /*!\brief Codec control function to get the loopfilter chosen by the encoder,
1418
+ * int* parameter
1419
+ */
1420
+ AOME_GET_LOOPFILTER_LEVEL = 150,
1421
+
1422
+ /*!\brief Codec control to automatically turn off several intra coding tools,
1423
+ * unsigned int parameter
1424
+ * - 0 = do not use the feature
1425
+ * - 1 = enable the automatic decision to turn off several intra tools
1426
+ */
1427
+ AV1E_SET_AUTO_INTRA_TOOLS_OFF = 151,
1428
+
1429
+ /*!\brief Codec control function to set flag for rate control used by external
1430
+ * encoders.
1431
+ * - 1 = Enable rate control for external encoders. This will disable content
1432
+ * dependency in rate control and cyclic refresh.
1433
+ * - 0 = Default. Disable rate control for external encoders.
1434
+ */
1435
+ AV1E_SET_RTC_EXTERNAL_RC = 152,
1436
+
1437
+ /*!\brief Codec control function to enable frame parallel multi-threading
1438
+ * of the encoder, unsigned int parameter
1439
+ *
1440
+ * - 0 = disable (default)
1441
+ * - 1 = enable
1442
+ */
1443
+ AV1E_SET_FP_MT = 153,
1444
+
1445
+ /*!\brief Codec control to enable actual frame parallel encode or
1446
+ * simulation of frame parallel encode in FPMT unit test, unsigned int
1447
+ * parameter
1448
+ *
1449
+ * - 0 = simulate frame parallel encode
1450
+ * - 1 = actual frame parallel encode (default)
1451
+ *
1452
+ * \note This is only used in FPMT unit test.
1453
+ */
1454
+ AV1E_SET_FP_MT_UNIT_TEST = 154,
1455
+
1456
+ /*!\brief Codec control function to get the target sequence level index for
1457
+ * each operating point. int* parameter. There can be at most 32 operating
1458
+ * points. The results will be written into a provided integer array of
1459
+ * sufficient size. If a target level is not set, the result will be 31.
1460
+ * Please refer to https://aomediacodec.github.io/av1-spec/#levels for more
1461
+ * details on level definitions and indices.
1462
+ */
1463
+ AV1E_GET_TARGET_SEQ_LEVEL_IDX = 155,
1464
+
1465
+ /*!\brief Codec control function to get the number of operating points. int*
1466
+ * parameter.
1467
+ */
1468
+ AV1E_GET_NUM_OPERATING_POINTS = 156,
1469
+
1470
+ /*!\brief Codec control function to skip the application of post-processing
1471
+ * filters on reconstructed frame, unsigned int parameter
1472
+ *
1473
+ * - 0 = disable (default)
1474
+ * - 1 = enable
1475
+ *
1476
+ * \attention For this value to be used aom_codec_enc_cfg_t::g_usage
1477
+ * must be set to AOM_USAGE_ALL_INTRA.
1478
+ */
1479
+ AV1E_SET_SKIP_POSTPROC_FILTERING = 157,
1480
+
1481
+ /*!\brief Codec control function to enable the superblock level
1482
+ * qp sweep in AV1 to ensure that end-to-end test runs well,
1483
+ * unsigned int parameter.
1484
+ *
1485
+ * - 0 = disable (default)
1486
+ * - 1 = enable
1487
+ *
1488
+ * \note This is only used in sb_qp_sweep unit test.
1489
+ */
1490
+ AV1E_ENABLE_SB_QP_SWEEP = 158,
1491
+
1492
+ /*!\brief Codec control to set quantizer for the next frame, int parameter.
1493
+ *
1494
+ * - Valid range [0, 63]
1495
+ *
1496
+ * This will turn off cyclic refresh. Only applicable to 1-pass.
1497
+ */
1498
+ AV1E_SET_QUANTIZER_ONE_PASS = 159,
1499
+
1500
+ /*!\brief Codec control to enable the rate distribution guided delta
1501
+ * quantization in all intra mode, unsigned int parameter
1502
+ *
1503
+ * - 0 = disable (default)
1504
+ * - 1 = enable
1505
+ *
1506
+ * \attention This feature requires --deltaq-mode=3, also an input file
1507
+ * which contains rate distribution for each 16x16 block,
1508
+ * passed in by --rate-distribution-info=rate_distribution.txt.
1509
+ */
1510
+ AV1E_ENABLE_RATE_GUIDE_DELTAQ = 160,
1511
+
1512
+ /*!\brief Codec control to set the input file for rate distribution used
1513
+ * in all intra mode, const char * parameter
1514
+ * The input should be the name of a text file, which
1515
+ * contains (rows x cols) float values separated by space.
1516
+ * Each float value represent the number of bits for each 16x16 block.
1517
+ * rows = (frame_height + 15) / 16
1518
+ * cols = (frame_width + 15) / 16
1519
+ *
1520
+ * \attention This feature requires --enable-rate-guide-deltaq=1.
1521
+ */
1522
+ AV1E_SET_RATE_DISTRIBUTION_INFO = 161,
1523
+
1524
+ /*!\brief Codec control to get the CDEF strength for Y / luma plane,
1525
+ * int * parameter.
1526
+ * Returns an integer array of CDEF_MAX_STRENGTHS elements.
1527
+ */
1528
+ AV1E_GET_LUMA_CDEF_STRENGTH = 162,
1529
+
1530
+ /*!\brief Codec control to set the target bitrate in kilobits per second,
1531
+ * unsigned int parameter. For 1 pass CBR mode, single layer encoding.
1532
+ * This controls replaces the call aom_codec_enc_config_set(&codec, &cfg)
1533
+ * when only target bitrate is changed, and so is much cheaper as it
1534
+ * bypasses a lot of unneeded code checks.
1535
+ */
1536
+ AV1E_SET_BITRATE_ONE_PASS_CBR = 163,
1537
+
1538
+ /*!\brief Codec control to set the maximum number of consecutive frame drops,
1539
+ * in units of frames, allowed for the frame dropper in 1 pass
1540
+ * CBR mode, int parameter. Value of zero has no effect.
1541
+ * \deprecated Use the new control AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.
1542
+ */
1543
+ AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR = 164,
1544
+
1545
+ /*!\brief Codec control to set the frame drop mode for SVC,
1546
+ * unsigned int parameter. The valid values are constants of the
1547
+ * AOM_SVC_FRAME_DROP_MODE enum: AOM_LAYER_DROP or AOM_FULL_SUPERFRAME_DROP.
1548
+ */
1549
+ AV1E_SET_SVC_FRAME_DROP_MODE = 165,
1550
+
1551
+ /*!\brief Codec control to set auto tiling, unsigned int parameter.
1552
+ * Value of 1 means encoder will set number of tile_columns and tile_rows,
1553
+ * based on the number of threads and resolution. This will override any
1554
+ * settings set via SET_TILE_COLUMNS/ROWS. If the value is 0 no change is
1555
+ * done, the previous setting (if any) for tile_columns/rows is preserved.
1556
+ */
1557
+ AV1E_SET_AUTO_TILES = 166,
1558
+
1559
+ /*!\brief Codec control to get the high motion content flag, used for
1560
+ * screen content realtime (RTC) encoding, int * parameter.
1561
+ * Returns an integer.
1562
+ * 1 means high motion content flag is set to 1, 0 means set to 0.
1563
+ */
1564
+ AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC = 167,
1565
+
1566
+ /*!\brief Codec control to enable post encode frame drop for RTC encoding,
1567
+ * int parameter.
1568
+ *
1569
+ * Value of 1 means encoder will enable post encode drop. Default is 0 (not
1570
+ * enabled). Post encode drop is only allowed when frame dropping is enabled
1571
+ * (aom_codec_enc_cfg::rc_dropframe_thresh > 0).
1572
+ */
1573
+ AV1E_SET_POSTENCODE_DROP_RTC = 168,
1574
+
1575
+ /*!\brief Codec control to set the maximum number of consecutive frame drops,
1576
+ * in units of time (milliseconds), allowed for the frame dropper in 1 pass
1577
+ * CBR mode, int parameter. Value of zero has no effect.
1578
+ */
1579
+ AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR = 169,
1580
+
1581
+ // Any new encoder control IDs should be added above.
1582
+ // Maximum allowed encoder control ID is 229.
1583
+ // No encoder control ID should be added below.
1584
+ };
1585
+
1586
+ /*!\brief aom 1-D scaling mode
1587
+ *
1588
+ * This set of constants define 1-D aom scaling modes
1589
+ */
1590
+ typedef enum aom_scaling_mode_1d {
1591
+ AOME_NORMAL = 0,
1592
+ AOME_FOURFIVE = 1,
1593
+ AOME_THREEFIVE = 2,
1594
+ AOME_THREEFOUR = 3,
1595
+ AOME_ONEFOUR = 4,
1596
+ AOME_ONEEIGHT = 5,
1597
+ AOME_ONETWO = 6,
1598
+ AOME_TWOTHREE = 7,
1599
+ AOME_ONETHREE = 8
1600
+ } AOM_SCALING_MODE;
1601
+
1602
+ /*!\brief Max number of segments
1603
+ *
1604
+ * This is the limit of number of segments allowed within a frame.
1605
+ *
1606
+ * Currently same as "MAX_SEGMENTS" in AV1, the maximum that AV1 supports.
1607
+ *
1608
+ */
1609
+ #define AOM_MAX_SEGMENTS 8
1610
+
1611
+ /*!\brief aom region of interest map
1612
+ *
1613
+ * These defines the data structures for the region of interest map
1614
+ *
1615
+ * TODO(yaowu): create a unit test for ROI map related APIs
1616
+ *
1617
+ */
1618
+ typedef struct aom_roi_map {
1619
+ /*! An id between 0 and 7 for each 8x8 region within a frame. */
1620
+ unsigned char *roi_map;
1621
+ unsigned int rows; /**< Number of rows. */
1622
+ unsigned int cols; /**< Number of columns. */
1623
+ int delta_q[AOM_MAX_SEGMENTS]; /**< Quantizer deltas. */
1624
+ int delta_lf[AOM_MAX_SEGMENTS]; /**< Loop filter deltas. */
1625
+ /*! Static breakout threshold for each segment. */
1626
+ unsigned int static_threshold[AOM_MAX_SEGMENTS];
1627
+ } aom_roi_map_t;
1628
+
1629
+ /*!\brief aom active region map
1630
+ *
1631
+ * These defines the data structures for active region map
1632
+ *
1633
+ */
1634
+
1635
+ typedef struct aom_active_map {
1636
+ /*!\brief specify an on (1) or off (0) each 16x16 region within a frame */
1637
+ unsigned char *active_map;
1638
+ unsigned int rows; /**< number of rows */
1639
+ unsigned int cols; /**< number of cols */
1640
+ } aom_active_map_t;
1641
+
1642
+ /*!\brief aom image scaling mode
1643
+ *
1644
+ * This defines the data structure for image scaling mode
1645
+ *
1646
+ */
1647
+ typedef struct aom_scaling_mode {
1648
+ AOM_SCALING_MODE h_scaling_mode; /**< horizontal scaling mode */
1649
+ AOM_SCALING_MODE v_scaling_mode; /**< vertical scaling mode */
1650
+ } aom_scaling_mode_t;
1651
+
1652
+ /*!brief AV1 encoder content type */
1653
+ typedef enum {
1654
+ AOM_CONTENT_DEFAULT,
1655
+ AOM_CONTENT_SCREEN,
1656
+ AOM_CONTENT_FILM,
1657
+ AOM_CONTENT_INVALID
1658
+ } aom_tune_content;
1659
+
1660
+ /*!brief AV1 encoder timing info type signaling */
1661
+ typedef enum {
1662
+ AOM_TIMING_UNSPECIFIED,
1663
+ AOM_TIMING_EQUAL,
1664
+ AOM_TIMING_DEC_MODEL
1665
+ } aom_timing_info_type_t;
1666
+
1667
+ /*!\brief Model tuning parameters
1668
+ *
1669
+ * Changes the encoder to tune for certain types of input material.
1670
+ *
1671
+ * \note
1672
+ * AOM_TUNE_IQ is restricted to all intra mode (AOM_USAGE_ALL_INTRA). Setting
1673
+ * the tuning option to AOM_TUNE_IQ causes the following options to be set
1674
+ * (expressed as command-line options):
1675
+ * * --enable-qm=1
1676
+ * * --qm-min=2
1677
+ * * --qm-max=10
1678
+ * * --sharpness=7
1679
+ * * --dist-metric=qm-psnr
1680
+ * * --enable-cdef=3
1681
+ * * --enable-chroma-deltaq=1
1682
+ * * --deltaq-mode=6
1683
+ */
1684
+ typedef enum {
1685
+ AOM_TUNE_PSNR = 0,
1686
+ AOM_TUNE_SSIM = 1,
1687
+ /* NOTE: enums 2 and 3 unused */
1688
+ AOM_TUNE_VMAF_WITH_PREPROCESSING = 4,
1689
+ AOM_TUNE_VMAF_WITHOUT_PREPROCESSING = 5,
1690
+ AOM_TUNE_VMAF_MAX_GAIN = 6,
1691
+ AOM_TUNE_VMAF_NEG_MAX_GAIN = 7,
1692
+ AOM_TUNE_BUTTERAUGLI = 8,
1693
+ AOM_TUNE_VMAF_SALIENCY_MAP = 9,
1694
+ /*!\brief Allows detection of the presence of AOM_TUNE_IQ at compile time. */
1695
+ #define AOM_HAVE_TUNE_IQ 1
1696
+ /* Image quality (or intra quality). Increases image quality and consistency,
1697
+ * guided by the SSIMULACRA 2 metric and subjective quality checks. Shares
1698
+ * the rdmult code with AOM_TUNE_SSIM.
1699
+ */
1700
+ AOM_TUNE_IQ = 10,
1701
+ } aom_tune_metric;
1702
+
1703
+ /*!\brief Distortion metric to use for RD optimization.
1704
+ *
1705
+ * Changes the encoder to use a different distortion metric for RD search. Note
1706
+ * that this value operates on a "lower level" compared to aom_tune_metric - it
1707
+ * affects the distortion metric inside a block, while aom_tune_metric only
1708
+ * affects RD across blocks.
1709
+ *
1710
+ */
1711
+ typedef enum {
1712
+ // Use PSNR for in-block rate-distortion optimization.
1713
+ AOM_DIST_METRIC_PSNR,
1714
+ // Use quantization matrix-weighted PSNR for in-block rate-distortion
1715
+ // optimization. If --enable-qm=1 is not specified, this falls back to
1716
+ // behaving in the same way as AOM_DIST_METRIC_PSNR.
1717
+ AOM_DIST_METRIC_QM_PSNR,
1718
+ } aom_dist_metric;
1719
+
1720
+ #define AOM_MAX_LAYERS 32 /**< Max number of layers */
1721
+ #define AOM_MAX_SS_LAYERS 4 /**< Max number of spatial layers */
1722
+ #define AOM_MAX_TS_LAYERS 8 /**< Max number of temporal layers */
1723
+
1724
+ /*!brief Struct for spatial and temporal layer ID */
1725
+ typedef struct aom_svc_layer_id {
1726
+ int spatial_layer_id; /**< Spatial layer ID */
1727
+ int temporal_layer_id; /**< Temporal layer ID */
1728
+ } aom_svc_layer_id_t;
1729
+
1730
+ /*!brief Parameter type for SVC
1731
+ *
1732
+ * In the arrays of size AOM_MAX_LAYERS, the index for spatial layer `sl` and
1733
+ * temporal layer `tl` is sl * number_temporal_layers + tl.
1734
+ *
1735
+ */
1736
+ typedef struct aom_svc_params {
1737
+ int number_spatial_layers; /**< Number of spatial layers */
1738
+ int number_temporal_layers; /**< Number of temporal layers */
1739
+ int max_quantizers[AOM_MAX_LAYERS]; /**< Max Q for each layer */
1740
+ int min_quantizers[AOM_MAX_LAYERS]; /**< Min Q for each layer */
1741
+ int scaling_factor_num[AOM_MAX_SS_LAYERS]; /**< Scaling factor-numerator */
1742
+ int scaling_factor_den[AOM_MAX_SS_LAYERS]; /**< Scaling factor-denominator */
1743
+ /*! Target bitrate for each layer, in kilobits per second */
1744
+ int layer_target_bitrate[AOM_MAX_LAYERS];
1745
+ /*! Frame rate factor for each temporal layer */
1746
+ int framerate_factor[AOM_MAX_TS_LAYERS];
1747
+ } aom_svc_params_t;
1748
+
1749
+ /*!brief Parameters for setting ref frame config */
1750
+ typedef struct aom_svc_ref_frame_config {
1751
+ // Three arrays need to be set: reference[], ref_id[], refresh[].
1752
+ // reference[i]: is a boolean flag to indicate which of the 7 possible
1753
+ // references are used for prediction. Values are 0 (not used as reference)
1754
+ // or 1 (use as reference). The index 0 - 6 refers to the references:
1755
+ // last(0), last2(1), last3(2), golden(3), bwdref(4), altref2(5), altref(6).
1756
+ // ref_idx[i]: maps a reference to one of the 8 buffers slots, values are
1757
+ // 0 - 7. The ref_idx for a unused reference (reference[i] = 1, and not used
1758
+ // for refresh, see below) can be set to the ref_idx of the first reference
1759
+ // used (usually LAST).
1760
+ // refresh[i] is a boolean flag to indicate if a buffer is updated/refreshed
1761
+ // with the current encoded frame. Values are 0 (no refresh) or 1 (refresh).
1762
+ // The refresh is done internally by looking at the ref_idx[j], for j = 0 - 6,
1763
+ // so to refresh a buffer slot (i) a reference must be mapped to that slot
1764
+ // (i = ref_idx[j]).
1765
+ // Examples for usage (for RTC encoding) are in: examples/svc_encoder_rtc.c.
1766
+ int reference[7]; /**< Reference flag for each of the 7 references. */
1767
+ /*! Buffer slot index (0..7) for each of 7 references indexed above. */
1768
+ int ref_idx[7];
1769
+ int refresh[8]; /**< Refresh flag for each of the 8 buffer slots. */
1770
+ } aom_svc_ref_frame_config_t;
1771
+
1772
+ /*!brief Parameters for setting ref frame compound prediction */
1773
+ typedef struct aom_svc_ref_frame_comp_pred {
1774
+ // Use compound prediction for the ref_frame pairs GOLDEN_LAST (0),
1775
+ // LAST2_LAST (1), and ALTREF_LAST (2).
1776
+ int use_comp_pred[3]; /**<Compound reference flag. */
1777
+ } aom_svc_ref_frame_comp_pred_t;
1778
+
1779
+ /*!brief Frame drop modes for spatial/quality layer SVC */
1780
+ typedef enum {
1781
+ AOM_LAYER_DROP, /**< Any spatial layer can drop. */
1782
+ AOM_FULL_SUPERFRAME_DROP, /**< Only full superframe can drop. */
1783
+ } AOM_SVC_FRAME_DROP_MODE;
1784
+
1785
+ /*!\cond */
1786
+ /*!\brief Encoder control function parameter type
1787
+ *
1788
+ * Defines the data types that AOME/AV1E control functions take.
1789
+ *
1790
+ * \note Additional common controls are defined in aom.h.
1791
+ *
1792
+ * \note For each control ID "X", a macro-define of
1793
+ * AOM_CTRL_X is provided. It is used at compile time to determine
1794
+ * if the control ID is supported by the libaom library available,
1795
+ * when the libaom version cannot be controlled.
1796
+ */
1797
+ AOM_CTRL_USE_TYPE(AOME_USE_REFERENCE, int)
1798
+ #define AOM_CTRL_AOME_USE_REFERENCE
1799
+
1800
+ AOM_CTRL_USE_TYPE(AOME_SET_ROI_MAP, aom_roi_map_t *)
1801
+ #define AOM_CTRL_AOME_SET_ROI_MAP
1802
+
1803
+ AOM_CTRL_USE_TYPE(AOME_SET_ACTIVEMAP, aom_active_map_t *)
1804
+ #define AOM_CTRL_AOME_SET_ACTIVEMAP
1805
+
1806
+ AOM_CTRL_USE_TYPE(AOME_SET_SCALEMODE, aom_scaling_mode_t *)
1807
+ #define AOM_CTRL_AOME_SET_SCALEMODE
1808
+
1809
+ AOM_CTRL_USE_TYPE(AOME_SET_SPATIAL_LAYER_ID, int)
1810
+ #define AOM_CTRL_AOME_SET_SPATIAL_LAYER_ID
1811
+
1812
+ AOM_CTRL_USE_TYPE(AOME_SET_CPUUSED, int)
1813
+ #define AOM_CTRL_AOME_SET_CPUUSED
1814
+
1815
+ AOM_CTRL_USE_TYPE(AOME_SET_ENABLEAUTOALTREF, unsigned int)
1816
+ #define AOM_CTRL_AOME_SET_ENABLEAUTOALTREF
1817
+
1818
+ AOM_CTRL_USE_TYPE(AOME_SET_SHARPNESS, unsigned int)
1819
+ #define AOM_CTRL_AOME_SET_SHARPNESS
1820
+
1821
+ AOM_CTRL_USE_TYPE(AOME_SET_STATIC_THRESHOLD, unsigned int)
1822
+ #define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
1823
+
1824
+ AOM_CTRL_USE_TYPE(AOME_GET_LAST_QUANTIZER, int *)
1825
+ #define AOM_CTRL_AOME_GET_LAST_QUANTIZER
1826
+
1827
+ AOM_CTRL_USE_TYPE(AOME_GET_LAST_QUANTIZER_64, int *)
1828
+ #define AOM_CTRL_AOME_GET_LAST_QUANTIZER_64
1829
+
1830
+ AOM_CTRL_USE_TYPE(AOME_SET_ARNR_MAXFRAMES, unsigned int)
1831
+ #define AOM_CTRL_AOME_SET_ARNR_MAXFRAMES
1832
+
1833
+ AOM_CTRL_USE_TYPE(AOME_SET_ARNR_STRENGTH, unsigned int)
1834
+ #define AOM_CTRL_AOME_SET_ARNR_STRENGTH
1835
+
1836
+ AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
1837
+ #define AOM_CTRL_AOME_SET_TUNING
1838
+
1839
+ AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
1840
+ #define AOM_CTRL_AOME_SET_CQ_LEVEL
1841
+
1842
+ AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTRA_BITRATE_PCT, unsigned int)
1843
+ #define AOM_CTRL_AOME_SET_MAX_INTRA_BITRATE_PCT
1844
+
1845
+ AOM_CTRL_USE_TYPE(AOME_SET_NUMBER_SPATIAL_LAYERS, int)
1846
+ #define AOM_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1847
+ // TODO(aomedia:3231): Deprecated. Remove it.
1848
+ #define AOME_CTRL_AOME_SET_NUMBER_SPATIAL_LAYERS
1849
+
1850
+ AOM_CTRL_USE_TYPE(AOME_SET_MAX_INTER_BITRATE_PCT, unsigned int)
1851
+ #define AOM_CTRL_AV1E_SET_MAX_INTER_BITRATE_PCT
1852
+ // TODO(aomedia:3231): Deprecated. Remove it.
1853
+ #define AOM_CTRL_AOME_SET_MAX_INTER_BITRATE_PCT
1854
+
1855
+ AOM_CTRL_USE_TYPE(AV1E_SET_GF_CBR_BOOST_PCT, unsigned int)
1856
+ #define AOM_CTRL_AV1E_SET_GF_CBR_BOOST_PCT
1857
+
1858
+ AOM_CTRL_USE_TYPE(AV1E_SET_LOSSLESS, unsigned int)
1859
+ #define AOM_CTRL_AV1E_SET_LOSSLESS
1860
+
1861
+ AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, unsigned int)
1862
+ #define AOM_CTRL_AV1E_SET_ROW_MT
1863
+
1864
+ AOM_CTRL_USE_TYPE(AV1E_SET_TILE_COLUMNS, unsigned int)
1865
+ #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
1866
+
1867
+ AOM_CTRL_USE_TYPE(AV1E_SET_TILE_ROWS, unsigned int)
1868
+ #define AOM_CTRL_AV1E_SET_TILE_ROWS
1869
+
1870
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_TPL_MODEL, unsigned int)
1871
+ #define AOM_CTRL_AV1E_SET_ENABLE_TPL_MODEL
1872
+
1873
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_KEYFRAME_FILTERING, unsigned int)
1874
+ #define AOM_CTRL_AV1E_SET_ENABLE_KEYFRAME_FILTERING
1875
+
1876
+ AOM_CTRL_USE_TYPE(AV1E_SET_FRAME_PARALLEL_DECODING, unsigned int)
1877
+ #define AOM_CTRL_AV1E_SET_FRAME_PARALLEL_DECODING
1878
+
1879
+ AOM_CTRL_USE_TYPE(AV1E_SET_ERROR_RESILIENT_MODE, int)
1880
+ #define AOM_CTRL_AV1E_SET_ERROR_RESILIENT_MODE
1881
+
1882
+ AOM_CTRL_USE_TYPE(AV1E_SET_S_FRAME_MODE, int)
1883
+ #define AOM_CTRL_AV1E_SET_S_FRAME_MODE
1884
+
1885
+ AOM_CTRL_USE_TYPE(AV1E_SET_AQ_MODE, unsigned int)
1886
+ #define AOM_CTRL_AV1E_SET_AQ_MODE
1887
+
1888
+ AOM_CTRL_USE_TYPE(AV1E_SET_FRAME_PERIODIC_BOOST, unsigned int)
1889
+ #define AOM_CTRL_AV1E_SET_FRAME_PERIODIC_BOOST
1890
+
1891
+ AOM_CTRL_USE_TYPE(AV1E_SET_NOISE_SENSITIVITY, unsigned int)
1892
+ #define AOM_CTRL_AV1E_SET_NOISE_SENSITIVITY
1893
+
1894
+ AOM_CTRL_USE_TYPE(AV1E_SET_TUNE_CONTENT, int) /* aom_tune_content */
1895
+ #define AOM_CTRL_AV1E_SET_TUNE_CONTENT
1896
+
1897
+ AOM_CTRL_USE_TYPE(AV1E_SET_CDF_UPDATE_MODE, unsigned int)
1898
+ #define AOM_CTRL_AV1E_SET_CDF_UPDATE_MODE
1899
+
1900
+ AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_PRIMARIES, int)
1901
+ #define AOM_CTRL_AV1E_SET_COLOR_PRIMARIES
1902
+
1903
+ AOM_CTRL_USE_TYPE(AV1E_SET_TRANSFER_CHARACTERISTICS, int)
1904
+ #define AOM_CTRL_AV1E_SET_TRANSFER_CHARACTERISTICS
1905
+
1906
+ AOM_CTRL_USE_TYPE(AV1E_SET_MATRIX_COEFFICIENTS, int)
1907
+ #define AOM_CTRL_AV1E_SET_MATRIX_COEFFICIENTS
1908
+
1909
+ AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SAMPLE_POSITION, int)
1910
+ #define AOM_CTRL_AV1E_SET_CHROMA_SAMPLE_POSITION
1911
+
1912
+ AOM_CTRL_USE_TYPE(AV1E_SET_MIN_GF_INTERVAL, unsigned int)
1913
+ #define AOM_CTRL_AV1E_SET_MIN_GF_INTERVAL
1914
+
1915
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_GF_INTERVAL, unsigned int)
1916
+ #define AOM_CTRL_AV1E_SET_MAX_GF_INTERVAL
1917
+
1918
+ AOM_CTRL_USE_TYPE(AV1E_GET_ACTIVEMAP, aom_active_map_t *)
1919
+ #define AOM_CTRL_AV1E_GET_ACTIVEMAP
1920
+
1921
+ AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_RANGE, int)
1922
+ #define AOM_CTRL_AV1E_SET_COLOR_RANGE
1923
+
1924
+ AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *)
1925
+ #define AOM_CTRL_AV1E_SET_RENDER_SIZE
1926
+
1927
+ AOM_CTRL_USE_TYPE(AV1E_SET_TARGET_SEQ_LEVEL_IDX, int)
1928
+ #define AOM_CTRL_AV1E_SET_TARGET_SEQ_LEVEL_IDX
1929
+
1930
+ AOM_CTRL_USE_TYPE(AV1E_GET_SEQ_LEVEL_IDX, int *)
1931
+ #define AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX
1932
+
1933
+ AOM_CTRL_USE_TYPE(AV1E_SET_SUPERBLOCK_SIZE, unsigned int)
1934
+ #define AOM_CTRL_AV1E_SET_SUPERBLOCK_SIZE
1935
+
1936
+ AOM_CTRL_USE_TYPE(AOME_SET_ENABLEAUTOBWDREF, unsigned int)
1937
+ #define AOM_CTRL_AOME_SET_ENABLEAUTOBWDREF
1938
+
1939
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_CDEF, unsigned int)
1940
+ #define AOM_CTRL_AV1E_SET_ENABLE_CDEF
1941
+
1942
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_RESTORATION, unsigned int)
1943
+ #define AOM_CTRL_AV1E_SET_ENABLE_RESTORATION
1944
+
1945
+ AOM_CTRL_USE_TYPE(AV1E_SET_FORCE_VIDEO_MODE, unsigned int)
1946
+ #define AOM_CTRL_AV1E_SET_FORCE_VIDEO_MODE
1947
+
1948
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_OBMC, unsigned int)
1949
+ #define AOM_CTRL_AV1E_SET_ENABLE_OBMC
1950
+
1951
+ AOM_CTRL_USE_TYPE(AV1E_SET_DISABLE_TRELLIS_QUANT, unsigned int)
1952
+ #define AOM_CTRL_AV1E_SET_DISABLE_TRELLIS_QUANT
1953
+
1954
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_QM, unsigned int)
1955
+ #define AOM_CTRL_AV1E_SET_ENABLE_QM
1956
+
1957
+ // TODO(aomedia:3231): Remove these two lines.
1958
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_8X8, unsigned int)
1959
+ #define AOM_CTRL_AV1E_SET_ENABLE_DIST_8X8
1960
+
1961
+ AOM_CTRL_USE_TYPE(AV1E_SET_QM_MIN, unsigned int)
1962
+ #define AOM_CTRL_AV1E_SET_QM_MIN
1963
+
1964
+ AOM_CTRL_USE_TYPE(AV1E_SET_QM_MAX, unsigned int)
1965
+ #define AOM_CTRL_AV1E_SET_QM_MAX
1966
+
1967
+ AOM_CTRL_USE_TYPE(AV1E_SET_QM_Y, unsigned int)
1968
+ #define AOM_CTRL_AV1E_SET_QM_Y
1969
+
1970
+ AOM_CTRL_USE_TYPE(AV1E_SET_QM_U, unsigned int)
1971
+ #define AOM_CTRL_AV1E_SET_QM_U
1972
+
1973
+ AOM_CTRL_USE_TYPE(AV1E_SET_QM_V, unsigned int)
1974
+ #define AOM_CTRL_AV1E_SET_QM_V
1975
+
1976
+ AOM_CTRL_USE_TYPE(AV1E_SET_NUM_TG, unsigned int)
1977
+ #define AOM_CTRL_AV1E_SET_NUM_TG
1978
+
1979
+ AOM_CTRL_USE_TYPE(AV1E_SET_MTU, unsigned int)
1980
+ #define AOM_CTRL_AV1E_SET_MTU
1981
+
1982
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_RECT_PARTITIONS, int)
1983
+ #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
1984
+
1985
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_AB_PARTITIONS, int)
1986
+ #define AOM_CTRL_AV1E_SET_ENABLE_AB_PARTITIONS
1987
+
1988
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_1TO4_PARTITIONS, int)
1989
+ #define AOM_CTRL_AV1E_SET_ENABLE_1TO4_PARTITIONS
1990
+
1991
+ AOM_CTRL_USE_TYPE(AV1E_SET_MIN_PARTITION_SIZE, int)
1992
+ #define AOM_CTRL_AV1E_SET_MIN_PARTITION_SIZE
1993
+
1994
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_PARTITION_SIZE, int)
1995
+ #define AOM_CTRL_AV1E_SET_MAX_PARTITION_SIZE
1996
+
1997
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_INTRA_EDGE_FILTER, int)
1998
+ #define AOM_CTRL_AV1E_SET_ENABLE_INTRA_EDGE_FILTER
1999
+
2000
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_ORDER_HINT, int)
2001
+ #define AOM_CTRL_AV1E_SET_ENABLE_ORDER_HINT
2002
+
2003
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_TX64, int)
2004
+ #define AOM_CTRL_AV1E_SET_ENABLE_TX64
2005
+
2006
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_FLIP_IDTX, int)
2007
+ #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
2008
+
2009
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_RECT_TX, int)
2010
+ #define AOM_CTRL_AV1E_SET_ENABLE_RECT_TX
2011
+
2012
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIST_WTD_COMP, int)
2013
+ #define AOM_CTRL_AV1E_SET_ENABLE_DIST_WTD_COMP
2014
+
2015
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_REF_FRAME_MVS, int)
2016
+ #define AOM_CTRL_AV1E_SET_ENABLE_REF_FRAME_MVS
2017
+
2018
+ AOM_CTRL_USE_TYPE(AV1E_SET_ALLOW_REF_FRAME_MVS, int)
2019
+ #define AOM_CTRL_AV1E_SET_ALLOW_REF_FRAME_MVS
2020
+
2021
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DUAL_FILTER, int)
2022
+ #define AOM_CTRL_AV1E_SET_ENABLE_DUAL_FILTER
2023
+
2024
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_CHROMA_DELTAQ, int)
2025
+ #define AOM_CTRL_AV1E_SET_ENABLE_CHROMA_DELTAQ
2026
+
2027
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_MASKED_COMP, int)
2028
+ #define AOM_CTRL_AV1E_SET_ENABLE_MASKED_COMP
2029
+
2030
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_ONESIDED_COMP, int)
2031
+ #define AOM_CTRL_AV1E_SET_ENABLE_ONESIDED_COMP
2032
+
2033
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_INTERINTRA_COMP, int)
2034
+ #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_COMP
2035
+
2036
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_SMOOTH_INTERINTRA, int)
2037
+ #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTERINTRA
2038
+
2039
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIFF_WTD_COMP, int)
2040
+ #define AOM_CTRL_AV1E_SET_ENABLE_DIFF_WTD_COMP
2041
+
2042
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_INTERINTER_WEDGE, int)
2043
+ #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTER_WEDGE
2044
+
2045
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_INTERINTRA_WEDGE, int)
2046
+ #define AOM_CTRL_AV1E_SET_ENABLE_INTERINTRA_WEDGE
2047
+
2048
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_GLOBAL_MOTION, int)
2049
+ #define AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
2050
+
2051
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_WARPED_MOTION, int)
2052
+ #define AOM_CTRL_AV1E_SET_ENABLE_WARPED_MOTION
2053
+
2054
+ AOM_CTRL_USE_TYPE(AV1E_SET_ALLOW_WARPED_MOTION, int)
2055
+ #define AOM_CTRL_AV1E_SET_ALLOW_WARPED_MOTION
2056
+
2057
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_FILTER_INTRA, int)
2058
+ #define AOM_CTRL_AV1E_SET_ENABLE_FILTER_INTRA
2059
+
2060
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_SMOOTH_INTRA, int)
2061
+ #define AOM_CTRL_AV1E_SET_ENABLE_SMOOTH_INTRA
2062
+
2063
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_PAETH_INTRA, int)
2064
+ #define AOM_CTRL_AV1E_SET_ENABLE_PAETH_INTRA
2065
+
2066
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_CFL_INTRA, int)
2067
+ #define AOM_CTRL_AV1E_SET_ENABLE_CFL_INTRA
2068
+
2069
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_SUPERRES, int)
2070
+ #define AOM_CTRL_AV1E_SET_ENABLE_SUPERRES
2071
+
2072
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_OVERLAY, int)
2073
+ #define AOM_CTRL_AV1E_SET_ENABLE_OVERLAY
2074
+
2075
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_PALETTE, int)
2076
+ #define AOM_CTRL_AV1E_SET_ENABLE_PALETTE
2077
+
2078
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_INTRABC, int)
2079
+ #define AOM_CTRL_AV1E_SET_ENABLE_INTRABC
2080
+
2081
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_ANGLE_DELTA, int)
2082
+ #define AOM_CTRL_AV1E_SET_ENABLE_ANGLE_DELTA
2083
+
2084
+ AOM_CTRL_USE_TYPE(AV1E_SET_DELTAQ_MODE, unsigned int)
2085
+ #define AOM_CTRL_AV1E_SET_DELTAQ_MODE
2086
+
2087
+ AOM_CTRL_USE_TYPE(AV1E_SET_DELTALF_MODE, unsigned int)
2088
+ #define AOM_CTRL_AV1E_SET_DELTALF_MODE
2089
+
2090
+ AOM_CTRL_USE_TYPE(AV1E_SET_SINGLE_TILE_DECODING, unsigned int)
2091
+ #define AOM_CTRL_AV1E_SET_SINGLE_TILE_DECODING
2092
+
2093
+ AOM_CTRL_USE_TYPE(AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST, unsigned int)
2094
+ #define AOM_CTRL_AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST
2095
+
2096
+ AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
2097
+ #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
2098
+
2099
+ AOM_CTRL_USE_TYPE(AV1E_SET_FILM_GRAIN_TEST_VECTOR, int)
2100
+ #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TEST_VECTOR
2101
+
2102
+ AOM_CTRL_USE_TYPE(AV1E_SET_FILM_GRAIN_TABLE, const char *)
2103
+ #define AOM_CTRL_AV1E_SET_FILM_GRAIN_TABLE
2104
+
2105
+ AOM_CTRL_USE_TYPE(AV1E_SET_DENOISE_NOISE_LEVEL, int)
2106
+ #define AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
2107
+
2108
+ AOM_CTRL_USE_TYPE(AV1E_SET_DENOISE_BLOCK_SIZE, unsigned int)
2109
+ #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
2110
+
2111
+ AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SUBSAMPLING_X, unsigned int)
2112
+ #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
2113
+
2114
+ AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SUBSAMPLING_Y, unsigned int)
2115
+ #define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
2116
+
2117
+ AOM_CTRL_USE_TYPE(AV1E_SET_REDUCED_TX_TYPE_SET, int)
2118
+ #define AOM_CTRL_AV1E_SET_REDUCED_TX_TYPE_SET
2119
+
2120
+ AOM_CTRL_USE_TYPE(AV1E_SET_INTRA_DCT_ONLY, int)
2121
+ #define AOM_CTRL_AV1E_SET_INTRA_DCT_ONLY
2122
+
2123
+ AOM_CTRL_USE_TYPE(AV1E_SET_INTER_DCT_ONLY, int)
2124
+ #define AOM_CTRL_AV1E_SET_INTER_DCT_ONLY
2125
+
2126
+ AOM_CTRL_USE_TYPE(AV1E_SET_INTRA_DEFAULT_TX_ONLY, int)
2127
+ #define AOM_CTRL_AV1E_SET_INTRA_DEFAULT_TX_ONLY
2128
+
2129
+ AOM_CTRL_USE_TYPE(AV1E_SET_QUANT_B_ADAPT, int)
2130
+ #define AOM_CTRL_AV1E_SET_QUANT_B_ADAPT
2131
+
2132
+ AOM_CTRL_USE_TYPE(AV1E_SET_GF_MAX_PYRAMID_HEIGHT, unsigned int)
2133
+ #define AOM_CTRL_AV1E_SET_GF_MAX_PYRAMID_HEIGHT
2134
+
2135
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_REFERENCE_FRAMES, int)
2136
+ #define AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
2137
+
2138
+ AOM_CTRL_USE_TYPE(AV1E_SET_REDUCED_REFERENCE_SET, int)
2139
+ #define AOM_CTRL_AV1E_SET_REDUCED_REFERENCE_SET
2140
+
2141
+ AOM_CTRL_USE_TYPE(AV1E_SET_COEFF_COST_UPD_FREQ, unsigned int)
2142
+ #define AOM_CTRL_AV1E_SET_COEFF_COST_UPD_FREQ
2143
+
2144
+ AOM_CTRL_USE_TYPE(AV1E_SET_MODE_COST_UPD_FREQ, unsigned int)
2145
+ #define AOM_CTRL_AV1E_SET_MODE_COST_UPD_FREQ
2146
+
2147
+ AOM_CTRL_USE_TYPE(AV1E_SET_MV_COST_UPD_FREQ, unsigned int)
2148
+ #define AOM_CTRL_AV1E_SET_MV_COST_UPD_FREQ
2149
+
2150
+ AOM_CTRL_USE_TYPE(AV1E_SET_TIER_MASK, unsigned int)
2151
+ #define AOM_CTRL_AV1E_SET_TIER_MASK
2152
+
2153
+ AOM_CTRL_USE_TYPE(AV1E_SET_MIN_CR, unsigned int)
2154
+ #define AOM_CTRL_AV1E_SET_MIN_CR
2155
+
2156
+ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_LAYER_ID, aom_svc_layer_id_t *)
2157
+ #define AOM_CTRL_AV1E_SET_SVC_LAYER_ID
2158
+ // TODO(aomedia:3231): Deprecated. Remove it.
2159
+ #define AOME_CTRL_AV1E_SET_SVC_LAYER_ID
2160
+
2161
+ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_PARAMS, aom_svc_params_t *)
2162
+ #define AOM_CTRL_AV1E_SET_SVC_PARAMS
2163
+ // TODO(aomedia:3231): Deprecated. Remove it.
2164
+ #define AOME_CTRL_AV1E_SET_SVC_PARAMS
2165
+
2166
+ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_REF_FRAME_CONFIG, aom_svc_ref_frame_config_t *)
2167
+ #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2168
+ // TODO(aomedia:3231): Deprecated. Remove it.
2169
+ #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_CONFIG
2170
+
2171
+ AOM_CTRL_USE_TYPE(AV1E_SET_VMAF_MODEL_PATH, const char *)
2172
+ #define AOM_CTRL_AV1E_SET_VMAF_MODEL_PATH
2173
+
2174
+ AOM_CTRL_USE_TYPE(AV1E_ENABLE_EXT_TILE_DEBUG, unsigned int)
2175
+ #define AOM_CTRL_AV1E_ENABLE_EXT_TILE_DEBUG
2176
+
2177
+ AOM_CTRL_USE_TYPE(AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST, unsigned int)
2178
+ #define AOM_CTRL_AV1E_ENABLE_SB_MULTIPASS_UNIT_TEST
2179
+
2180
+ AOM_CTRL_USE_TYPE(AV1E_SET_GF_MIN_PYRAMID_HEIGHT, unsigned int)
2181
+ #define AOM_CTRL_AV1E_SET_GF_MIN_PYRAMID_HEIGHT
2182
+
2183
+ AOM_CTRL_USE_TYPE(AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP, unsigned int)
2184
+ #define AOM_CTRL_AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
2185
+
2186
+ AOM_CTRL_USE_TYPE(AV1E_GET_BASELINE_GF_INTERVAL, int *)
2187
+ #define AOM_CTRL_AV1E_GET_BASELINE_GF_INTERVAL
2188
+
2189
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DNL_DENOISING, int)
2190
+ #define AOM_CTRL_AV1E_SET_ENABLE_DNL_DENOISING
2191
+
2192
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIAGONAL_INTRA, int)
2193
+ #define AOM_CTRL_AV1E_SET_ENABLE_DIAGONAL_INTRA
2194
+
2195
+ AOM_CTRL_USE_TYPE(AV1E_SET_DV_COST_UPD_FREQ, unsigned int)
2196
+ #define AOM_CTRL_AV1E_SET_DV_COST_UPD_FREQ
2197
+
2198
+ AOM_CTRL_USE_TYPE(AV1E_SET_PARTITION_INFO_PATH, const char *)
2199
+ #define AOM_CTRL_AV1E_SET_PARTITION_INFO_PATH
2200
+
2201
+ AOM_CTRL_USE_TYPE(AV1E_SET_EXTERNAL_PARTITION, aom_ext_part_funcs_t *)
2202
+ #define AOM_CTRL_AV1E_SET_EXTERNAL_PARTITION
2203
+
2204
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_DIRECTIONAL_INTRA, int)
2205
+ #define AOM_CTRL_AV1E_SET_ENABLE_DIRECTIONAL_INTRA
2206
+
2207
+ AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_TX_SIZE_SEARCH, int)
2208
+ #define AOM_CTRL_AV1E_SET_ENABLE_TX_SIZE_SEARCH
2209
+
2210
+ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_REF_FRAME_COMP_PRED,
2211
+ aom_svc_ref_frame_comp_pred_t *)
2212
+ #define AOM_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2213
+ // TODO(aomedia:3231): Deprecated. Remove it.
2214
+ #define AOME_CTRL_AV1E_SET_SVC_REF_FRAME_COMP_PRED
2215
+
2216
+ AOM_CTRL_USE_TYPE(AV1E_SET_DELTAQ_STRENGTH, unsigned int)
2217
+ #define AOM_CTRL_AV1E_SET_DELTAQ_STRENGTH
2218
+
2219
+ AOM_CTRL_USE_TYPE(AV1E_SET_LOOPFILTER_CONTROL, int)
2220
+ #define AOM_CTRL_AV1E_SET_LOOPFILTER_CONTROL
2221
+
2222
+ AOM_CTRL_USE_TYPE(AOME_GET_LOOPFILTER_LEVEL, int *)
2223
+ #define AOM_CTRL_AOME_GET_LOOPFILTER_LEVEL
2224
+
2225
+ AOM_CTRL_USE_TYPE(AV1E_SET_AUTO_INTRA_TOOLS_OFF, unsigned int)
2226
+ #define AOM_CTRL_AV1E_SET_AUTO_INTRA_TOOLS_OFF
2227
+
2228
+ AOM_CTRL_USE_TYPE(AV1E_SET_RTC_EXTERNAL_RC, int)
2229
+ #define AOM_CTRL_AV1E_SET_RTC_EXTERNAL_RC
2230
+
2231
+ AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT, unsigned int)
2232
+ #define AOM_CTRL_AV1E_SET_FP_MT
2233
+
2234
+ AOM_CTRL_USE_TYPE(AV1E_SET_FP_MT_UNIT_TEST, unsigned int)
2235
+ #define AOM_CTRL_AV1E_SET_FP_MT_UNIT_TEST
2236
+
2237
+ AOM_CTRL_USE_TYPE(AV1E_GET_TARGET_SEQ_LEVEL_IDX, int *)
2238
+ #define AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX
2239
+
2240
+ AOM_CTRL_USE_TYPE(AV1E_GET_NUM_OPERATING_POINTS, int *)
2241
+ #define AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS
2242
+
2243
+ AOM_CTRL_USE_TYPE(AV1E_SET_SKIP_POSTPROC_FILTERING, unsigned int)
2244
+ #define AOM_CTRL_AV1E_SET_SKIP_POSTPROC_FILTERING
2245
+
2246
+ AOM_CTRL_USE_TYPE(AV1E_ENABLE_SB_QP_SWEEP, unsigned int)
2247
+ #define AOM_CTRL_AV1E_ENABLE_SB_QP_SWEEP
2248
+
2249
+ AOM_CTRL_USE_TYPE(AV1E_SET_QUANTIZER_ONE_PASS, int)
2250
+ #define AOM_CTRL_AV1E_SET_QUANTIZER_ONE_PASS
2251
+
2252
+ AOM_CTRL_USE_TYPE(AV1E_ENABLE_RATE_GUIDE_DELTAQ, unsigned int)
2253
+ #define AOM_CTRL_AV1E_ENABLE_RATE_GUIDE_DELTAQ
2254
+
2255
+ AOM_CTRL_USE_TYPE(AV1E_SET_RATE_DISTRIBUTION_INFO, const char *)
2256
+ #define AOM_CTRL_AV1E_SET_RATE_DISTRIBUTION_INFO
2257
+
2258
+ AOM_CTRL_USE_TYPE(AV1E_GET_LUMA_CDEF_STRENGTH, int *)
2259
+ #define AOM_CTRL_AV1E_GET_LUMA_CDEF_STRENGTH
2260
+
2261
+ AOM_CTRL_USE_TYPE(AV1E_SET_BITRATE_ONE_PASS_CBR, unsigned int)
2262
+ #define AOM_CTRL_AV1E_SET_BITRATE_ONE_PASS_CBR
2263
+
2264
+ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_FRAME_DROP_MODE, unsigned int)
2265
+ #define AOM_CTRL_AV1E_SET_SVC_FRAME_DROP_MODE
2266
+
2267
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR, int)
2268
+ #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR
2269
+
2270
+ AOM_CTRL_USE_TYPE(AV1E_SET_AUTO_TILES, unsigned int)
2271
+ #define AOM_CTRL_AV1E_SET_AUTO_TILES
2272
+
2273
+ AOM_CTRL_USE_TYPE(AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC, int *)
2274
+ #define AOM_CTRL_AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
2275
+
2276
+ AOM_CTRL_USE_TYPE(AV1E_SET_POSTENCODE_DROP_RTC, int)
2277
+ #define AOM_CTRL_AV1E_SET_POSTENCODE_DROP_RTC
2278
+
2279
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR, int)
2280
+ #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
2281
+
2282
+ /*!\endcond */
2283
+ /*! @} - end defgroup aom_encoder */
2284
+ #ifdef __cplusplus
2285
+ } // extern "C"
2286
+ #endif
2287
+
2288
+ #endif // AOM_AOM_AOMCX_H_