WebM Codec SDK
Data Structures | Macros | Typedefs | Enumerations | Functions

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_codec_enc_output_cx_cb_pair
 Callback function pointer / user data pair storage. More...
 
struct  vpx_rational
 Rational Number. More...
 
struct  vpx_codec_enc_cfg
 Encoder configuration structure. More...
 
struct  vpx_svc_parameters
 vp9 svc extra configure parameters More...
 

Macros

#define VPX_TS_MAX_PERIODICITY   16
 
#define VPX_TS_MAX_LAYERS   5
 
#define MAX_PERIODICITY   VPX_TS_MAX_PERIODICITY
 
#define VPX_MAX_LAYERS   12
 
#define MAX_LAYERS   VPX_MAX_LAYERS
 
#define VPX_SS_MAX_LAYERS   5
 
#define VPX_SS_DEFAULT_LAYERS   1
 
#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
 Make the encoder output one partition at a time.
 
#define VPX_CODEC_USE_HIGHBITDEPTH   0x40000
 
#define VPX_FRAME_IS_KEY   0x1
 
#define VPX_FRAME_IS_DROPPABLE   0x2
 frame can be dropped without affecting the stream (no future frame depends on this one)
 
#define VPX_FRAME_IS_INVISIBLE   0x4
 frame should be decoded but will not be shown
 
#define VPX_FRAME_IS_FRAGMENT   0x8
 this is a fragment of the encoded frame
 
#define VPX_ERROR_RESILIENT_DEFAULT   0x1
 Improve resiliency against losses of whole frames.
 
#define VPX_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 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)
 deadline parameter analogous to VPx REALTIME mode.
 
#define VPX_DL_GOOD_QUALITY   (1000000)
 deadline parameter analogous to VPx GOOD QUALITY mode.
 
#define VPX_DL_BEST_QUALITY   (0)
 deadline parameter analogous to VPx BEST QUALITY mode.
 

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 void(* vpx_codec_enc_output_cx_pkt_cb_fn_t) (vpx_codec_cx_pkt_t *pkt, void *user_data)
 Encoder return output buffer callback. More...
 
typedef struct vpx_codec_enc_output_cx_cb_pair vpx_codec_priv_output_cx_pkt_cb_pair_t
 Callback function pointer / user data pair storage.
 
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...
 
typedef struct vpx_svc_parameters vpx_svc_extra_cfg_t
 vp9 svc extra configure parameters More...
 

Enumerations

enum  vpx_codec_cx_pkt_kind {
  VPX_CODEC_CX_FRAME_PKT, VPX_CODEC_STATS_PKT, VPX_CODEC_FPMB_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, const 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 reserved)
 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.