• 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

WebM VP8 Encoder
[VP8]

Data Structures

struct   vpx_roi_map
  vpx region of interest map More...
struct   vpx_active_map
  vpx active region map More...
struct   vpx_scaling_mode
  vpx image scaling mode More...

Files

file   vp8cx.h
 

Provides definitions for using the VP8 encoder algorithm within the vpx Codec Interface.


Defines

#define  VP8_EFLAG_NO_REF_LAST   (1<<16)
  Don't reference the last frame.
#define  VP8_EFLAG_NO_REF_GF   (1<<17)
  Don't reference the golden frame.
#define  VP8_EFLAG_NO_REF_ARF   (1<<21)
  Don't reference the alternate reference frame.
#define  VP8_EFLAG_NO_UPD_LAST   (1<<18)
  Don't update the last frame.
#define  VP8_EFLAG_NO_UPD_GF   (1<<22)
  Don't update the golden frame.
#define  VP8_EFLAG_NO_UPD_ARF   (1<<23)
  Don't update the alternate reference frame.
#define  VP8_EFLAG_FORCE_GF   (1<<19)
  Force golden frame update.
#define  VP8_EFLAG_FORCE_ARF   (1<<24)
  Force alternate reference frame update.
#define  VP8_EFLAG_NO_UPD_ENTROPY   (1<<20)
  Disable entropy update.

Typedefs

typedef enum vpx_scaling_mode_1d  VPX_SCALING_MODE
  vpx 1-D scaling mode
typedef struct vpx_roi_map  vpx_roi_map_t
  vpx region of interest map
typedef struct vpx_active_map  vpx_active_map_t
  vpx active region map
typedef struct vpx_scaling_mode  vpx_scaling_mode_t
  vpx image scaling mode

Enumerations

enum   vp8e_enc_control_id {
  VP8E_UPD_ENTROPY = 5, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE, VP8E_SET_ROI_MAP,
  VP8E_SET_ACTIVEMAP, VP8E_SET_SCALEMODE = 11, VP8E_SET_CPUUSED = 13, VP8E_SET_ENABLEAUTOALTREF,
  VP8E_SET_NOISE_SENSITIVITY, VP8E_SET_SHARPNESS, VP8E_SET_STATIC_THRESHOLD, VP8E_SET_TOKEN_PARTITIONS,
  VP8E_GET_LAST_QUANTIZER, VP8E_GET_LAST_QUANTIZER_64, VP8E_SET_ARNR_MAXFRAMES, VP8E_SET_ARNR_STRENGTH,
  VP8E_SET_ARNR_TYPE, VP8E_SET_TUNING, VP8E_SET_CQ_LEVEL, VP8E_SET_MAX_INTRA_BITRATE_PCT
}
 

VP8 encoder control functions.

More...
enum   vpx_scaling_mode_1d { VP8E_NORMAL = 0, VP8E_FOURFIVE = 1, VP8E_THREEFIVE = 2, VP8E_ONETWO = 3 }
 

vpx 1-D scaling mode

More...
enum   vp8e_token_partitions { VP8_ONE_TOKENPARTITION = 0, VP8_TWO_TOKENPARTITION = 1, VP8_FOUR_TOKENPARTITION = 2, VP8_EIGHT_TOKENPARTITION = 3 }
 

VP8 token partition mode.

More...
enum   vp8e_tuning { VP8_TUNE_PSNR, VP8_TUNE_SSIM }
 

VP8 model tuning parameters.

More...

