WebM VP8 Codec SDK
Data Structures | Macros | Typedefs | Enumerations | Functions
vpx_encoder.h File Reference

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_ENCODER_H
 
#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_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 }
 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_tvpx_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_tvpx_codec_get_cx_data (vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
 Encoded data iterator. More...
 
const vpx_image_tvpx_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.