AOMedia Codec SDK
aomdx.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
21 #ifndef AOM_AOM_AOMDX_H_
22 #define AOM_AOM_AOMDX_H_
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Include controls common to both the encoder and decoder */
29 #include "aom/aom.h"
30 
36 extern aom_codec_iface_t aom_codec_av1_dx_algo;
37 extern aom_codec_iface_t *aom_codec_av1_dx(void);
42 typedef struct Accounting Accounting;
43 
44 #ifndef AOM_INSPECTION_H_
45 
47 typedef void (*aom_inspect_cb)(void *decoder, void *ctx);
48 
49 #endif
50 
56 typedef struct aom_inspect_init {
59 
61  void *inspect_ctx;
63 
70 typedef struct {
72  const unsigned char *buf;
74  int idx;
78 
83 typedef struct aom_tile_data {
87  const void *coded_tile_data;
89  size_t extra_size;
91 
96 typedef struct av1_ext_ref_frame {
100  int num;
102 
115  AOMD_GET_LAST_REF_UPDATES = AOM_DECODER_CTRL_ID_START,
116 
119 
124 
129 
134 
137 
140 
143 
146 
153 
163 
170 
178 
183 
191  AV1_SET_DECODE_TILE_COL,
214 
220 
223 
231 
242 
248 
254 
255  AOM_DECODER_CTRL_ID_MAX,
256 };
257 
267 #define AOM_CTRL_AOMD_GET_LAST_REF_UPDATES
269 #define AOM_CTRL_AOMD_GET_FRAME_CORRUPTED
271 #define AOM_CTRL_AOMD_GET_LAST_REF_USED
273 #define AOM_CTRL_AOMD_GET_LAST_QUANTIZER
275 #define AOM_CTRL_AV1D_GET_DISPLAY_SIZE
276 AOM_CTRL_USE_TYPE(AV1D_GET_BIT_DEPTH, unsigned int *)
277 #define AOM_CTRL_AV1D_GET_BIT_DEPTH
279 #define AOM_CTRL_AV1D_GET_IMG_FORMAT
280 AOM_CTRL_USE_TYPE(AV1D_GET_TILE_SIZE, unsigned int *)
281 #define AOM_CTRL_AV1D_GET_TILE_SIZE
282 AOM_CTRL_USE_TYPE(AV1D_GET_TILE_COUNT, unsigned int *)
283 #define AOM_CTRL_AV1D_GET_TILE_COUNT
285 #define AOM_CTRL_AV1D_GET_FRAME_SIZE
287 #define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
289 #define AOM_CTRL_AV1_GET_ACCOUNTING
291 #define AOM_CTRL_AV1_SET_DECODE_TILE_ROW
292 AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_COL, int)
293 #define AOM_CTRL_AV1_SET_DECODE_TILE_COL
295 #define AOM_CTRL_AV1_SET_TILE_MODE
297 #define AOM_CTRL_AV1D_GET_FRAME_HEADER_INFO
299 #define AOM_CTRL_AV1D_GET_TILE_DATA
301 #define AOM_CTRL_AV1D_SET_EXT_REF_PTR
303 #define AOM_CTRL_AV1D_EXT_TILE_DEBUG
304 AOM_CTRL_USE_TYPE(AV1D_SET_ROW_MT, unsigned int)
305 #define AOM_CTRL_AV1D_SET_ROW_MT
307 #define AOM_CTRL_AV1D_SET_SKIP_FILM_GRAIN
309 #define AOM_CTRL_AV1D_SET_IS_ANNEXB
311 #define AOM_CTRL_AV1D_SET_OPERATING_POINT
313 #define AOM_CTRL_AV1D_SET_OUTPUT_ALL_LAYERS
315 #define AOM_CTRL_AV1_SET_INSPECTION_CALLBACK
316 
319 #ifdef __cplusplus
320 } // extern "C"
321 #endif
322 
323 #endif // AOM_AOM_AOMDX_H_
Definition: aomdx.h:253
int show_existing
Definition: aomdx.h:76
void(* aom_inspect_cb)(void *decoder, void *ctx)
Definition: aomdx.h:47
struct aom_tile_data aom_tile_data
Structure to hold a tile's start address and size in the bitstream.
Definition: aomdx.h:200
Definition: aomdx.h:230
aom_inspect_cb inspect_cb
Definition: aomdx.h:58
Definition: aomdx.h:145
enum aom_img_fmt aom_img_fmt_t
List of supported image formats.
Definition: aomdx.h:222
int idx
Definition: aomdx.h:74
Definition: aomdx.h:204
Provides controls common to both the AOM encoder and decoder.
Definition: aomdx.h:142
const unsigned char * buf
Definition: aomdx.h:72
struct aom_inspect_init aom_inspect_init
Structure to hold inspection callback and context.
Definition: aomdx.h:209
Definition: aomdx.h:128
Image Descriptor.
Definition: aom_image.h:141
Structure to hold a tile's start address and size in the bitstream.
Definition: aomdx.h:83
Definition: aomdx.h:118
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
Definition: aomdx.h:162
Definition: aomdx.h:115
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:429
Definition: aomdx.h:139
Definition: aomdx.h:213
Definition: aomdx.h:219
Definition: aomdx.h:247
size_t extra_size
Definition: aomdx.h:89
void * inspect_ctx
Definition: aomdx.h:61
Definition: aomdx.h:182
Definition: aomdx.h:152
Structure to hold inspection callback and context.
Definition: aomdx.h:56
Definition: aomdx.h:190
size_t coded_tile_data_size
Definition: aomdx.h:85
Definition: aomdx.h:196
aom_image_t * img
Definition: aomdx.h:98
const void * coded_tile_data
Definition: aomdx.h:87
Definition: aomdx.h:241
Definition: aomdx.h:123
int num
Definition: aomdx.h:100
Structure to hold the external reference frame pointer.
Definition: aomdx.h:96
aom_dec_control_id
AOM decoder control functions.
Definition: aomdx.h:111
Definition: aomdx.h:136
Definition: aomdx.h:169
Structure to collect a buffer index when inspecting.
Definition: aomdx.h:70
Definition: aomdx.h:133
struct av1_ext_ref_frame av1_ext_ref_frame_t
Structure to hold the external reference frame pointer.
struct Accounting Accounting
Definition: aomdx.h:42
Definition: aomdx.h:177