AOMedia AV1 Codec

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  cfg_options
 Encoder Config Options. 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_HIGHBITDEPTH   0x40000
 
#define AOM_CODEC_USE_PSNR   0x10000
 Initialization-time Feature Enabling. More...
 
#define AOM_CODEC_USE_HIGHBITDEPTH   0x40000
 Make the encoder output one partition at a time. More...
 
#define AOM_ERROR_RESILIENT_DEFAULT   0x1
 Improve resiliency against losses of whole frames.
 
#define AOM_EFLAG_FORCE_KF   (1 << 0)
 Force this frame to be a keyframe.
 
#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 FIXED_QP_OFFSET_COUNT   5
 Number of fixed QP offsets. 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_USAGE_GOOD_QUALITY   (0)
 usage parameter analogous to AV1 GOOD QUALITY mode.
 
#define AOM_USAGE_REALTIME   (1)
 usage parameter analogous to AV1 REALTIME mode.
 
#define AOM_USAGE_ALL_INTRA   (2)
 usage parameter analogous to AV1 all intra mode.
 

Typedefs

typedef struct aom_fixed_buf aom_fixed_buf_t
 Generic fixed size buffer structure. 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 struct cfg_options cfg_options_t
 Encoder Config Options. 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...
 
enum  aom_superres_mode {
  AOM_SUPERRES_NONE, AOM_SUPERRES_FIXED, AOM_SUPERRES_RANDOM, AOM_SUPERRES_QTHRESH,
  AOM_SUPERRES_AUTO
}
 Frame super-resolution 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_config_default (aom_codec_iface_t *iface, aom_codec_enc_cfg_t *cfg, unsigned int usage)
 Get the default configuration for a usage. 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_taom_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_taom_codec_get_cx_data (aom_codec_ctx_t *ctx, aom_codec_iter_t *iter)
 Encoded data iterator. More...
 
const aom_image_taom_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.

◆ FIXED_QP_OFFSET_COUNT

#define FIXED_QP_OFFSET_COUNT   5

Number of fixed QP offsets.

This defines the number of elements in the fixed_qp_offsets array.

Referenced by get_q_using_fixed_offsets().