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_AOMDX_H_
22 #define 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 #endif
49 
55 typedef struct aom_inspect_init {
58 
60  void *inspect_ctx;
62 
67 typedef struct aom_tile_data {
71  const void *coded_tile_data;
73  size_t extra_size;
75 
80 typedef struct av1_ext_ref_frame {
84  int num;
86 
99  AOMD_GET_LAST_REF_UPDATES = AOM_DECODER_CTRL_ID_START,
100 
103 
108 
113 
118 
121 
124 
127 
130 
137 
147 
154 
162 
167 
175  AV1_SET_DECODE_TILE_COL,
198 
201 
209 
220 
226 
232 
233  AOM_DECODER_CTRL_ID_MAX,
234 };
235 
245 #define AOM_CTRL_AOMD_GET_LAST_REF_UPDATES
247 #define AOM_CTRL_AOMD_GET_FRAME_CORRUPTED
249 #define AOM_CTRL_AOMD_GET_LAST_REF_USED
251 #define AOM_CTRL_AOMD_GET_LAST_QUANTIZER
253 #define AOM_CTRL_AV1D_GET_DISPLAY_SIZE
254 AOM_CTRL_USE_TYPE(AV1D_GET_BIT_DEPTH, unsigned int *)
255 #define AOM_CTRL_AV1D_GET_BIT_DEPTH
257 #define AOM_CTRL_AV1D_GET_IMG_FORMAT
258 AOM_CTRL_USE_TYPE(AV1D_GET_TILE_SIZE, unsigned int *)
259 #define AOM_CTRL_AV1D_GET_TILE_SIZE
260 AOM_CTRL_USE_TYPE(AV1D_GET_TILE_COUNT, unsigned int *)
261 #define AOM_CTRL_AV1D_GET_TILE_COUNT
263 #define AOM_CTRL_AV1D_GET_FRAME_SIZE
265 #define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
267 #define AOM_CTRL_AV1_GET_ACCOUNTING
269 #define AOM_CTRL_AV1_SET_DECODE_TILE_ROW
270 AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_COL, int)
271 #define AOM_CTRL_AV1_SET_DECODE_TILE_COL
273 #define AOM_CTRL_AV1_SET_TILE_MODE
275 #define AOM_CTRL_AV1D_GET_FRAME_HEADER_INFO
277 #define AOM_CTRL_AV1D_GET_TILE_DATA
279 #define AOM_CTRL_AV1D_SET_EXT_REF_PTR
281 #define AOM_CTRL_AV1D_EXT_TILE_DEBUG
283 #define AOM_CTRL_AV1D_SET_SKIP_FILM_GRAIN
285 #define AOM_CTRL_AV1D_SET_IS_ANNEXB
287 #define AOM_CTRL_AV1D_SET_OPERATING_POINT
289 #define AOM_CTRL_AV1D_SET_OUTPUT_ALL_LAYERS
291 #define AOM_CTRL_AV1_SET_INSPECTION_CALLBACK
292 
295 #ifdef __cplusplus
296 } // extern "C"
297 #endif
298 
299 #endif // AOM_AOMDX_H_
AOMD_GET_FRAME_CORRUPTED
Definition: aomdx.h:102
AV1D_SET_OUTPUT_ALL_LAYERS
Definition: aomdx.h:219
aom_tile_data::extra_size
size_t extra_size
Definition: aomdx.h:73
AV1_SET_BYTE_ALIGNMENT
Definition: aomdx.h:136
AOMD_GET_LAST_REF_UPDATES
Definition: aomdx.h:99
aom.h
Provides controls common to both the AOM encoder and decoder.
av1_ext_ref_frame::img
aom_image_t * img
Definition: aomdx.h:82
AV1D_GET_BIT_DEPTH
Definition: aomdx.h:120
aom_inspect_init
struct aom_inspect_init aom_inspect_init
Structure to hold inspection callback and context.
aom_tile_data::coded_tile_data_size
size_t coded_tile_data_size
Definition: aomdx.h:69
AV1_SET_SKIP_LOOP_FILTER
Definition: aomdx.h:153
aom_tile_data::coded_tile_data
const void * coded_tile_data
Definition: aomdx.h:71
AV1_SET_TILE_MODE
Definition: aomdx.h:180
aom_codec_iface_t
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
AOMD_GET_LAST_REF_USED
Definition: aomdx.h:107
aom_inspect_init::inspect_ctx
void * inspect_ctx
Definition: aomdx.h:60
aom_inspect_init::inspect_cb
aom_inspect_cb inspect_cb
Definition: aomdx.h:57
AOMD_GET_LAST_QUANTIZER
Definition: aomdx.h:166
av1_ext_ref_frame_t
struct av1_ext_ref_frame av1_ext_ref_frame_t
Structure to hold the external reference frame pointer.
AOM_CTRL_USE_TYPE
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:438
Accounting
struct Accounting Accounting
Definition: aomdx.h:42
AV1_SET_DECODE_TILE_ROW
Definition: aomdx.h:174
AV1D_GET_FRAME_HEADER_INFO
Definition: aomdx.h:184
AV1D_SET_OPERATING_POINT
Definition: aomdx.h:208
AV1D_GET_TILE_COUNT
Definition: aomdx.h:129
AV1D_GET_DISPLAY_SIZE
Definition: aomdx.h:117
av1_ext_ref_frame::num
int num
Definition: aomdx.h:84
aom_dec_control_id
aom_dec_control_id
AOM decoder control functions.
Definition: aomdx.h:95
AV1D_SET_SKIP_FILM_GRAIN
Definition: aomdx.h:231
aom_inspect_init
Structure to hold inspection callback and context.
Definition: aomdx.h:55
AV1D_SET_IS_ANNEXB
Definition: aomdx.h:200
AV1D_GET_TILE_DATA
Definition: aomdx.h:188
AV1_GET_ACCOUNTING
Definition: aomdx.h:161
av1_ext_ref_frame
Structure to hold the external reference frame pointer.
Definition: aomdx.h:80
AV1D_GET_IMG_FORMAT
Definition: aomdx.h:123
AV1D_EXT_TILE_DEBUG
Definition: aomdx.h:197
AV1D_SET_EXT_REF_PTR
Definition: aomdx.h:193
aom_tile_data
struct aom_tile_data aom_tile_data
Structure to hold a tile's start address and size in the bitstream.
AV1D_GET_FRAME_SIZE
Definition: aomdx.h:112
AV1_SET_INSPECTION_CALLBACK
Definition: aomdx.h:225
aom_tile_data
Structure to hold a tile's start address and size in the bitstream.
Definition: aomdx.h:67
aom_image
Image Descriptor.
Definition: aom_image.h:141
AV1_INVERT_TILE_DECODE_ORDER
Definition: aomdx.h:146
AV1D_GET_TILE_SIZE
Definition: aomdx.h:126
aom_img_fmt_t
enum aom_img_fmt aom_img_fmt_t
List of supported image formats.
aom_inspect_cb
void(* aom_inspect_cb)(void *decoder, void *ctx)
Definition: aomdx.h:47