WebM VP8 Codec SDK: vpx/vpx_encoder.h File Reference

WebM VP8 Codec SDK

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

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

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

`#include "vpx_codec.h"`

Go to the source code of this file.

## Data Structures
struct | vpx_fixed_buf
| Generic fixed size buffer structure. More...
struct | vpx_codec_cx_pkt
| Encoder output packet. More...
struct | vpx_rational
| Rational Number. More...
struct | vpx_codec_enc_cfg
| Encoder configuration structure. More...

## Macros
#define | VPX_TS_MAX_PERIODICITY 16
#define | VPX_TS_MAX_LAYERS 5
#define | MAX_PERIODICITY VPX_TS_MAX_PERIODICITY
#define | MAX_LAYERS VPX_TS_MAX_LAYERS
#define | VPX_SS_MAX_LAYERS 5
#define | VPX_SS_DEFAULT_LAYERS 3
#define | VPX_ENCODER_ABI_VERSION
| Current ABI version number.
#define | VPX_CODEC_CAP_PSNR 0x10000
| Encoder capabilities bitfield. More...
#define | VPX_CODEC_CAP_OUTPUT_PARTITION 0x20000
#define | VPX_CODEC_USE_PSNR 0x10000
| Initialization-time Feature Enabling. More...
#define | VPX_CODEC_USE_OUTPUT_PARTITION 0x20000
#define | VPX_FRAME_IS_KEY 0x1
#define | VPX_FRAME_IS_DROPPABLE 0x2
#define | VPX_FRAME_IS_INVISIBLE 0x4
#define | VPX_FRAME_IS_FRAGMENT 0x8
#define | VPX_ERROR_RESILIENT_DEFAULT 0x1
#define | VPX_ERROR_RESILIENT_PARTITIONS 0x2
#define | VPX_EFLAG_FORCE_KF (1<<0)
#define | vpx_codec_enc_init(ctx, iface, cfg, flags) vpx_codec_enc_init_ver(ctx, iface, cfg, flags, VPX_ENCODER_ABI_VERSION)
| Convenience macro for vpx_codec_enc_init_ver() More...
#define | vpx_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf)
| Convenience macro for vpx_codec_enc_init_multi_ver() More...
#define | VPX_DL_REALTIME (1)
#define | VPX_DL_GOOD_QUALITY (1000000)
#define | VPX_DL_BEST_QUALITY (0)

## Typedefs
typedef struct vpx_fixed_buf | vpx_fixed_buf_t
| Generic fixed size buffer structure. More...
typedef int64_t | vpx_codec_pts_t
| Time Stamp Type. More...
typedef uint32_t | vpx_codec_frame_flags_t
| Compressed Frame Flags. More...
typedef uint32_t | vpx_codec_er_flags_t
| Error Resilient flags. More...
typedef struct vpx_codec_cx_pkt | vpx_codec_cx_pkt_t
| Encoder output packet. More...
typedef struct vpx_rational | vpx_rational_t
| Rational Number. More...
typedef long | vpx_enc_frame_flags_t
| Encoded Frame Flags. More...
typedef struct vpx_codec_enc_cfg | vpx_codec_enc_cfg_t
| Encoder configuration structure. More...

## Enumerations
enum | vpx_codec_cx_pkt_kind { VPX_CODEC_CX_FRAME_PKT, VPX_CODEC_STATS_PKT, VPX_CODEC_PSNR_PKT, VPX_CODEC_CUSTOM_PKT = 256 }
| Encoder output packet variants. More...
enum | vpx_enc_pass { VPX_RC_ONE_PASS, VPX_RC_FIRST_PASS, VPX_RC_LAST_PASS }
| Multi-pass Encoding Pass. More...
enum | vpx_rc_mode { VPX_VBR, VPX_CBR, VPX_CQ, VPX_Q }
| Rate control mode. More...
enum | vpx_kf_mode { VPX_KF_FIXED, VPX_KF_AUTO, VPX_KF_DISABLED = 0 }
| Keyframe placement mode. More...

## Functions
vpx_codec_err_t | vpx_codec_enc_init_ver (vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, vpx_codec_flags_t flags, int ver)
| Initialize an encoder instance. More...
vpx_codec_err_t | vpx_codec_enc_init_multi_ver (vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, int num_enc, vpx_codec_flags_t flags, vpx_rational_t *dsf, int ver)
| Initialize multi-encoder instance. More...
vpx_codec_err_t | vpx_codec_enc_config_default (vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, unsigned int usage)
| Get a default configuration. More...
vpx_codec_err_t | vpx_codec_enc_config_set (vpx_codec_ctx_t *ctx, const vpx_codec_enc_cfg_t *cfg)
| Set or change configuration. More...
vpx_fixed_buf_t * | vpx_codec_get_global_headers (vpx_codec_ctx_t *ctx)
| Get global stream headers. More...
vpx_codec_err_t | vpx_codec_encode (vpx_codec_ctx_t *ctx, const vpx_image_t *img, vpx_codec_pts_t pts, unsigned long duration, vpx_enc_frame_flags_t flags, unsigned long deadline)
| Encode a frame. More...
vpx_codec_err_t | vpx_codec_set_cx_data_buf (vpx_codec_ctx_t *ctx, const vpx_fixed_buf_t *buf, unsigned int pad_before, unsigned int pad_after)
| Set compressed data output buffer. More...
const vpx_codec_cx_pkt_t * | vpx_codec_get_cx_data (vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
| Encoded data iterator. More...
const vpx_image_t * | vpx_codec_get_preview_frame (vpx_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.