AOMedia Codec SDK: AOM

AOMedia Codec SDK

Modules | Files | Data Structures | Typedefs | Enumerations
AOM
Supported Codecs
Collaboration diagram for AOM:

## Modules
| AOMedia AOM/AV1 Decoder
| AOMedia AOM/AV1 Encoder

## Files
file | aom.h
| Provides controls common to both the AOM encoder and decoder.

## Data Structures
struct | aom_postproc_cfg
| post process flags More...
struct | av1_ref_frame
| AV1 specific reference frame data struct. More...

## Typedefs
typedef struct aom_postproc_cfg | aom_postproc_cfg_t
| post process flags More...
typedef struct av1_ref_frame | av1_ref_frame_t
| AV1 specific reference frame data struct. More...

## Enumerations
enum | aom_com_control_id { AOM_SET_POSTPROC = 3, AOM_SET_DBG_COLOR_REF_FRAME, AOM_SET_DBG_COLOR_MB_MODES = 5, AOM_SET_DBG_COLOR_B_MODES = 6, AOM_SET_DBG_DISPLAY_MV = 7, AV1_GET_REFERENCE = 128, AV1_SET_REFERENCE = 129, AV1_COPY_REFERENCE, AOM_COMMON_CTRL_ID_MAX, AV1_GET_NEW_FRAME_IMAGE = 192, AV1_COPY_NEW_FRAME_IMAGE, AOM_DECODER_CTRL_ID_START = 256 }
| Control functions. More...
enum | aom_postproc_level { AOM_NOFILTERING = 0, AOM_DEBLOCK = 1 << 0, AOM_DEMACROBLOCK = 1 << 1, AOM_ADDNOISE = 1 << 2, AOM_DEBUG_TXT_FRAME_INFO = 1 << 3, AOM_DEBUG_TXT_MBLK_MODES, AOM_DEBUG_TXT_DC_DIFF = 1 << 5, AOM_DEBUG_TXT_RATE_INFO = 1 << 6, AOM_MFQE = 1 << 10 }
| post process flags More...

## Detailed Description

AOM is aom's newest video compression algorithm that uses motion compensated prediction, Discrete Cosine Transform (DCT) coding of the prediction error signal and context dependent entropy coding techniques based on arithmetic principles. It features:

- YUV 4:2:0 image format
- Macro-block based coding (16x16 luma plus two 8x8 chroma)
- 1/4 (1/8) pixel accuracy motion compensated prediction
- 4x4 DCT transform
- 128 level linear quantizer
- In loop deblocking filter
- Context-based entropy coding

## Typedef Documentation

## ◆ aom_postproc_cfg_t

typedef struct aom_postproc_cfg aom_postproc_cfg_t

post process flags

This define a structure that describe the post processing settings. For the best objective measure (using the PSNR metric) set post_proc_flag to AOM_DEBLOCK and deblocking_level to 1.

## ◆ av1_ref_frame_t

typedef struct av1_ref_frame av1_ref_frame_t

AV1 specific reference frame data struct.

Define the data struct to access av1 reference frames.

## Enumeration Type Documentation

## ◆ aom_com_control_id

enum aom_com_control_id

Control functions.

The set of macros define the control functions of AOM interface

Enumerator
AOM_SET_POSTPROC | pass in an external frame into decoder to be used as reference frame set the decoder's post processing settings
AOM_SET_DBG_COLOR_REF_FRAME | set the reference frames to color for each macroblock
AOM_SET_DBG_COLOR_MB_MODES | set which macro block modes to color
AOM_SET_DBG_COLOR_B_MODES | set which blocks modes to color
AOM_SET_DBG_DISPLAY_MV | set which motion vector modes to draw
AV1_GET_REFERENCE | get a pointer to a reference frame
AV1_SET_REFERENCE | write a frame into a reference buffer
AV1_COPY_REFERENCE | get a copy of reference frame from the decoder
AV1_GET_NEW_FRAME_IMAGE | get a pointer to the new frame
AV1_COPY_NEW_FRAME_IMAGE | copy the new frame to an external buffer

## ◆ aom_postproc_level

enum aom_postproc_level

post process flags

The set of macros define AOM decoder post processing flags

Enumerator
AOM_DEBUG_TXT_FRAME_INFO | print frame information
AOM_DEBUG_TXT_MBLK_MODES | print macro block modes over each macro block
AOM_DEBUG_TXT_DC_DIFF | print dc diff for each macro block
AOM_DEBUG_TXT_RATE_INFO | print video rate info (encoder only)