WebM VP8 Codec SDK
Data Structures | Defines | Typedefs | Enumerations | Functions
vpx/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...

Defines

#define VPX_ENCODER_H
#define VPX_ENCODER_ABI_VERSION
 Current ABI version number.
#define VPX_CODEC_CAP_PSNR   0x10000
 Encoder capabilities bitfield.
#define VPX_CODEC_USE_PSNR   0x10000
 Initialization-time Feature Enabling.
#define VPX_FRAME_IS_KEY   0x1
#define VPX_FRAME_IS_DROPPABLE   0x2
#define VPX_FRAME_IS_INVISIBLE   0x4
#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()
#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.
typedef int64_t vpx_codec_pts_t
 Time Stamp Type.
typedef uint32_t vpx_codec_frame_flags_t
 Compressed Frame Flags.
typedef struct vpx_codec_cx_pkt vpx_codec_cx_pkt_t
 Encoder output packet.
typedef struct vpx_rational vpx_rational_t
 Rational Number.
typedef long vpx_enc_frame_flags_t
 Encoded Frame Flags.
typedef struct vpx_codec_enc_cfg vpx_codec_enc_cfg_t
 Encoder configuration structure.

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.
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.
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.
vpx_fixed_buf_tvpx_codec_get_global_headers (vpx_codec_ctx_t *ctx)
 Get global stream headers.
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.
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.
const vpx_codec_cx_pkt_tvpx_codec_get_cx_data (vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
 Encoded data iterator.
const vpx_image_tvpx_codec_get_preview_frame (vpx_codec_ctx_t *ctx)
 Get Preview Frame.

Detailed Description

Describes the encoder algorithm interface to applications.

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