vp8cx.h File Reference
Supported Codecs » VP8 » WebM VP8/VP9 Encoder

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_t * | vpx_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_t * | vpx_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.