WebM Codec SDK
Data Structures | Macros | Typedefs | Enumerations
vp8cx.h File Reference

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

#include "./vp8.h"
#include "./vpx_encoder.h"
#include "./vpx_ext_ratectrl.h"

Go to the source code of this file.

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...
 
struct  vpx_svc_layer_id
 vp9 svc layer parameters More...
 
struct  vpx_svc_ref_frame_config
 vp9 svc frame flag parameters. More...
 
struct  vpx_svc_frame_drop
 vp9 svc frame dropping parameters. More...
 
struct  vpx_svc_spatial_layer_sync
 vp9 svc spatial layer sync parameters. More...
 

Macros

#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 enum vp9e_temporal_layering_mode VP9E_TEMPORAL_LAYERING_MODE
 Temporal layering mode enum for VP9 SVC.
 
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
 
typedef struct vpx_svc_layer_id vpx_svc_layer_id_t
 vp9 svc layer parameters
 
typedef struct vpx_svc_ref_frame_config vpx_svc_ref_frame_config_t
 vp9 svc frame flag parameters.
 
typedef struct vpx_svc_frame_drop vpx_svc_frame_drop_t
 vp9 svc frame dropping parameters.
 
typedef struct vpx_svc_spatial_layer_sync vpx_svc_spatial_layer_sync_t
 vp9 svc spatial layer sync parameters.
 

Enumerations

enum  vp8e_enc_control_id {
  VP8E_SET_ROI_MAP = 8 , 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 , VP8E_SET_FRAME_FLAGS , VP9E_SET_MAX_INTER_BITRATE_PCT , VP9E_SET_GF_CBR_BOOST_PCT ,
  VP8E_SET_TEMPORAL_LAYER_ID , VP8E_SET_SCREEN_CONTENT_MODE , VP9E_SET_LOSSLESS , VP9E_SET_TILE_COLUMNS ,
  VP9E_SET_TILE_ROWS , VP9E_SET_FRAME_PARALLEL_DECODING , VP9E_SET_AQ_MODE , VP9E_SET_FRAME_PERIODIC_BOOST ,
  VP9E_SET_NOISE_SENSITIVITY , VP9E_SET_SVC , VP9E_SET_ROI_MAP , VP9E_SET_SVC_PARAMETERS ,
  VP9E_SET_SVC_LAYER_ID , VP9E_SET_TUNE_CONTENT , VP9E_GET_SVC_LAYER_ID , VP9E_REGISTER_CX_CALLBACK ,
  VP9E_SET_COLOR_SPACE , VP9E_SET_MIN_GF_INTERVAL = 48 , VP9E_SET_MAX_GF_INTERVAL , VP9E_GET_ACTIVEMAP ,
  VP9E_SET_COLOR_RANGE , VP9E_SET_SVC_REF_FRAME_CONFIG , VP9E_SET_RENDER_SIZE , VP9E_SET_TARGET_LEVEL ,
  VP9E_SET_ROW_MT , VP9E_GET_LEVEL , VP9E_SET_ALT_REF_AQ , VP8E_SET_GF_CBR_BOOST_PCT ,
  VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST , VP9E_SET_SVC_INTER_LAYER_PRED , VP9E_SET_SVC_FRAME_DROP_LAYER , VP9E_GET_SVC_REF_FRAME_CONFIG ,
  VP9E_SET_SVC_GF_TEMPORAL_REF , VP9E_SET_SVC_SPATIAL_LAYER_SYNC , VP9E_SET_TPL , VP9E_SET_POSTENCODE_DROP ,
  VP9E_SET_DELTA_Q_UV , VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR , VP9E_SET_DISABLE_LOOPFILTER , VP9E_SET_EXTERNAL_RATE_CONTROL ,
  VP9E_SET_RTC_EXTERNAL_RATECTRL , VP9E_GET_LOOPFILTER_LEVEL , VP9E_GET_LAST_QUANTIZER_SVC_LAYERS , VP8E_SET_RTC_EXTERNAL_RATECTRL ,
  VP9E_SET_QUANTIZER_ONE_PASS
}
 VPx 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  vp9e_temporal_layering_mode { VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING = 0 , VP9E_TEMPORAL_LAYERING_MODE_BYPASS = 1 , VP9E_TEMPORAL_LAYERING_MODE_0101 = 2 , VP9E_TEMPORAL_LAYERING_MODE_0212 = 3 }
 Temporal layering mode enum for VP9 SVC. 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  vp9e_tune_content { VP9E_CONTENT_DEFAULT , VP9E_CONTENT_SCREEN , VP9E_CONTENT_FILM , VP9E_CONTENT_INVALID }
 
enum  vp8e_tuning { VP8_TUNE_PSNR , VP8_TUNE_SSIM }
 VP8 model tuning parameters. More...
 
enum  SVC_LAYER_DROP_MODE { CONSTRAINED_LAYER_DROP , LAYER_DROP , FULL_SUPERFRAME_DROP , CONSTRAINED_FROM_ABOVE_DROP }
 VP9 svc frame dropping mode. More...
 

Algorithm interface for VP8

This interface provides the capability to encode raw VP8 streams.

vpx_codec_iface_t vpx_codec_vp8_cx_algo
 A single instance of the VP8 encoder.
 
vpx_codec_iface_tvpx_codec_vp8_cx (void)
 The interface to the VP8 encoder.
 

Algorithm interface for VP9

This interface provides the capability to encode raw VP9 streams.

vpx_codec_iface_t vpx_codec_vp9_cx_algo
 A single instance of the VP9 encoder.
 
vpx_codec_iface_tvpx_codec_vp9_cx (void)
 The interface to the VP9 encoder.
 

Detailed Description

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