Functions

  VPX_CTRL_USE_TYPE (VP8E_SET_TOKEN_PARTITIONS, int) VPX_CTRL_USE_TYPE(VP8E_SET_TUNING
  VP8 encoder control function parameter type.

Algorithm interface for VP8

This interface provides the capability to encode raw VP8 streams, as would be found in AVI files.



vpx_codec_iface_t  vpx_codec_vp8_cx_algo
vpx_codec_iface_t *  vpx_codec_vp8_cx (void)

Define Documentation

#define VP8_EFLAG_NO_REF_LAST   (1<<16)

Don't reference the last frame.

When this flag is set, the encoder will not use the last frame as a predictor. When not set, the encoder will choose whether to use the last frame or not automatically.

#define VP8_EFLAG_NO_REF_GF   (1<<17)

Don't reference the golden frame.

When this flag is set, the encoder will not use the golden frame as a predictor. When not set, the encoder will choose whether to use the golden frame or not automatically.

#define VP8_EFLAG_NO_REF_ARF   (1<<21)

Don't reference the alternate reference frame.

When this flag is set, the encoder will not use the alt ref frame as a predictor. When not set, the encoder will choose whether to use the alt ref frame or not automatically.

#define VP8_EFLAG_NO_UPD_LAST   (1<<18)

Don't update the last frame.

When this flag is set, the encoder will not update the last frame with the contents of the current frame.

#define VP8_EFLAG_NO_UPD_GF   (1<<22)

Don't update the golden frame.

When this flag is set, the encoder will not update the golden frame with the contents of the current frame.

#define VP8_EFLAG_NO_UPD_ARF   (1<<23)

Don't update the alternate reference frame.

When this flag is set, the encoder will not update the alt ref frame with the contents of the current frame.

#define VP8_EFLAG_FORCE_GF   (1<<19)

Force golden frame update.

When this flag is set, the encoder copy the contents of the current frame to the golden frame buffer.

#define VP8_EFLAG_FORCE_ARF   (1<<24)

Force alternate reference frame update.

When this flag is set, the encoder copy the contents of the current frame to the alternate reference frame buffer.

#define VP8_EFLAG_NO_UPD_ENTROPY   (1<<20)

Disable entropy update.

When this flag is set, the encoder will not update its internal entropy model based on the entropy of this frame.


Typedef Documentation

typedef enum vpx_scaling_mode_1d VPX_SCALING_MODE

vpx 1-D scaling mode

This set of constants define 1-D vpx scaling modes

typedef struct vpx_roi_map vpx_roi_map_t

vpx region of interest map

These defines the data structures for the region of interest map

typedef struct vpx_active_map vpx_active_map_t

vpx active region map

These defines the data structures for active region map

typedef struct vpx_scaling_mode vpx_scaling_mode_t

vpx image scaling mode

This defines the data structure for image scaling mode


Enumeration Type Documentation

enum vp8e_enc_control_id

VP8 encoder control functions.

This set of macros define the control functions available for the VP8 encoder interface.

See also:
vpx_codec_control
Enumerator:
VP8E_UPD_ENTROPY 

control function to set mode of entropy update in encoder

VP8E_UPD_REFERENCE 

control function to set reference update mode in encoder

VP8E_USE_REFERENCE 

control function to set which reference frame encoder can use

VP8E_SET_ROI_MAP 

control function to pass an ROI map to encoder

VP8E_SET_ACTIVEMAP 

control function to pass an Active map to encoder

VP8E_SET_SCALEMODE 

control function to set encoder scaling mode

VP8E_SET_CPUUSED 

control function to set vp8 encoder cpuused

Changes in this value influences, among others, the encoder's selection of motion estimation methods. Values greater than 0 will increase encoder speed at the expense of quality. The full set of adjustments can be found in onyx_if.c:vp8_set_speed_features().

Todo:
List highlights of the changes at various levels.
Note:
Valid range: -16..16
VP8E_SET_ENABLEAUTOALTREF 

control function to enable vp8 to automatic set and use altref frame

VP8E_SET_NOISE_SENSITIVITY 

control function to set noise sensitivity

VP8E_SET_SHARPNESS 

control function to set sharpness

VP8E_SET_STATIC_THRESHOLD 

control function to set the threshold for macroblocks treated static

VP8E_SET_TOKEN_PARTITIONS 

control function to set the number of token partitions

VP8E_GET_LAST_QUANTIZER 

return the quantizer chosen by the encoder for the last frame using the internal scale

VP8E_GET_LAST_QUANTIZER_64 

return the quantizer chosen by the encoder for the last frame, using the 0..63 scale as used by the rc_*_quantizer config parameters

VP8E_SET_ARNR_MAXFRAMES 

control function to set the max number of frames blurred creating arf

VP8E_SET_ARNR_STRENGTH 

control function to set the filter strength for the arf

VP8E_SET_ARNR_TYPE 

control function to set the type of filter to use for the arf

VP8E_SET_TUNING 

control function to set visual tuning

VP8E_SET_CQ_LEVEL 

control function to set constrained quality level

Attention:
For this value to be used vpx_codec_enc_cfg_t::g_usage must be set to VPX_CQ.
Note:
Valid range: 0..63
VP8E_SET_MAX_INTRA_BITRATE_PCT 

Max data rate for Intra frames.

This value controls additional clamping on the maximum size of a keyframe. It is expressed as a percentage of the average per-frame bitrate, with the special (and default) value 0 meaning unlimited, or no additional clamping beyond the codec's built-in algorithm.

For example, to allocate no more than 4.5 frames worth of bitrate to a keyframe, set this to 450.

enum vpx_scaling_mode_1d

vpx 1-D scaling mode

This set of constants define 1-D vpx scaling modes

enum vp8e_token_partitions

VP8 token partition mode.

This defines VP8 partitioning mode for compressed data, i.e., the number of sub-streams in the bitstream. Used for parallelized decoding.

enum vp8e_tuning

VP8 model tuning parameters.

Changes the encoder to tune for certain types of input material.


Function Documentation

VPX_CTRL_USE_TYPE ( VP8E_SET_TOKEN_PARTITIONS  ,
int   
)

VP8 encoder control function parameter type.

Defines the data types that VP8E control functions take. Note that additional common controls are defined in vp8.h


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