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 {
57 aom_inspect_cb inspect_cb;
58
60 void *inspect_ctx;
61 } aom_inspect_init;
62
67 typedef struct aom_tile_data {
69 size_t coded_tile_data_size;
71 const void *coded_tile_data;
73 size_t extra_size;
74 } aom_tile_data;
75
80 typedef struct av1_ext_ref_frame {
82 aom_image_t *img;
84 int num;
85 } av1_ext_ref_frame_t;
86
95 enum aom_dec_control_id {
99 AOMD_GET_LAST_REF_UPDATES = AOM_DECODER_CTRL_ID_START,
100
102 AOMD_GET_FRAME_CORRUPTED,
103
107 AOMD_GET_LAST_REF_USED,
108
112 AV1D_GET_FRAME_SIZE,
113
117 AV1D_GET_DISPLAY_SIZE,
118
120 AV1D_GET_BIT_DEPTH,
121
127 AV1_SET_BYTE_ALIGNMENT,
128
137 AV1_INVERT_TILE_DECODE_ORDER,
138
144 AV1_SET_SKIP_LOOP_FILTER,
145
152 AV1_GET_ACCOUNTING,
153
157 AOMD_GET_LAST_QUANTIZER,
158
165 AV1_SET_DECODE_TILE_ROW,
166 AV1_SET_DECODE_TILE_COL,
171 AV1_SET_TILE_MODE,
175 AV1D_GET_FRAME_HEADER_INFO,
179 AV1D_GET_TILE_DATA,
184 AV1D_SET_EXT_REF_PTR,
188 AV1D_EXT_TILE_DEBUG,
189
191 AV1D_SET_IS_ANNEXB,
192
199 AV1D_SET_OPERATING_POINT,
200
210 AV1D_SET_OUTPUT_ALL_LAYERS,
211
216 AV1_SET_INSPECTION_CALLBACK,
217
218 AOM_DECODER_CTRL_ID_MAX,
219 };
220
229 AOM_CTRL_USE_TYPE(AOMD_GET_LAST_REF_UPDATES, int *)
230 #define AOM_CTRL_AOMD_GET_LAST_REF_UPDATES
231 AOM_CTRL_USE_TYPE(AOMD_GET_FRAME_CORRUPTED, int *)
232 #define AOM_CTRL_AOMD_GET_FRAME_CORRUPTED
233 AOM_CTRL_USE_TYPE(AOMD_GET_LAST_REF_USED, int *)
234 #define AOM_CTRL_AOMD_GET_LAST_REF_USED
235 AOM_CTRL_USE_TYPE(AOMD_GET_LAST_QUANTIZER, int *)
236 #define AOM_CTRL_AOMD_GET_LAST_QUANTIZER
237 AOM_CTRL_USE_TYPE(AV1D_GET_DISPLAY_SIZE, int *)
238 #define AOM_CTRL_AV1D_GET_DISPLAY_SIZE
239 AOM_CTRL_USE_TYPE(AV1D_GET_BIT_DEPTH, unsigned int *)
240 #define AOM_CTRL_AV1D_GET_BIT_DEPTH
241 AOM_CTRL_USE_TYPE(AV1D_GET_FRAME_SIZE, int *)
242 #define AOM_CTRL_AV1D_GET_FRAME_SIZE
243 AOM_CTRL_USE_TYPE(AV1_INVERT_TILE_DECODE_ORDER, int)
244 #define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
245 AOM_CTRL_USE_TYPE(AV1_GET_ACCOUNTING, Accounting **)
246 #define AOM_CTRL_AV1_GET_ACCOUNTING
247 AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_ROW, int)
248 #define AOM_CTRL_AV1_SET_DECODE_TILE_ROW
249 AOM_CTRL_USE_TYPE(AV1_SET_DECODE_TILE_COL, int)
250 #define AOM_CTRL_AV1_SET_DECODE_TILE_COL
251 AOM_CTRL_USE_TYPE(AV1_SET_TILE_MODE, unsigned int)
252 #define AOM_CTRL_AV1_SET_TILE_MODE
253 AOM_CTRL_USE_TYPE(AV1D_GET_FRAME_HEADER_INFO, aom_tile_data *)
254 #define AOM_CTRL_AV1D_GET_FRAME_HEADER_INFO
255 AOM_CTRL_USE_TYPE(AV1D_GET_TILE_DATA, aom_tile_data *)
256 #define AOM_CTRL_AV1D_GET_TILE_DATA
257 AOM_CTRL_USE_TYPE(AV1D_SET_EXT_REF_PTR, av1_ext_ref_frame_t *)
258 #define AOM_CTRL_AV1D_SET_EXT_REF_PTR
259 AOM_CTRL_USE_TYPE(AV1D_EXT_TILE_DEBUG, unsigned int)
260 #define AOM_CTRL_AV1D_EXT_TILE_DEBUG
261 AOM_CTRL_USE_TYPE(AV1D_SET_IS_ANNEXB, unsigned int)
262 #define AOM_CTRL_AV1D_SET_IS_ANNEXB
263 AOM_CTRL_USE_TYPE(AV1D_SET_OPERATING_POINT, int)
264 #define AOM_CTRL_AV1D_SET_OPERATING_POINT
265 AOM_CTRL_USE_TYPE(AV1D_SET_OUTPUT_ALL_LAYERS, int)
266 #define AOM_CTRL_AV1D_SET_OUTPUT_ALL_LAYERS
267 AOM_CTRL_USE_TYPE(AV1_SET_INSPECTION_CALLBACK, aom_inspect_init *)
268 #define AOM_CTRL_AV1_SET_INSPECTION_CALLBACK
269
272 #ifdef __cplusplus
273 } // extern "C"
274 #endif
275
276 #endif // AOM_AOMDX_H_
aom_inspect_cb
void(* aom_inspect_cb)(void *decoder, void *ctx)
Definition: aomdx.h:47
aom_tile_data
struct aom_tile_data aom_tile_data
Structure to hold a tile&#39;s start address and size in the bitstream.
AV1D_GET_FRAME_HEADER_INFO
Definition: aomdx.h:175
AV1D_SET_OPERATING_POINT
Definition: aomdx.h:199
aom_inspect_init::inspect_cb
aom_inspect_cb inspect_cb
Definition: aomdx.h:57
AV1D_SET_IS_ANNEXB
Definition: aomdx.h:191
AV1D_GET_TILE_DATA
Definition: aomdx.h:179
aom.h
Provides controls common to both the AOM encoder and decoder.
aom_inspect_init
struct aom_inspect_init aom_inspect_init
Structure to hold inspection callback and context.
AV1D_SET_EXT_REF_PTR
Definition: aomdx.h:184
AV1D_GET_FRAME_SIZE
Definition: aomdx.h:112
aom_image
Image Descriptor.
Definition: aom_image.h:141
aom_tile_data
Structure to hold a tile&#39;s start address and size in the bitstream.
Definition: aomdx.h:67
AOMD_GET_FRAME_CORRUPTED
Definition: aomdx.h:102
aom_codec_iface_t
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
AV1_INVERT_TILE_DECODE_ORDER
Definition: aomdx.h:137
AOMD_GET_LAST_REF_UPDATES
Definition: aomdx.h:99
AOM_CTRL_USE_TYPE
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:438
AV1D_EXT_TILE_DEBUG
Definition: aomdx.h:188
AV1_SET_INSPECTION_CALLBACK
Definition: aomdx.h:216
aom_tile_data::extra_size
size_t extra_size
Definition: aomdx.h:73
aom_inspect_init::inspect_ctx
void * inspect_ctx
Definition: aomdx.h:60
AOMD_GET_LAST_QUANTIZER
Definition: aomdx.h:157
AV1_SET_BYTE_ALIGNMENT
Definition: aomdx.h:127
aom_inspect_init
Structure to hold inspection callback and context.
Definition: aomdx.h:55
AV1_SET_DECODE_TILE_ROW
Definition: aomdx.h:165
aom_tile_data::coded_tile_data_size
size_t coded_tile_data_size
Definition: aomdx.h:69
AV1_SET_TILE_MODE
Definition: aomdx.h:171
av1_ext_ref_frame::img
aom_image_t * img
Definition: aomdx.h:82
aom_tile_data::coded_tile_data
const void * coded_tile_data
Definition: aomdx.h:71
AV1D_SET_OUTPUT_ALL_LAYERS
Definition: aomdx.h:210
AOMD_GET_LAST_REF_USED
Definition: aomdx.h:107
av1_ext_ref_frame::num
int num
Definition: aomdx.h:84
av1_ext_ref_frame
Structure to hold the external reference frame pointer.
Definition: aomdx.h:80
aom_dec_control_id
aom_dec_control_id
AOM decoder control functions.
Definition: aomdx.h:95
AV1D_GET_BIT_DEPTH
Definition: aomdx.h:120
AV1_SET_SKIP_LOOP_FILTER
Definition: aomdx.h:144
AV1D_GET_DISPLAY_SIZE
Definition: aomdx.h:117
av1_ext_ref_frame_t
struct av1_ext_ref_frame av1_ext_ref_frame_t
Structure to hold the external reference frame pointer.
Accounting
struct Accounting Accounting
Definition: aomdx.h:42
AV1_GET_ACCOUNTING
Definition: aomdx.h:152