AOMedia Codec SDK

Files | Data Structures | Typedefs | Enumerations
AOMedia AOM/AV1 Decoder
Supported Codecs » AOM
Collaboration diagram for AOMedia AOM/AV1 Decoder:

## Files
file | aomdx.h
| Provides definitions for using AOM or AV1 within the aom Decoder interface.

## Data Structures
struct | aom_inspect_init
| Structure to hold inspection callback and context. More...
struct | aom_tile_data
| Structure to hold a tile's start address and size in the bitstream. More...
struct | av1_ext_ref_frame
| Structure to hold the external reference frame pointer. More...

## Typedefs
typedef struct Accounting | Accounting
typedef void(* | aom_inspect_cb) (void *decoder, void *ctx)
typedef struct aom_inspect_init | aom_inspect_init
| Structure to hold inspection callback and context. More...
typedef struct aom_tile_data | aom_tile_data
| Structure to hold a tile's start address and size in the bitstream. More...
typedef struct av1_ext_ref_frame | av1_ext_ref_frame_t
| Structure to hold the external reference frame pointer. More...

## Enumerations
enum | aom_dec_control_id { AOMD_GET_LAST_REF_UPDATES = AOM_DECODER_CTRL_ID_START, AOMD_GET_FRAME_CORRUPTED, AOMD_GET_LAST_REF_USED, AV1D_GET_FRAME_SIZE, AV1D_GET_DISPLAY_SIZE, AV1D_GET_BIT_DEPTH, AV1_SET_BYTE_ALIGNMENT, AV1_INVERT_TILE_DECODE_ORDER, AV1_SET_SKIP_LOOP_FILTER, AV1_GET_ACCOUNTING, AOMD_GET_LAST_QUANTIZER, AV1_SET_DECODE_TILE_ROW, AV1_SET_DECODE_TILE_COL, AV1_SET_TILE_MODE, AV1D_GET_FRAME_HEADER_INFO, AV1D_GET_TILE_DATA, AV1D_SET_EXT_REF_PTR, AV1D_EXT_TILE_DEBUG, AV1D_SET_IS_ANNEXB, AV1D_SET_OPERATING_POINT, AV1D_SET_OUTPUT_ALL_LAYERS, AV1_SET_INSPECTION_CALLBACK, AOM_DECODER_CTRL_ID_MAX }
| AOM decoder control functions. More...

## Algorithm interface for AV1
This interface provides the capability to decode AV1 streams.
aom_codec_iface_t | aom_codec_av1_dx_algo
aom_codec_iface_t * | aom_codec_av1_dx (void)

## Detailed Description

## Typedef Documentation

## ◆ Accounting

typedef struct Accounting Accounting

Data structure that stores bit accounting for debug

## ◆ aom_inspect_cb

typedef void(* aom_inspect_cb) (void *decoder, void *ctx)

Callback that inspects decoder frame data.

## ◆ aom_inspect_init

typedef struct aom_inspect_init aom_inspect_init

Structure to hold inspection callback and context.

Defines a structure to hold the inspection callback function and calling context.

## ◆ aom_tile_data

typedef struct aom_tile_data aom_tile_data

Structure to hold a tile's start address and size in the bitstream.

Defines a structure to hold a tile's start address and size in the bitstream.

## ◆ av1_ext_ref_frame_t

typedef struct av1_ext_ref_frame av1_ext_ref_frame_t

Structure to hold the external reference frame pointer.

Define a structure to hold the external reference frame pointer.

## Enumeration Type Documentation

## ◆ aom_dec_control_id

enum aom_dec_control_id

AOM decoder control functions.

This set of macros define the control functions available for the AOM decoder interface.

See also
  aom_codec_control

