• About
    • About WebM
    • FAQ
    • Discuss
    • Supporters
  • Developer
    • Overview & Code Repos
    • Contribute
    • Submitting Patches
    • Code Reviews
    • Workflow
    • Conventions
    • Bug Reporting
    • Build Prerequisites
    • Repository Layout
    • Releases
    • Roadmap
    • Hardware
  • Docs
    • libvpx API
    • RFC 6386: VP8 Data Format
    • WebM Container Format
    • VP8 RTP Proposal (Draft)
    • Encoder Examples
    • Wiki
  • Tools
  • Licenses
  • Blog
  • Home >
  • Docs >
  • VP8 SDK
  • Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

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_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.
#define  VPX_CODEC_CAP_OUTPUT_PARTITION   0x20000
#define  VPX_CODEC_USE_PSNR   0x10000
  Initialization-time Feature Enabling.
#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().
#define  vpx_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf)
  Convenience macro for vpx_codec_enc_init_multi_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 uint32_t  vpx_codec_er_flags_t
  Error Resilient 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_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.
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_t *  vpx_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_t *  vpx_codec_get_cx_data (vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
  Encoded data iterator.
const vpx_image_t *  vpx_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.


Generated on Mon Jan 28 14:14:22 2013 for WebM VP8 Codec SDK by  doxygen 1.6.3
About
  • About WebM
  • FAQ
  • Discuss
  • Supporters
More
  • Tools
  • Hardware
  • Licenses
  • Downloads
Developer
  • Overview
  • Contribute
  • Submitting Patches
  • Code Reviews
  • Workflow
  • Conventions
  • Bug Reporting
  • Build Prerequisites
  • Repository Layout
  • Releases
  • Roadmap
Docs
  • libvpx API
  • RFC 6386: VP8 Data Format
  • WebM Container Format
  • VP8 RTP Proposal (Draft)
  • Encoder Examples
  • Wiki
Copyright 2010 - 2013
The WebM Project
HTML5 Powered with CSS3 / Styling, and Semantics
Follow @WebM
webmaster@webmproject.org