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
25extern "C" {
26#endif
27
28/* Include controls common to both the encoder and decoder */
29#include "aom/aom.h"
30
36extern aom_codec_iface_t aom_codec_av1_dx_algo;
37extern aom_codec_iface_t *aom_codec_av1_dx(void);
42typedef struct Accounting Accounting;
43
44#ifndef AOM_INSPECTION_H_
47typedef void (*aom_inspect_cb)(void *decoder, void *ctx);
48
49#endif
50
56typedef struct aom_inspect_init {
59
63
70typedef struct {
72 const unsigned char *buf;
74 int idx;
78
83typedef struct aom_tile_data {
87 const void *coded_tile_data;
89 size_t extra_size;
91
96typedef 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
277#define AOM_CTRL_AV1D_GET_BIT_DEPTH
279#define AOM_CTRL_AV1D_GET_IMG_FORMAT
281#define AOM_CTRL_AV1D_GET_TILE_SIZE
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
292AOM_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
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
319#ifdef __cplusplus
320} // extern "C"
321#endif
322
323#endif // AOM_AOM_AOMDX_H_
Provides controls common to both the AOM encoder and decoder.
enum aom_img_fmt aom_img_fmt_t
List of supported image formats.
void(* aom_inspect_cb)(void *decoder, void *ctx)
Definition: aomdx.h:47
aom_dec_control_id
AOM decoder control functions.
Definition: aomdx.h:111
struct Accounting Accounting
Definition: aomdx.h:42
struct aom_inspect_init aom_inspect_init
Structure to hold inspection callback and context.
struct av1_ext_ref_frame av1_ext_ref_frame_t
Structure to hold the external reference frame pointer.
struct aom_tile_data aom_tile_data
Structure to hold a tile's start address and size in the bitstream.
@ AOMD_GET_LAST_REF_USED
Definition: aomdx.h:123
@ AV1_SET_TILE_MODE
Definition: aomdx.h:196
@ AOMD_GET_FRAME_CORRUPTED
Definition: aomdx.h:118
@ AV1D_GET_FRAME_SIZE
Definition: aomdx.h:128
@ AV1D_SET_SKIP_FILM_GRAIN
Definition: aomdx.h:253
@ AV1D_SET_IS_ANNEXB
Definition: aomdx.h:222
@ AV1D_GET_TILE_COUNT
Definition: aomdx.h:145
@ AV1_SET_SKIP_LOOP_FILTER
Definition: aomdx.h:169
@ AV1D_SET_ROW_MT
Definition: aomdx.h:219
@ AV1D_GET_TILE_SIZE
Definition: aomdx.h:142
@ AV1D_GET_DISPLAY_SIZE
Definition: aomdx.h:133
@ AV1D_SET_OUTPUT_ALL_LAYERS
Definition: aomdx.h:241
@ AV1D_SET_OPERATING_POINT
Definition: aomdx.h:230
@ AOMD_GET_LAST_QUANTIZER
Definition: aomdx.h:182
@ AV1_GET_ACCOUNTING
Definition: aomdx.h:177
@ AOMD_GET_LAST_REF_UPDATES
Definition: aomdx.h:115
@ AV1_SET_BYTE_ALIGNMENT
Definition: aomdx.h:152
@ AV1_SET_DECODE_TILE_ROW
Definition: aomdx.h:190
@ AV1_INVERT_TILE_DECODE_ORDER
Definition: aomdx.h:162
@ AV1D_GET_IMG_FORMAT
Definition: aomdx.h:139
@ AV1D_GET_BIT_DEPTH
Definition: aomdx.h:136
@ AV1D_GET_TILE_DATA
Definition: aomdx.h:204
@ AV1D_SET_EXT_REF_PTR
Definition: aomdx.h:209
@ AV1_SET_INSPECTION_CALLBACK
Definition: aomdx.h:247
@ AV1D_GET_FRAME_HEADER_INFO
Definition: aomdx.h:200
@ AV1D_EXT_TILE_DEBUG
Definition: aomdx.h:213
#define AOM_CTRL_USE_TYPE(id, typ)
aom_codec_control type definition macro
Definition: aom_codec.h:429
const struct aom_codec_iface aom_codec_iface_t
Codec interface structure.
Definition: aom_codec.h:181
Structure to collect a buffer index when inspecting.
Definition: aomdx.h:70
const unsigned char * buf
Definition: aomdx.h:72
int show_existing
Definition: aomdx.h:76
int idx
Definition: aomdx.h:74
Image Descriptor.
Definition: aom_image.h:141
Structure to hold inspection callback and context.
Definition: aomdx.h:56
void * inspect_ctx
Definition: aomdx.h:61
aom_inspect_cb inspect_cb
Definition: aomdx.h:58
Structure to hold a tile's start address and size in the bitstream.
Definition: aomdx.h:83
const void * coded_tile_data
Definition: aomdx.h:87
size_t coded_tile_data_size
Definition: aomdx.h:85
size_t extra_size
Definition: aomdx.h:89
Structure to hold the external reference frame pointer.
Definition: aomdx.h:96
int num
Definition: aomdx.h:100
aom_image_t * img
Definition: aomdx.h:98