• 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

VP8
[Supported Codecs]

Data Structures

struct   vp8_postproc_cfg
  post process flags More...
struct   vpx_ref_frame
  reference frame data struct More...

Modules

  WebM VP8 Encoder
  WebM VP8 Decoder

Files

file   vp8.h
 

Provides controls common to both the VP8 encoder and decoder.


Typedefs

typedef struct vp8_postproc_cfg  vp8_postproc_cfg_t
  post process flags
typedef enum vpx_ref_frame_type  vpx_ref_frame_type_t
  reference frame type
typedef struct vpx_ref_frame  vpx_ref_frame_t
  reference frame data struct

Enumerations

enum   vp8_com_control_id {
  VP8_SET_REFERENCE = 1, VP8_COPY_REFERENCE = 2, VP8_SET_POSTPROC = 3, VP8_SET_DBG_COLOR_REF_FRAME = 4,
  VP8_SET_DBG_COLOR_MB_MODES = 5, VP8_SET_DBG_COLOR_B_MODES = 6, VP8_SET_DBG_DISPLAY_MV = 7, VP8_COMMON_CTRL_ID_MAX,
  VP8_DECODER_CTRL_ID_START = 256
}
 

Control functions.

More...
enum   vp8_postproc_level {
  VP8_NOFILTERING = 0, VP8_DEBLOCK = 1<<0, VP8_DEMACROBLOCK = 1<<1, VP8_ADDNOISE = 1<<2,
  VP8_DEBUG_TXT_FRAME_INFO = 1<<3, VP8_DEBUG_TXT_MBLK_MODES = 1<<4, VP8_DEBUG_TXT_DC_DIFF = 1<<5, VP8_DEBUG_TXT_RATE_INFO = 1<<6,
  VP8_MFQE = 1<<10
}
 

post process flags

More...
enum   vpx_ref_frame_type { VP8_LAST_FRAME = 1, VP8_GOLD_FRAME = 2, VP8_ALTR_FRAME = 4 }
 

reference frame type

More...

Detailed Description

VP8 is vpx's newest video compression algorithm that uses motion compensated prediction, Discrete Cosine Transform (DCT) coding of the prediction error signal and context dependent entropy coding techniques based on arithmetic principles. It features:

  • YUV 4:2:0 image format
  • Macro-block based coding (16x16 luma plus two 8x8 chroma)
  • 1/4 (1/8) pixel accuracy motion compensated prediction
  • 4x4 DCT transform
  • 128 level linear quantizer
  • In loop deblocking filter
  • Context-based entropy coding

Typedef Documentation

typedef struct vp8_postproc_cfg vp8_postproc_cfg_t

post process flags

This define a structure that describe the post processing settings. For the best objective measure (using the PSNR metric) set post_proc_flag to VP8_DEBLOCK and deblocking_level to 1.

typedef enum vpx_ref_frame_type vpx_ref_frame_type_t

reference frame type

The set of macros define the type of VP8 reference frames

typedef struct vpx_ref_frame vpx_ref_frame_t

reference frame data struct

define the data struct to access vp8 reference frames


Enumeration Type Documentation

enum vp8_com_control_id

Control functions.

The set of macros define the control functions of VP8 interface

Enumerator:
VP8_SET_REFERENCE 

pass in an external frame into decoder to be used as reference frame

VP8_COPY_REFERENCE 

get a copy of reference frame from the decoder

VP8_SET_POSTPROC 

set the decoder's post processing settings

VP8_SET_DBG_COLOR_REF_FRAME 

set the reference frames to color for each macroblock

VP8_SET_DBG_COLOR_MB_MODES 

set which macro block modes to color

VP8_SET_DBG_COLOR_B_MODES 

set which blocks modes to color

VP8_SET_DBG_DISPLAY_MV 

set which motion vector modes to draw

enum vp8_postproc_level

post process flags

The set of macros define VP8 decoder post processing flags

Enumerator:
VP8_DEBUG_TXT_FRAME_INFO 

print frame information

VP8_DEBUG_TXT_MBLK_MODES 

print macro block modes over each macro block

VP8_DEBUG_TXT_DC_DIFF 

print dc diff for each macro block

VP8_DEBUG_TXT_RATE_INFO 

print video rate info (encoder only)

enum vpx_ref_frame_type

reference frame type

The set of macros define the type of VP8 reference frames


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