Enumerator
AOMD_GET_LAST_REF_UPDATES | control function to get info on which reference frames were updated by the last decode
AOMD_GET_FRAME_CORRUPTED | check if the indicated frame is corrupted
AOMD_GET_LAST_REF_USED | control function to get info on which reference frames were used by the last decode
AV1D_GET_FRAME_SIZE | control function to get the dimensions that the current frame is decoded at. This may be different to the intended display size for the frame as specified in the wrapper or frame header (see AV1D_GET_DISPLAY_SIZE).
AV1D_GET_DISPLAY_SIZE | control function to get the current frame's intended display dimensions (as specified in the wrapper or frame header). This may be different to the decoded dimensions of this frame (see AV1D_GET_FRAME_SIZE).
AV1D_GET_BIT_DEPTH | control function to get the bit depth of the stream.
AV1_SET_BYTE_ALIGNMENT | control function to set the byte alignment of the planes in the reference buffers. Valid values are power of 2, from 32 to 1024. A value of 0 sets legacy alignment. I.e. Y plane is aligned to 32 bytes, U plane directly follows Y plane, and V plane directly follows U plane. Default value is 0.
AV1_INVERT_TILE_DECODE_ORDER | control function to invert the decoding order to from right to left. The function is used in a test to confirm the decoding independence of tile columns. The function may be used in application where this order of decoding is desired. TODO(yaowu): Rework the unit test that uses this control, and in a future release, this test-only control shall be removed.
AV1_SET_SKIP_LOOP_FILTER | control function to set the skip loop filter flag. Valid values are integers. The decoder will skip the loop filter when its value is set to nonzero. If the loop filter is skipped the decoder may accumulate decode artifacts. The default value is 0.
AV1_GET_ACCOUNTING | control function to retrieve a pointer to the Accounting struct. When compiled without –enable-accounting, this returns AOM_CODEC_INCAPABLE. If called before a frame has been decoded, this returns AOM_CODEC_ERROR. The caller should ensure that AOM_CODEC_OK is returned before attempting to dereference the Accounting pointer.
AOMD_GET_LAST_QUANTIZER | control function to get last decoded frame quantizer. Returned value uses internal quantizer scale defined by the codec.
AV1_SET_DECODE_TILE_ROW | control function to set the range of tile decoding. A value that is greater and equal to zero indicates only the specific row/column is decoded. A value that is -1 indicates the whole row/column is decoded. A special case is both values are -1 that means the whole frame is decoded.
AV1_SET_TILE_MODE | control function to set the tile coding mode. A value that is equal to zero indicates the tiles are coded in normal tile mode. A value that is 1 indicates the tiles are coded in large-scale tile mode.
AV1D_GET_FRAME_HEADER_INFO | control function to get the frame header information of an encoded frame in the bitstream. This provides a way to access a frame's header data.
AV1D_GET_TILE_DATA | control function to get the start address and size of a tile in the coded bitstream. This provides a way to access a specific tile's bitstream data.
AV1D_SET_EXT_REF_PTR | control function to set the external references' pointers in the decoder. This is used while decoding the tile list OBU in large-scale tile coding mode.
AV1D_EXT_TILE_DEBUG | control function to enable the ext-tile software debug and testing code in the decoder.
AV1D_SET_IS_ANNEXB | control function to indicate whether bitstream is in Annex-B format.
AV1D_SET_OPERATING_POINT | control function to indicate which operating point to use. A scalable stream may define multiple operating points, each of which defines a set of temporal and spatial layers to be processed. The operating point index may take a value between 0 and operating_points_cnt_minus_1 (which is at most 31).
AV1D_SET_OUTPUT_ALL_LAYERS | control function to indicate whether to output one frame per temporal unit (the default), or one frame per spatial layer. In a scalable stream, each temporal unit corresponds to a single "frame" of video, and within a temporal unit there may be multiple spatial layers with different versions of that frame. For video playback, only the highest-quality version (within the selected operating point) is needed, but for some use cases it is useful to have access to multiple versions of a frame when they are available.
AV1_SET_INSPECTION_CALLBACK | control function to set an aom_inspect_cb callback that is invoked each time a frame is decoded. When compiled without –enable-inspection, this returns AOM_CODEC_INCAPABLE.