xref: /aosp_15_r20/external/libaom/aom/aomdx.h (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1*77c1e3ccSAndroid Build Coastguard Worker /*
2*77c1e3ccSAndroid Build Coastguard Worker  * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3*77c1e3ccSAndroid Build Coastguard Worker  *
4*77c1e3ccSAndroid Build Coastguard Worker  * This source code is subject to the terms of the BSD 2 Clause License and
5*77c1e3ccSAndroid Build Coastguard Worker  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6*77c1e3ccSAndroid Build Coastguard Worker  * was not distributed with this source code in the LICENSE file, you can
7*77c1e3ccSAndroid Build Coastguard Worker  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8*77c1e3ccSAndroid Build Coastguard Worker  * Media Patent License 1.0 was not distributed with this source code in the
9*77c1e3ccSAndroid Build Coastguard Worker  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10*77c1e3ccSAndroid Build Coastguard Worker  */
11*77c1e3ccSAndroid Build Coastguard Worker 
12*77c1e3ccSAndroid Build Coastguard Worker /*!\defgroup aom_decoder AOMedia AOM/AV1 Decoder
13*77c1e3ccSAndroid Build Coastguard Worker  * \ingroup aom
14*77c1e3ccSAndroid Build Coastguard Worker  *
15*77c1e3ccSAndroid Build Coastguard Worker  * @{
16*77c1e3ccSAndroid Build Coastguard Worker  */
17*77c1e3ccSAndroid Build Coastguard Worker /*!\file
18*77c1e3ccSAndroid Build Coastguard Worker  * \brief Provides definitions for using AOM or AV1 within the aom Decoder
19*77c1e3ccSAndroid Build Coastguard Worker  *        interface.
20*77c1e3ccSAndroid Build Coastguard Worker  */
21*77c1e3ccSAndroid Build Coastguard Worker #ifndef AOM_AOM_AOMDX_H_
22*77c1e3ccSAndroid Build Coastguard Worker #define AOM_AOM_AOMDX_H_
23*77c1e3ccSAndroid Build Coastguard Worker 
24*77c1e3ccSAndroid Build Coastguard Worker #ifdef __cplusplus
25*77c1e3ccSAndroid Build Coastguard Worker extern "C" {
26*77c1e3ccSAndroid Build Coastguard Worker #endif
27*77c1e3ccSAndroid Build Coastguard Worker 
28*77c1e3ccSAndroid Build Coastguard Worker /* Include controls common to both the encoder and decoder */
29*77c1e3ccSAndroid Build Coastguard Worker #include "aom/aom.h"
30*77c1e3ccSAndroid Build Coastguard Worker 
31*77c1e3ccSAndroid Build Coastguard Worker /*!\name Algorithm interface for AV1
32*77c1e3ccSAndroid Build Coastguard Worker  *
33*77c1e3ccSAndroid Build Coastguard Worker  * This interface provides the capability to decode AV1 streams.
34*77c1e3ccSAndroid Build Coastguard Worker  * @{
35*77c1e3ccSAndroid Build Coastguard Worker  */
36*77c1e3ccSAndroid Build Coastguard Worker 
37*77c1e3ccSAndroid Build Coastguard Worker /*!\brief A single instance of the AV1 decoder.
38*77c1e3ccSAndroid Build Coastguard Worker  *\deprecated This access mechanism is provided for backwards compatibility;
39*77c1e3ccSAndroid Build Coastguard Worker  * prefer aom_codec_av1_dx().
40*77c1e3ccSAndroid Build Coastguard Worker  */
41*77c1e3ccSAndroid Build Coastguard Worker extern aom_codec_iface_t aom_codec_av1_dx_algo;
42*77c1e3ccSAndroid Build Coastguard Worker /*!\brief The interface to the AV1 decoder.
43*77c1e3ccSAndroid Build Coastguard Worker  */
44*77c1e3ccSAndroid Build Coastguard Worker extern aom_codec_iface_t *aom_codec_av1_dx(void);
45*77c1e3ccSAndroid Build Coastguard Worker 
46*77c1e3ccSAndroid Build Coastguard Worker /*!@} - end algorithm interface member group */
47*77c1e3ccSAndroid Build Coastguard Worker 
48*77c1e3ccSAndroid Build Coastguard Worker /** Data structure that stores bit accounting for debug
49*77c1e3ccSAndroid Build Coastguard Worker  */
50*77c1e3ccSAndroid Build Coastguard Worker typedef struct Accounting Accounting;
51*77c1e3ccSAndroid Build Coastguard Worker 
52*77c1e3ccSAndroid Build Coastguard Worker #ifndef AOM_INSPECTION_H_
53*77c1e3ccSAndroid Build Coastguard Worker /** Callback that inspects decoder frame data.
54*77c1e3ccSAndroid Build Coastguard Worker  */
55*77c1e3ccSAndroid Build Coastguard Worker typedef void (*aom_inspect_cb)(void *decoder, void *ctx);
56*77c1e3ccSAndroid Build Coastguard Worker 
57*77c1e3ccSAndroid Build Coastguard Worker #endif
58*77c1e3ccSAndroid Build Coastguard Worker 
59*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold inspection callback and context.
60*77c1e3ccSAndroid Build Coastguard Worker  *
61*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold the inspection callback function and calling
62*77c1e3ccSAndroid Build Coastguard Worker  * context.
63*77c1e3ccSAndroid Build Coastguard Worker  */
64*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_inspect_init {
65*77c1e3ccSAndroid Build Coastguard Worker   /*! Inspection callback. */
66*77c1e3ccSAndroid Build Coastguard Worker   aom_inspect_cb inspect_cb;
67*77c1e3ccSAndroid Build Coastguard Worker 
68*77c1e3ccSAndroid Build Coastguard Worker   /*! Inspection context. */
69*77c1e3ccSAndroid Build Coastguard Worker   void *inspect_ctx;
70*77c1e3ccSAndroid Build Coastguard Worker } aom_inspect_init;
71*77c1e3ccSAndroid Build Coastguard Worker 
72*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to collect a buffer index when inspecting.
73*77c1e3ccSAndroid Build Coastguard Worker  *
74*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold the buffer and return an index
75*77c1e3ccSAndroid Build Coastguard Worker  * when calling decode from inspect. This enables us to decode
76*77c1e3ccSAndroid Build Coastguard Worker  * non showable sub frames.
77*77c1e3ccSAndroid Build Coastguard Worker  */
78*77c1e3ccSAndroid Build Coastguard Worker typedef struct {
79*77c1e3ccSAndroid Build Coastguard Worker   /*! Pointer for new position in compressed buffer after decoding 1 OBU. */
80*77c1e3ccSAndroid Build Coastguard Worker   const unsigned char *buf;
81*77c1e3ccSAndroid Build Coastguard Worker   /*! Index into reference buffer array to see result of decoding 1 OBU. */
82*77c1e3ccSAndroid Build Coastguard Worker   int idx;
83*77c1e3ccSAndroid Build Coastguard Worker   /*! Is a show existing frame. */
84*77c1e3ccSAndroid Build Coastguard Worker   int show_existing;
85*77c1e3ccSAndroid Build Coastguard Worker } Av1DecodeReturn;
86*77c1e3ccSAndroid Build Coastguard Worker 
87*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold a tile's start address and size in the bitstream.
88*77c1e3ccSAndroid Build Coastguard Worker  *
89*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold a tile's start address and size in the bitstream.
90*77c1e3ccSAndroid Build Coastguard Worker  */
91*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_tile_data {
92*77c1e3ccSAndroid Build Coastguard Worker   /*! Tile data size. */
93*77c1e3ccSAndroid Build Coastguard Worker   size_t coded_tile_data_size;
94*77c1e3ccSAndroid Build Coastguard Worker   /*! Tile's start address. */
95*77c1e3ccSAndroid Build Coastguard Worker   const void *coded_tile_data;
96*77c1e3ccSAndroid Build Coastguard Worker   /*! Extra size information. */
97*77c1e3ccSAndroid Build Coastguard Worker   size_t extra_size;
98*77c1e3ccSAndroid Build Coastguard Worker } aom_tile_data;
99*77c1e3ccSAndroid Build Coastguard Worker 
100*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Max number of tile columns
101*77c1e3ccSAndroid Build Coastguard Worker  *
102*77c1e3ccSAndroid Build Coastguard Worker  * This is the limit of number of tile columns allowed within a frame.
103*77c1e3ccSAndroid Build Coastguard Worker  *
104*77c1e3ccSAndroid Build Coastguard Worker  * Currently same as "MAX_TILE_COLS" in AV1, the maximum that AV1 supports.
105*77c1e3ccSAndroid Build Coastguard Worker  *
106*77c1e3ccSAndroid Build Coastguard Worker  */
107*77c1e3ccSAndroid Build Coastguard Worker #define AOM_MAX_TILE_COLS 64
108*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Max number of tile rows
109*77c1e3ccSAndroid Build Coastguard Worker  *
110*77c1e3ccSAndroid Build Coastguard Worker  * This is the limit of number of tile rows allowed within a frame.
111*77c1e3ccSAndroid Build Coastguard Worker  *
112*77c1e3ccSAndroid Build Coastguard Worker  * Currently same as "MAX_TILE_ROWS" in AV1, the maximum that AV1 supports.
113*77c1e3ccSAndroid Build Coastguard Worker  *
114*77c1e3ccSAndroid Build Coastguard Worker  */
115*77c1e3ccSAndroid Build Coastguard Worker #define AOM_MAX_TILE_ROWS 64
116*77c1e3ccSAndroid Build Coastguard Worker 
117*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold information about tiles in a frame.
118*77c1e3ccSAndroid Build Coastguard Worker  *
119*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold a frame's tile information, namely
120*77c1e3ccSAndroid Build Coastguard Worker  * number of tile columns, number of tile_rows, and the width and
121*77c1e3ccSAndroid Build Coastguard Worker  * height of each tile.
122*77c1e3ccSAndroid Build Coastguard Worker  */
123*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_tile_info {
124*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates the number of tile columns. */
125*77c1e3ccSAndroid Build Coastguard Worker   int tile_columns;
126*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates the number of tile rows. */
127*77c1e3ccSAndroid Build Coastguard Worker   int tile_rows;
128*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates the tile widths in units of SB. */
129*77c1e3ccSAndroid Build Coastguard Worker   int tile_widths[AOM_MAX_TILE_COLS];
130*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates the tile heights in units of SB. */
131*77c1e3ccSAndroid Build Coastguard Worker   int tile_heights[AOM_MAX_TILE_ROWS];
132*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates the number of tile groups present in a frame. */
133*77c1e3ccSAndroid Build Coastguard Worker   int num_tile_groups;
134*77c1e3ccSAndroid Build Coastguard Worker } aom_tile_info;
135*77c1e3ccSAndroid Build Coastguard Worker 
136*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold information about still image coding.
137*77c1e3ccSAndroid Build Coastguard Worker  *
138*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold a information regarding still picture
139*77c1e3ccSAndroid Build Coastguard Worker  * and its header type.
140*77c1e3ccSAndroid Build Coastguard Worker  */
141*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_still_picture_info {
142*77c1e3ccSAndroid Build Coastguard Worker   /*! Video is a single frame still picture */
143*77c1e3ccSAndroid Build Coastguard Worker   int is_still_picture;
144*77c1e3ccSAndroid Build Coastguard Worker   /*! Use full header for still picture */
145*77c1e3ccSAndroid Build Coastguard Worker   int is_reduced_still_picture_hdr;
146*77c1e3ccSAndroid Build Coastguard Worker } aom_still_picture_info;
147*77c1e3ccSAndroid Build Coastguard Worker 
148*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold information about S_FRAME.
149*77c1e3ccSAndroid Build Coastguard Worker  *
150*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold a information regarding S_FRAME
151*77c1e3ccSAndroid Build Coastguard Worker  * and its position.
152*77c1e3ccSAndroid Build Coastguard Worker  */
153*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_s_frame_info {
154*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates if current frame is S_FRAME */
155*77c1e3ccSAndroid Build Coastguard Worker   int is_s_frame;
156*77c1e3ccSAndroid Build Coastguard Worker   /*! Indicates if current S_FRAME is present at ALTREF frame*/
157*77c1e3ccSAndroid Build Coastguard Worker   int is_s_frame_at_altref;
158*77c1e3ccSAndroid Build Coastguard Worker } aom_s_frame_info;
159*77c1e3ccSAndroid Build Coastguard Worker 
160*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold information about screen content tools.
161*77c1e3ccSAndroid Build Coastguard Worker  *
162*77c1e3ccSAndroid Build Coastguard Worker  * Defines a structure to hold information about screen content
163*77c1e3ccSAndroid Build Coastguard Worker  * tools, namely: allow_screen_content_tools, allow_intrabc, and
164*77c1e3ccSAndroid Build Coastguard Worker  * force_integer_mv.
165*77c1e3ccSAndroid Build Coastguard Worker  */
166*77c1e3ccSAndroid Build Coastguard Worker typedef struct aom_screen_content_tools_info {
167*77c1e3ccSAndroid Build Coastguard Worker   /*! Are screen content tools allowed */
168*77c1e3ccSAndroid Build Coastguard Worker   int allow_screen_content_tools;
169*77c1e3ccSAndroid Build Coastguard Worker   /*! Is intrabc allowed */
170*77c1e3ccSAndroid Build Coastguard Worker   int allow_intrabc;
171*77c1e3ccSAndroid Build Coastguard Worker   /*! Is integer mv forced */
172*77c1e3ccSAndroid Build Coastguard Worker   int force_integer_mv;
173*77c1e3ccSAndroid Build Coastguard Worker } aom_screen_content_tools_info;
174*77c1e3ccSAndroid Build Coastguard Worker 
175*77c1e3ccSAndroid Build Coastguard Worker /*!\brief Structure to hold the external reference frame pointer.
176*77c1e3ccSAndroid Build Coastguard Worker  *
177*77c1e3ccSAndroid Build Coastguard Worker  * Define a structure to hold the external reference frame pointer.
178*77c1e3ccSAndroid Build Coastguard Worker  */
179*77c1e3ccSAndroid Build Coastguard Worker typedef struct av1_ext_ref_frame {
180*77c1e3ccSAndroid Build Coastguard Worker   /*! Start pointer of external references. */
181*77c1e3ccSAndroid Build Coastguard Worker   aom_image_t *img;
182*77c1e3ccSAndroid Build Coastguard Worker   /*! Number of available external references. */
183*77c1e3ccSAndroid Build Coastguard Worker   int num;
184*77c1e3ccSAndroid Build Coastguard Worker } av1_ext_ref_frame_t;
185*77c1e3ccSAndroid Build Coastguard Worker 
186*77c1e3ccSAndroid Build Coastguard Worker /*!\enum aom_dec_control_id
187*77c1e3ccSAndroid Build Coastguard Worker  * \brief AOM decoder control functions
188*77c1e3ccSAndroid Build Coastguard Worker  *
189*77c1e3ccSAndroid Build Coastguard Worker  * This set of macros define the control functions available for the AOM
190*77c1e3ccSAndroid Build Coastguard Worker  * decoder interface.
191*77c1e3ccSAndroid Build Coastguard Worker  * The range for decoder control ID is >= 256.
192*77c1e3ccSAndroid Build Coastguard Worker  *
193*77c1e3ccSAndroid Build Coastguard Worker  * \sa #aom_codec_control(aom_codec_ctx_t *ctx, int ctrl_id, ...)
194*77c1e3ccSAndroid Build Coastguard Worker  */
195*77c1e3ccSAndroid Build Coastguard Worker enum aom_dec_control_id {
196*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get info on which reference frames were
197*77c1e3ccSAndroid Build Coastguard Worker    * updated by the last decode, int* parameter
198*77c1e3ccSAndroid Build Coastguard Worker    */
199*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_LAST_REF_UPDATES = AOM_DECODER_CTRL_ID_START,
200*77c1e3ccSAndroid Build Coastguard Worker 
201*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to check if the indicated frame is
202*77c1e3ccSAndroid Build Coastguard Worker     corrupted, int* parameter
203*77c1e3ccSAndroid Build Coastguard Worker   */
204*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_FRAME_CORRUPTED,
205*77c1e3ccSAndroid Build Coastguard Worker 
206*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get info on which reference frames were
207*77c1e3ccSAndroid Build Coastguard Worker    * used by the last decode, int* parameter
208*77c1e3ccSAndroid Build Coastguard Worker    */
209*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_LAST_REF_USED,
210*77c1e3ccSAndroid Build Coastguard Worker 
211*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the dimensions that the current
212*77c1e3ccSAndroid Build Coastguard Worker    * frame is decoded at, int* parameter
213*77c1e3ccSAndroid Build Coastguard Worker    *
214*77c1e3ccSAndroid Build Coastguard Worker    * This may be different to the intended display size for the frame as
215*77c1e3ccSAndroid Build Coastguard Worker    * specified in the wrapper or frame header (see AV1D_GET_DISPLAY_SIZE).
216*77c1e3ccSAndroid Build Coastguard Worker    */
217*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_FRAME_SIZE,
218*77c1e3ccSAndroid Build Coastguard Worker 
219*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the current frame's intended display
220*77c1e3ccSAndroid Build Coastguard Worker    * dimensions (as specified in the wrapper or frame header), int* parameter
221*77c1e3ccSAndroid Build Coastguard Worker    *
222*77c1e3ccSAndroid Build Coastguard Worker    * This may be different to the decoded dimensions of this frame (see
223*77c1e3ccSAndroid Build Coastguard Worker    * AV1D_GET_FRAME_SIZE).
224*77c1e3ccSAndroid Build Coastguard Worker    */
225*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_DISPLAY_SIZE,
226*77c1e3ccSAndroid Build Coastguard Worker 
227*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the bit depth of the stream,
228*77c1e3ccSAndroid Build Coastguard Worker    * unsigned int* parameter
229*77c1e3ccSAndroid Build Coastguard Worker    */
230*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_BIT_DEPTH,
231*77c1e3ccSAndroid Build Coastguard Worker 
232*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the image format of the stream,
233*77c1e3ccSAndroid Build Coastguard Worker    * aom_img_fmt_t* parameter
234*77c1e3ccSAndroid Build Coastguard Worker    */
235*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_IMG_FORMAT,
236*77c1e3ccSAndroid Build Coastguard Worker 
237*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the width and height (in pixels) of
238*77c1e3ccSAndroid Build Coastguard Worker    * the tiles in a tile list, unsigned int* parameter
239*77c1e3ccSAndroid Build Coastguard Worker    *
240*77c1e3ccSAndroid Build Coastguard Worker    * Tile width is in the high 16 bits of the output value, and tile height is
241*77c1e3ccSAndroid Build Coastguard Worker    * in the low 16 bits of the output value.
242*77c1e3ccSAndroid Build Coastguard Worker    */
243*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_TILE_SIZE,
244*77c1e3ccSAndroid Build Coastguard Worker 
245*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the tile count in a tile list,
246*77c1e3ccSAndroid Build Coastguard Worker    * unsigned int* parameter
247*77c1e3ccSAndroid Build Coastguard Worker    */
248*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_TILE_COUNT,
249*77c1e3ccSAndroid Build Coastguard Worker 
250*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the byte alignment of the planes in
251*77c1e3ccSAndroid Build Coastguard Worker    * the reference buffers, int parameter
252*77c1e3ccSAndroid Build Coastguard Worker    *
253*77c1e3ccSAndroid Build Coastguard Worker    * Valid values are power of 2, from 32 to 1024. A value of 0 sets
254*77c1e3ccSAndroid Build Coastguard Worker    * legacy alignment. I.e. Y plane is aligned to 32 bytes, U plane directly
255*77c1e3ccSAndroid Build Coastguard Worker    * follows Y plane, and V plane directly follows U plane. Default value is 0.
256*77c1e3ccSAndroid Build Coastguard Worker    */
257*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_BYTE_ALIGNMENT,
258*77c1e3ccSAndroid Build Coastguard Worker 
259*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to invert the decoding order to from right to
260*77c1e3ccSAndroid Build Coastguard Worker    * left, int parameter
261*77c1e3ccSAndroid Build Coastguard Worker    *
262*77c1e3ccSAndroid Build Coastguard Worker    * The function is used in a test to confirm the decoding independence of tile
263*77c1e3ccSAndroid Build Coastguard Worker    * columns. The function may be used in application where this order
264*77c1e3ccSAndroid Build Coastguard Worker    * of decoding is desired. int parameter
265*77c1e3ccSAndroid Build Coastguard Worker    *
266*77c1e3ccSAndroid Build Coastguard Worker    * TODO(yaowu): Rework the unit test that uses this control, and in a future
267*77c1e3ccSAndroid Build Coastguard Worker    *              release, this test-only control shall be removed.
268*77c1e3ccSAndroid Build Coastguard Worker    */
269*77c1e3ccSAndroid Build Coastguard Worker   AV1_INVERT_TILE_DECODE_ORDER,
270*77c1e3ccSAndroid Build Coastguard Worker 
271*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the skip loop filter flag, int
272*77c1e3ccSAndroid Build Coastguard Worker    * parameter
273*77c1e3ccSAndroid Build Coastguard Worker    *
274*77c1e3ccSAndroid Build Coastguard Worker    * Valid values are integers. The decoder will skip the loop filter
275*77c1e3ccSAndroid Build Coastguard Worker    * when its value is set to nonzero. If the loop filter is skipped the
276*77c1e3ccSAndroid Build Coastguard Worker    * decoder may accumulate decode artifacts. The default value is 0.
277*77c1e3ccSAndroid Build Coastguard Worker    */
278*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_SKIP_LOOP_FILTER,
279*77c1e3ccSAndroid Build Coastguard Worker 
280*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to retrieve a pointer to the Accounting
281*77c1e3ccSAndroid Build Coastguard Worker    * struct, takes Accounting** as parameter
282*77c1e3ccSAndroid Build Coastguard Worker    *
283*77c1e3ccSAndroid Build Coastguard Worker    * If called before a frame has been decoded, this returns AOM_CODEC_ERROR.
284*77c1e3ccSAndroid Build Coastguard Worker    * The caller should ensure that AOM_CODEC_OK is returned before attempting
285*77c1e3ccSAndroid Build Coastguard Worker    * to dereference the Accounting pointer.
286*77c1e3ccSAndroid Build Coastguard Worker    *
287*77c1e3ccSAndroid Build Coastguard Worker    * \attention When configured with -DCONFIG_ACCOUNTING=0, the default, this
288*77c1e3ccSAndroid Build Coastguard Worker    * returns AOM_CODEC_INCAPABLE.
289*77c1e3ccSAndroid Build Coastguard Worker    */
290*77c1e3ccSAndroid Build Coastguard Worker   AV1_GET_ACCOUNTING,
291*77c1e3ccSAndroid Build Coastguard Worker 
292*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get last decoded frame quantizer,
293*77c1e3ccSAndroid Build Coastguard Worker    * int* parameter
294*77c1e3ccSAndroid Build Coastguard Worker    *
295*77c1e3ccSAndroid Build Coastguard Worker    * Returned value uses internal quantizer scale defined by the codec.
296*77c1e3ccSAndroid Build Coastguard Worker    */
297*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_LAST_QUANTIZER,
298*77c1e3ccSAndroid Build Coastguard Worker 
299*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the range of tile decoding, int
300*77c1e3ccSAndroid Build Coastguard Worker    * parameter
301*77c1e3ccSAndroid Build Coastguard Worker    *
302*77c1e3ccSAndroid Build Coastguard Worker    * A value that is greater and equal to zero indicates only the specific
303*77c1e3ccSAndroid Build Coastguard Worker    * row/column is decoded. A value that is -1 indicates the whole row/column
304*77c1e3ccSAndroid Build Coastguard Worker    * is decoded. A special case is both values are -1 that means the whole
305*77c1e3ccSAndroid Build Coastguard Worker    * frame is decoded.
306*77c1e3ccSAndroid Build Coastguard Worker    */
307*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_DECODE_TILE_ROW,
308*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_DECODE_TILE_COL,
309*77c1e3ccSAndroid Build Coastguard Worker 
310*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the tile coding mode, unsigned int
311*77c1e3ccSAndroid Build Coastguard Worker    * parameter
312*77c1e3ccSAndroid Build Coastguard Worker    *
313*77c1e3ccSAndroid Build Coastguard Worker    * - 0 = tiles are coded in normal tile mode
314*77c1e3ccSAndroid Build Coastguard Worker    * - 1 = tiles are coded in large-scale tile mode
315*77c1e3ccSAndroid Build Coastguard Worker    */
316*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_TILE_MODE,
317*77c1e3ccSAndroid Build Coastguard Worker 
318*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the frame header information of an
319*77c1e3ccSAndroid Build Coastguard Worker    * encoded frame, aom_tile_data* parameter
320*77c1e3ccSAndroid Build Coastguard Worker    */
321*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_FRAME_HEADER_INFO,
322*77c1e3ccSAndroid Build Coastguard Worker 
323*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the start address and size of a
324*77c1e3ccSAndroid Build Coastguard Worker    * tile in the coded bitstream, aom_tile_data* parameter.
325*77c1e3ccSAndroid Build Coastguard Worker    */
326*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_TILE_DATA,
327*77c1e3ccSAndroid Build Coastguard Worker 
328*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the external references' pointers in
329*77c1e3ccSAndroid Build Coastguard Worker    * the decoder, av1_ext_ref_frame_t* parameter.
330*77c1e3ccSAndroid Build Coastguard Worker    *
331*77c1e3ccSAndroid Build Coastguard Worker    * This is used while decoding the tile list OBU in large-scale tile coding
332*77c1e3ccSAndroid Build Coastguard Worker    * mode.
333*77c1e3ccSAndroid Build Coastguard Worker    */
334*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_EXT_REF_PTR,
335*77c1e3ccSAndroid Build Coastguard Worker 
336*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to enable the ext-tile software debug and
337*77c1e3ccSAndroid Build Coastguard Worker    * testing code in the decoder, unsigned int parameter
338*77c1e3ccSAndroid Build Coastguard Worker    */
339*77c1e3ccSAndroid Build Coastguard Worker   AV1D_EXT_TILE_DEBUG,
340*77c1e3ccSAndroid Build Coastguard Worker 
341*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to enable the row based multi-threading of
342*77c1e3ccSAndroid Build Coastguard Worker    * decoding, unsigned int parameter
343*77c1e3ccSAndroid Build Coastguard Worker    *
344*77c1e3ccSAndroid Build Coastguard Worker    * - 0 = disabled
345*77c1e3ccSAndroid Build Coastguard Worker    * - 1 = enabled (default)
346*77c1e3ccSAndroid Build Coastguard Worker    */
347*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_ROW_MT,
348*77c1e3ccSAndroid Build Coastguard Worker 
349*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to indicate whether bitstream is in
350*77c1e3ccSAndroid Build Coastguard Worker    * Annex-B format, unsigned int parameter
351*77c1e3ccSAndroid Build Coastguard Worker    */
352*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_IS_ANNEXB,
353*77c1e3ccSAndroid Build Coastguard Worker 
354*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to indicate which operating point to use,
355*77c1e3ccSAndroid Build Coastguard Worker    * int parameter
356*77c1e3ccSAndroid Build Coastguard Worker    *
357*77c1e3ccSAndroid Build Coastguard Worker    * A scalable stream may define multiple operating points, each of which
358*77c1e3ccSAndroid Build Coastguard Worker    * defines a set of temporal and spatial layers to be processed. The
359*77c1e3ccSAndroid Build Coastguard Worker    * operating point index may take a value between 0 and
360*77c1e3ccSAndroid Build Coastguard Worker    * operating_points_cnt_minus_1 (which is at most 31).
361*77c1e3ccSAndroid Build Coastguard Worker    */
362*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_OPERATING_POINT,
363*77c1e3ccSAndroid Build Coastguard Worker 
364*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to indicate whether to output one frame per
365*77c1e3ccSAndroid Build Coastguard Worker    * temporal unit (the default), or one frame per spatial layer, int parameter
366*77c1e3ccSAndroid Build Coastguard Worker    *
367*77c1e3ccSAndroid Build Coastguard Worker    * In a scalable stream, each temporal unit corresponds to a single "frame"
368*77c1e3ccSAndroid Build Coastguard Worker    * of video, and within a temporal unit there may be multiple spatial layers
369*77c1e3ccSAndroid Build Coastguard Worker    * with different versions of that frame.
370*77c1e3ccSAndroid Build Coastguard Worker    * For video playback, only the highest-quality version (within the
371*77c1e3ccSAndroid Build Coastguard Worker    * selected operating point) is needed, but for some use cases it is useful
372*77c1e3ccSAndroid Build Coastguard Worker    * to have access to multiple versions of a frame when they are available.
373*77c1e3ccSAndroid Build Coastguard Worker    */
374*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_OUTPUT_ALL_LAYERS,
375*77c1e3ccSAndroid Build Coastguard Worker 
376*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set an aom_inspect_cb callback that is
377*77c1e3ccSAndroid Build Coastguard Worker    * invoked each time a frame is decoded, aom_inspect_init* parameter
378*77c1e3ccSAndroid Build Coastguard Worker    *
379*77c1e3ccSAndroid Build Coastguard Worker    * \attention When configured with -DCONFIG_INSPECTION=0, the default, this
380*77c1e3ccSAndroid Build Coastguard Worker    * returns AOM_CODEC_INCAPABLE.
381*77c1e3ccSAndroid Build Coastguard Worker    */
382*77c1e3ccSAndroid Build Coastguard Worker   AV1_SET_INSPECTION_CALLBACK,
383*77c1e3ccSAndroid Build Coastguard Worker 
384*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to set the skip film grain flag, int
385*77c1e3ccSAndroid Build Coastguard Worker    * parameter
386*77c1e3ccSAndroid Build Coastguard Worker    *
387*77c1e3ccSAndroid Build Coastguard Worker    * Valid values are integers. The decoder will skip the film grain when its
388*77c1e3ccSAndroid Build Coastguard Worker    * value is set to nonzero. The default value is 0.
389*77c1e3ccSAndroid Build Coastguard Worker    */
390*77c1e3ccSAndroid Build Coastguard Worker   AV1D_SET_SKIP_FILM_GRAIN,
391*77c1e3ccSAndroid Build Coastguard Worker 
392*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to check the presence of forward key frames,
393*77c1e3ccSAndroid Build Coastguard Worker    * int* parameter
394*77c1e3ccSAndroid Build Coastguard Worker    */
395*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_FWD_KF_PRESENT,
396*77c1e3ccSAndroid Build Coastguard Worker 
397*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the frame flags of the previous frame
398*77c1e3ccSAndroid Build Coastguard Worker    * decoded, int* parameter
399*77c1e3ccSAndroid Build Coastguard Worker    *
400*77c1e3ccSAndroid Build Coastguard Worker    * This will return a flag of type aom_codec_frame_flags_t.
401*77c1e3ccSAndroid Build Coastguard Worker    */
402*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_FRAME_FLAGS,
403*77c1e3ccSAndroid Build Coastguard Worker 
404*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to check the presence of altref frames, int*
405*77c1e3ccSAndroid Build Coastguard Worker    * parameter
406*77c1e3ccSAndroid Build Coastguard Worker    */
407*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_ALTREF_PRESENT,
408*77c1e3ccSAndroid Build Coastguard Worker 
409*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get tile information of the previous frame
410*77c1e3ccSAndroid Build Coastguard Worker    * decoded, aom_tile_info* parameter
411*77c1e3ccSAndroid Build Coastguard Worker    *
412*77c1e3ccSAndroid Build Coastguard Worker    * This will return a struct of type aom_tile_info.
413*77c1e3ccSAndroid Build Coastguard Worker    */
414*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_TILE_INFO,
415*77c1e3ccSAndroid Build Coastguard Worker 
416*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get screen content tools information,
417*77c1e3ccSAndroid Build Coastguard Worker    * aom_screen_content_tools_info* parameter
418*77c1e3ccSAndroid Build Coastguard Worker    *
419*77c1e3ccSAndroid Build Coastguard Worker    * It returns a struct of type aom_screen_content_tools_info, which contains
420*77c1e3ccSAndroid Build Coastguard Worker    * the header flags allow_screen_content_tools, allow_intrabc, and
421*77c1e3ccSAndroid Build Coastguard Worker    * force_integer_mv.
422*77c1e3ccSAndroid Build Coastguard Worker    */
423*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_SCREEN_CONTENT_TOOLS_INFO,
424*77c1e3ccSAndroid Build Coastguard Worker 
425*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the still picture coding information,
426*77c1e3ccSAndroid Build Coastguard Worker    * aom_still_picture_info* parameter
427*77c1e3ccSAndroid Build Coastguard Worker    */
428*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_STILL_PICTURE,
429*77c1e3ccSAndroid Build Coastguard Worker 
430*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get superblock size,
431*77c1e3ccSAndroid Build Coastguard Worker    * aom_superblock_size_t* parameter
432*77c1e3ccSAndroid Build Coastguard Worker    *
433*77c1e3ccSAndroid Build Coastguard Worker    * It returns an enum, indicating the superblock size read from the sequence
434*77c1e3ccSAndroid Build Coastguard Worker    * header(0 for BLOCK_64X64 and 1 for BLOCK_128X128)
435*77c1e3ccSAndroid Build Coastguard Worker    */
436*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_SB_SIZE,
437*77c1e3ccSAndroid Build Coastguard Worker 
438*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to check if the previous frame
439*77c1e3ccSAndroid Build Coastguard Worker    * decoded has show existing frame flag set, int* parameter
440*77c1e3ccSAndroid Build Coastguard Worker    */
441*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_SHOW_EXISTING_FRAME_FLAG,
442*77c1e3ccSAndroid Build Coastguard Worker 
443*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the S_FRAME coding information,
444*77c1e3ccSAndroid Build Coastguard Worker    * aom_s_frame_info* parameter
445*77c1e3ccSAndroid Build Coastguard Worker    */
446*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_S_FRAME_INFO,
447*77c1e3ccSAndroid Build Coastguard Worker 
448*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the show frame flag, int* parameter
449*77c1e3ccSAndroid Build Coastguard Worker    */
450*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_SHOW_FRAME_FLAG,
451*77c1e3ccSAndroid Build Coastguard Worker 
452*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the base q index of a frame, int*
453*77c1e3ccSAndroid Build Coastguard Worker    * parameter
454*77c1e3ccSAndroid Build Coastguard Worker    */
455*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_BASE_Q_IDX,
456*77c1e3ccSAndroid Build Coastguard Worker 
457*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the order hint of a frame, unsigned
458*77c1e3ccSAndroid Build Coastguard Worker    * int* parameter
459*77c1e3ccSAndroid Build Coastguard Worker    */
460*77c1e3ccSAndroid Build Coastguard Worker   AOMD_GET_ORDER_HINT,
461*77c1e3ccSAndroid Build Coastguard Worker 
462*77c1e3ccSAndroid Build Coastguard Worker   /*!\brief Codec control function to get the info of a 4x4 block.
463*77c1e3ccSAndroid Build Coastguard Worker    * Parameters: int mi_row, int mi_col, and MB_MODE_INFO*.
464*77c1e3ccSAndroid Build Coastguard Worker    *
465*77c1e3ccSAndroid Build Coastguard Worker    * \note This only returns a shallow copy, so all pointer members should not
466*77c1e3ccSAndroid Build Coastguard Worker    * be used.
467*77c1e3ccSAndroid Build Coastguard Worker    */
468*77c1e3ccSAndroid Build Coastguard Worker   AV1D_GET_MI_INFO,
469*77c1e3ccSAndroid Build Coastguard Worker };
470*77c1e3ccSAndroid Build Coastguard Worker 
471*77c1e3ccSAndroid Build Coastguard Worker /*!\cond */
472*77c1e3ccSAndroid Build Coastguard Worker /*!\brief AOM decoder control function parameter type
473*77c1e3ccSAndroid Build Coastguard Worker  *
474*77c1e3ccSAndroid Build Coastguard Worker  * Defines the data types that AOMD control functions take.
475*77c1e3ccSAndroid Build Coastguard Worker  *
476*77c1e3ccSAndroid Build Coastguard Worker  * \note Additional common controls are defined in aom.h.
477*77c1e3ccSAndroid Build Coastguard Worker  *
478*77c1e3ccSAndroid Build Coastguard Worker  * \note For each control ID "X", a macro-define of
479*77c1e3ccSAndroid Build Coastguard Worker  * AOM_CTRL_X is provided. It is used at compile time to determine
480*77c1e3ccSAndroid Build Coastguard Worker  * if the control ID is supported by the libaom library available,
481*77c1e3ccSAndroid Build Coastguard Worker  * when the libaom version cannot be controlled.
482*77c1e3ccSAndroid Build Coastguard Worker  */
483*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_LAST_REF_UPDATES, int *)
484*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_LAST_REF_UPDATES
485*77c1e3ccSAndroid Build Coastguard Worker 
486*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_FRAME_CORRUPTED, int *)
487*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_FRAME_CORRUPTED
488*77c1e3ccSAndroid Build Coastguard Worker 
489*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_LAST_REF_USED, int *)
490*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_LAST_REF_USED
491*77c1e3ccSAndroid Build Coastguard Worker 
492*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_FRAME_SIZE, int *)
493*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_FRAME_SIZE
494*77c1e3ccSAndroid Build Coastguard Worker 
495*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_DISPLAY_SIZE, int *)
496*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_DISPLAY_SIZE
497*77c1e3ccSAndroid Build Coastguard Worker 
498*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_BIT_DEPTH, unsigned int *)
499*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_BIT_DEPTH
500*77c1e3ccSAndroid Build Coastguard Worker 
501*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_IMG_FORMAT, aom_img_fmt_t *)
502*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_IMG_FORMAT
503*77c1e3ccSAndroid Build Coastguard Worker 
504*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_TILE_SIZE, unsigned int *)
505*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_TILE_SIZE
506*77c1e3ccSAndroid Build Coastguard Worker 
507*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_TILE_COUNT, unsigned int *)
508*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_TILE_COUNT
509*77c1e3ccSAndroid Build Coastguard Worker 
510*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_INVERT_TILE_DECODE_ORDER, int)
511*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
512*77c1e3ccSAndroid Build Coastguard Worker 
513*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_SET_SKIP_LOOP_FILTER, int)
514*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_SET_SKIP_LOOP_FILTER
515*77c1e3ccSAndroid Build Coastguard Worker 
516*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_GET_ACCOUNTING, Accounting **)
517*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_GET_ACCOUNTING
518*77c1e3ccSAndroid Build Coastguard Worker 
519*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_LAST_QUANTIZER, int *)
520*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_LAST_QUANTIZER
521*77c1e3ccSAndroid Build Coastguard Worker 
522*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_ROW, int)
523*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_SET_DECODE_TILE_ROW
524*77c1e3ccSAndroid Build Coastguard Worker 
525*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_COL, int)
526*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_SET_DECODE_TILE_COL
527*77c1e3ccSAndroid Build Coastguard Worker 
528*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_SET_TILE_MODE, unsigned int)
529*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_SET_TILE_MODE
530*77c1e3ccSAndroid Build Coastguard Worker 
531*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_FRAME_HEADER_INFO, aom_tile_data *)
532*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_FRAME_HEADER_INFO
533*77c1e3ccSAndroid Build Coastguard Worker 
534*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_GET_TILE_DATA, aom_tile_data *)
535*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_TILE_DATA
536*77c1e3ccSAndroid Build Coastguard Worker 
537*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_EXT_REF_PTR, av1_ext_ref_frame_t *)
538*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_EXT_REF_PTR
539*77c1e3ccSAndroid Build Coastguard Worker 
540*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_EXT_TILE_DEBUG, unsigned int)
541*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_EXT_TILE_DEBUG
542*77c1e3ccSAndroid Build Coastguard Worker 
543*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_ROW_MT, unsigned int)
544*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_ROW_MT
545*77c1e3ccSAndroid Build Coastguard Worker 
546*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_IS_ANNEXB, unsigned int)
547*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_IS_ANNEXB
548*77c1e3ccSAndroid Build Coastguard Worker 
549*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_OPERATING_POINT, int)
550*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_OPERATING_POINT
551*77c1e3ccSAndroid Build Coastguard Worker 
552*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_OUTPUT_ALL_LAYERS, int)
553*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_OUTPUT_ALL_LAYERS
554*77c1e3ccSAndroid Build Coastguard Worker 
555*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1_SET_INSPECTION_CALLBACK, aom_inspect_init *)
556*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1_SET_INSPECTION_CALLBACK
557*77c1e3ccSAndroid Build Coastguard Worker 
558*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AV1D_SET_SKIP_FILM_GRAIN, int)
559*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_SET_SKIP_FILM_GRAIN
560*77c1e3ccSAndroid Build Coastguard Worker 
561*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_FWD_KF_PRESENT, int *)
562*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_FWD_KF_PRESENT
563*77c1e3ccSAndroid Build Coastguard Worker 
564*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_FRAME_FLAGS, int *)
565*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_FRAME_FLAGS
566*77c1e3ccSAndroid Build Coastguard Worker 
567*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_ALTREF_PRESENT, int *)
568*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_ALTREF_PRESENT
569*77c1e3ccSAndroid Build Coastguard Worker 
570*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_TILE_INFO, aom_tile_info *)
571*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_TILE_INFO
572*77c1e3ccSAndroid Build Coastguard Worker 
573*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_SCREEN_CONTENT_TOOLS_INFO,
574*77c1e3ccSAndroid Build Coastguard Worker                   aom_screen_content_tools_info *)
575*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
576*77c1e3ccSAndroid Build Coastguard Worker 
577*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_STILL_PICTURE, aom_still_picture_info *)
578*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_STILL_PICTURE
579*77c1e3ccSAndroid Build Coastguard Worker 
580*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_SB_SIZE, aom_superblock_size_t *)
581*77c1e3ccSAndroid Build Coastguard Worker #define AOMD_CTRL_AOMD_GET_SB_SIZE
582*77c1e3ccSAndroid Build Coastguard Worker 
583*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_SHOW_EXISTING_FRAME_FLAG, int *)
584*77c1e3ccSAndroid Build Coastguard Worker #define AOMD_CTRL_AOMD_GET_SHOW_EXISTING_FRAME_FLAG
585*77c1e3ccSAndroid Build Coastguard Worker 
586*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_S_FRAME_INFO, aom_s_frame_info *)
587*77c1e3ccSAndroid Build Coastguard Worker #define AOMD_CTRL_AOMD_GET_S_FRAME_INFO
588*77c1e3ccSAndroid Build Coastguard Worker 
589*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_SHOW_FRAME_FLAG, int *)
590*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_SHOW_FRAME_FLAG
591*77c1e3ccSAndroid Build Coastguard Worker 
592*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_BASE_Q_IDX, int *)
593*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_BASE_Q_IDX
594*77c1e3ccSAndroid Build Coastguard Worker 
595*77c1e3ccSAndroid Build Coastguard Worker AOM_CTRL_USE_TYPE(AOMD_GET_ORDER_HINT, unsigned int *)
596*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AOMD_GET_ORDER_HINT
597*77c1e3ccSAndroid Build Coastguard Worker 
598*77c1e3ccSAndroid Build Coastguard Worker // The AOM_CTRL_USE_TYPE macro can't be used with AV1D_GET_MI_INFO because
599*77c1e3ccSAndroid Build Coastguard Worker // AV1D_GET_MI_INFO takes more than one parameter.
600*77c1e3ccSAndroid Build Coastguard Worker #define AOM_CTRL_AV1D_GET_MI_INFO
601*77c1e3ccSAndroid Build Coastguard Worker /*!\endcond */
602*77c1e3ccSAndroid Build Coastguard Worker /*! @} - end defgroup aom_decoder */
603*77c1e3ccSAndroid Build Coastguard Worker #ifdef __cplusplus
604*77c1e3ccSAndroid Build Coastguard Worker }  // extern "C"
605*77c1e3ccSAndroid Build Coastguard Worker #endif
606*77c1e3ccSAndroid Build Coastguard Worker 
607*77c1e3ccSAndroid Build Coastguard Worker #endif  // AOM_AOM_AOMDX_H_
608