AOMedia Codec SDK

Data Structures | Macros | Typedefs | Enumerations | Functions
aom_encoder.h File Reference
Common Algorithm Interface » Encoder Algorithm Interface

Describes the encoder algorithm interface to applications. More...

`#include "aom/aom_codec.h"`
Include dependency graph for aom_encoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | aom_fixed_buf
| Generic fixed size buffer structure. More...
struct | aom_codec_cx_pkt
| Encoder output packet. More...
struct | aom_rational
| Rational Number. More...
struct | aom_codec_enc_cfg
| Encoder configuration structure. More...

## Macros
#define | AOM_ENCODER_ABI_VERSION
| Current ABI version number.
#define | AOM_CODEC_CAP_PSNR 0x10000
| Encoder capabilities bitfield. More...
#define | AOM_CODEC_CAP_OUTPUT_PARTITION 0x20000
#define | AOM_CODEC_CAP_HIGHBITDEPTH 0x40000
#define | AOM_CODEC_USE_PSNR 0x10000
| Initialization-time Feature Enabling. More...
#define | AOM_CODEC_USE_OUTPUT_PARTITION 0x20000
| Make the encoder output one partition at a time.
#define | AOM_CODEC_USE_HIGHBITDEPTH 0x40000
#define | AOM_FRAME_IS_KEY 0x1
#define | AOM_FRAME_IS_DROPPABLE 0x2
| frame can be dropped without affecting the stream (no future frame depends on this one)
#define | AOM_FRAME_IS_INVISIBLE 0x4
| frame should be decoded but will not be shown
#define | AOM_FRAME_IS_FRAGMENT 0x8
| this is a fragment of the encoded frame
#define | AOM_ERROR_RESILIENT_DEFAULT 0x1
| Improve resiliency against losses of whole frames.
#define | AOM_ERROR_RESILIENT_PARTITIONS 0x2
| The frame partitions are independently decodable by the bool decoder, meaning that partitions can be decoded even though earlier partitions have been lost. Note that intra prediction is still done over the partition boundary.
#define | AOM_EFLAG_FORCE_KF (1 << 0)
#define | MAX_TILE_WIDTHS 64
| Maximum number of tile widths in tile widths array. More...
#define | MAX_TILE_HEIGHTS 64
| Maximum number of tile heights in tile heights array. More...
#define | aom_codec_enc_init(ctx, iface, cfg, flags) aom_codec_enc_init_ver(ctx, iface, cfg, flags, AOM_ENCODER_ABI_VERSION)
| Convenience macro for aom_codec_enc_init_ver() More...
#define | aom_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf)
| Convenience macro for aom_codec_enc_init_multi_ver() More...

## Typedefs
typedef struct aom_fixed_buf | aom_fixed_buf_t
| Generic fixed size buffer structure. More...
typedef int64_t | aom_codec_pts_t
| Time Stamp Type. More...
typedef uint32_t | aom_codec_frame_flags_t
| Compressed Frame Flags. More...
typedef uint32_t | aom_codec_er_flags_t
| Error Resilient flags. More...
typedef struct aom_codec_cx_pkt | aom_codec_cx_pkt_t
| Encoder output packet. More...
typedef struct aom_rational | aom_rational_t
| Rational Number. More...
typedef long | aom_enc_frame_flags_t
| Encoded Frame Flags. More...
typedef struct aom_codec_enc_cfg | aom_codec_enc_cfg_t
| Encoder configuration structure. More...

## Enumerations
enum | aom_codec_cx_pkt_kind { AOM_CODEC_CX_FRAME_PKT, AOM_CODEC_STATS_PKT, AOM_CODEC_FPMB_STATS_PKT, AOM_CODEC_PSNR_PKT, AOM_CODEC_CUSTOM_PKT = 256 }
| Encoder output packet variants. More...
enum | aom_enc_pass { AOM_RC_ONE_PASS, AOM_RC_FIRST_PASS, AOM_RC_LAST_PASS }
| Multi-pass Encoding Pass. More...
enum | aom_rc_mode { AOM_VBR, AOM_CBR, AOM_CQ, AOM_Q }
| Rate control mode. More...
enum | aom_kf_mode { AOM_KF_FIXED, AOM_KF_AUTO, AOM_KF_DISABLED = 0 }
| Keyframe placement mode. More...

## Functions
aom_codec_err_t | aom_codec_enc_init_ver (aom_codec_ctx_t *ctx, aom_codec_iface_t *iface, const aom_codec_enc_cfg_t *cfg, aom_codec_flags_t flags, int ver)
| Initialize an encoder instance. More...
aom_codec_err_t | aom_codec_enc_init_multi_ver (aom_codec_ctx_t *ctx, aom_codec_iface_t *iface, aom_codec_enc_cfg_t *cfg, int num_enc, aom_codec_flags_t flags, aom_rational_t *dsf, int ver)
| Initialize multi-encoder instance. More...
aom_codec_err_t | aom_codec_enc_config_default (aom_codec_iface_t *iface, aom_codec_enc_cfg_t *cfg, unsigned int reserved)
| Get a default configuration. More...
aom_codec_err_t | aom_codec_enc_config_set (aom_codec_ctx_t *ctx, const aom_codec_enc_cfg_t *cfg)
| Set or change configuration. More...
aom_fixed_buf_t * | aom_codec_get_global_headers (aom_codec_ctx_t *ctx)
| Get global stream headers. More...
aom_codec_err_t | aom_codec_encode (aom_codec_ctx_t *ctx, const aom_image_t *img, aom_codec_pts_t pts, unsigned long duration, aom_enc_frame_flags_t flags)
| Encode a frame. More...
aom_codec_err_t | aom_codec_set_cx_data_buf (aom_codec_ctx_t *ctx, const aom_fixed_buf_t *buf, unsigned int pad_before, unsigned int pad_after)
| Set compressed data output buffer. More...
const aom_codec_cx_pkt_t * | aom_codec_get_cx_data (aom_codec_ctx_t *ctx, aom_codec_iter_t *iter)
| Encoded data iterator. More...
const aom_image_t * | aom_codec_get_preview_frame (aom_codec_ctx_t *ctx)
| Get Preview Frame. More...

## Detailed Description

Describes the encoder algorithm interface to applications.

This file describes the interface between an application and a video encoder algorithm.

## Macro Definition Documentation

## ◆ MAX_TILE_WIDTHS

#define MAX_TILE_WIDTHS 64

Maximum number of tile widths in tile widths array.

This define gives the maximum number of elements in the tile_widths array.

## ◆ MAX_TILE_HEIGHTS

#define MAX_TILE_HEIGHTS 64

Maximum number of tile heights in tile heights array.

This define gives the maximum number of elements in the tile_heights array.