WebM Codec SDK
Sample Code

This SDK includes a number of sample applications. Each sample documents a feature of the SDK in both prose and the associated C code. The following samples are included:

In addition, the SDK contains a number of utilities. Since these utilities are built upon the concepts described in the sample code listed above, they are not documented in pieces like the samples are. Their source is included here for reference. The following utilities are included:

vpx_codec_enc_cfg::rc_2pass_vbr_minsection_pct
unsigned int rc_2pass_vbr_minsection_pct
Two-pass mode per-GOP minimum bitrate.
Definition: vpx_encoder.h:572
VP8D_GET_FRAME_CORRUPTED
@ VP8D_GET_FRAME_CORRUPTED
Definition: vp8dx.h:79
vpx_svc_ref_frame_config::alt_fb_idx
int alt_fb_idx[5]
Definition: vp8cx.h:901
VPX_CS_RESERVED
@ VPX_CS_RESERVED
Definition: vpx_image.h:61
VPX_CS_BT_709
@ VPX_CS_BT_709
Definition: vpx_image.h:57
VPX_IMG_FMT_YV12
@ VPX_IMG_FMT_YV12
Definition: vpx_image.h:40
vpx_svc_ref_frame_config::gld_fb_idx
int gld_fb_idx[5]
Definition: vp8cx.h:900
vpx_svc_ref_frame_config::lst_fb_idx
int lst_fb_idx[5]
Definition: vp8cx.h:899
vpx_codec_enc_init_multi
#define vpx_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf)
Convenience macro for vpx_codec_enc_init_multi_ver()
Definition: vpx_encoder.h:920
vpx_roi_map
vpx region of interest map
Definition: vp8cx.h:806
vpx_codec_enc_cfg::ts_rate_decimator
unsigned int ts_rate_decimator[5]
Frame rate decimation factor for each temporal layer.
Definition: vpx_encoder.h:660
VP9_DECODE_SVC_SPATIAL_LAYER
@ VP9_DECODE_SVC_SPATIAL_LAYER
Definition: vp8dx.h:133
VP8E_SET_ARNR_STRENGTH
@ VP8E_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition: vp8cx.h:240
vpx_image::d_h
unsigned int d_h
Definition: vpx_image.h:84
vpx_codec_dec_cfg::threads
unsigned int threads
Definition: vpx_decoder.h:107
vpx_roi_map::ref_frame
int ref_frame[8]
Definition: vp8cx.h:819
VPX_CS_SRGB
@ VPX_CS_SRGB
Definition: vpx_image.h:62
vpx_svc_parameters
vp9 svc extra configure parameters
Definition: vpx_encoder.h:848
vpx_svc_parameters::max_quantizers
int max_quantizers[12]
Definition: vpx_encoder.h:849
VPX_IMG_FMT_HIGHBITDEPTH
#define VPX_IMG_FMT_HIGHBITDEPTH
Definition: vpx_image.h:35
vpx_codec_ctx
Codec context structure.
Definition: vpx_codec.h:200
VP9E_SET_TARGET_LEVEL
@ VP9E_SET_TARGET_LEVEL
Codec control function to set target level.
Definition: vp8cx.h:567
VPX_CS_SMPTE_240
@ VPX_CS_SMPTE_240
Definition: vpx_image.h:59
vpx_codec_stream_info::sz
unsigned int sz
Definition: vpx_decoder.h:89
VPX_BITS_8
@ VPX_BITS_8
Definition: vpx_codec.h:221
vpx_codec_err_to_string
const char * vpx_codec_err_to_string(vpx_codec_err_t err)
Convert error number to printable string.
VPX_SS_MAX_LAYERS
#define VPX_SS_MAX_LAYERS
Definition: vpx_encoder.h:47
vpx_codec_stream_info::h
unsigned int h
Definition: vpx_decoder.h:91
vpx_active_map::cols
unsigned int cols
Definition: vp8cx.h:834
vpx_fixed_buf
Generic fixed size buffer structure.
Definition: vpx_encoder.h:98
VP8E_SET_ENABLEAUTOALTREF
@ VP8E_SET_ENABLEAUTOALTREF
Codec control function to enable automatic use of arf frames.
Definition: vp8cx.h:181
VP9E_SET_AQ_MODE
@ VP9E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition: vp8cx.h:415
vpx_codec_cx_pkt::kind
enum vpx_codec_cx_pkt_kind kind
Definition: vpx_encoder.h:162
VP9E_GET_SVC_LAYER_ID
@ VP9E_GET_SVC_LAYER_ID
Codec control function to get svc layer ID.
Definition: vp8cx.h:488
VP9E_SET_ROI_MAP
@ VP9E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:453
vpx_img_free
void vpx_img_free(vpx_image_t *img)
Close an image descriptor.
VP9E_SET_LOSSLESS
@ VP9E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition: vp8cx.h:344
VP8_SET_POSTPROC
@ VP8_SET_POSTPROC
Definition: vp8.h:49
VP8E_SET_SCREEN_CONTENT_MODE
@ VP8E_SET_SCREEN_CONTENT_MODE
Codec control function to set encoder screen content mode.
Definition: vp8cx.h:329
VP9E_TEMPORAL_LAYERING_MODE_BYPASS
@ VP9E_TEMPORAL_LAYERING_MODE_BYPASS
Bypass mode. Used when application needs to control temporal layering. This will only work when the n...
Definition: vp8cx.h:789
vpx_codec_enc_cfg::ss_number_layers
unsigned int ss_number_layers
Number of spatial coding layers.
Definition: vpx_encoder.h:626
vpx_codec_cx_pkt::data
union vpx_codec_cx_pkt::@1 data
VP8E_GET_LAST_QUANTIZER_64
@ VP8E_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition: vp8cx.h:228
VP8_EFLAG_NO_REF_LAST
#define VP8_EFLAG_NO_REF_LAST
Don't reference the last frame.
Definition: vp8cx.h:75
vpx_codec_enc_cfg::rc_twopass_stats_in
vpx_fixed_buf_t rc_twopass_stats_in
Two-pass stats buffer.
Definition: vpx_encoder.h:449
vpx_codec_enc_cfg
Encoder configuration structure.
Definition: vpx_encoder.h:270
vpx_svc_ref_frame_config::reference_golden
int reference_golden[5]
Definition: vp8cx.h:908
vpx_codec_decode
vpx_codec_err_t vpx_codec_decode(vpx_codec_ctx_t *ctx, const uint8_t *data, unsigned int data_sz, void *user_priv, long deadline)
Decode data.
vpx_codec_enc_cfg::kf_max_dist
unsigned int kf_max_dist
Keyframe maximum interval.
Definition: vpx_encoder.h:616
VPX_PLANE_U
#define VPX_PLANE_U
Definition: vpx_image.h:97
vpx_codec_iface_name
const char * vpx_codec_iface_name(vpx_codec_iface_t *iface)
Return the name for a given interface.
VP9E_SET_POSTENCODE_DROP
@ VP9E_SET_POSTENCODE_DROP
Codec control function to enable postencode frame drop.
Definition: vp8cx.h:683
VPX_CODEC_PSNR_PKT
@ VPX_CODEC_PSNR_PKT
Definition: vpx_encoder.h:152
vpx_svc_parameters::min_quantizers
int min_quantizers[12]
Definition: vpx_encoder.h:850
VPX_DL_BEST_QUALITY
#define VPX_DL_BEST_QUALITY
deadline parameter analogous to VPx BEST QUALITY mode.
Definition: vpx_encoder.h:982
VPX_VBR
@ VPX_VBR
Definition: vpx_encoder.h:234
VP9D_SET_ROW_MT
@ VP9D_SET_ROW_MT
Codec control function to set row level multi-threading.
Definition: vp8dx.h:149
VP8E_SET_NOISE_SENSITIVITY
@ VP8E_SET_NOISE_SENSITIVITY
control function to set noise sensitivity
Definition: vp8cx.h:190
VP9E_SET_FRAME_PERIODIC_BOOST
@ VP9E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition: vp8cx.h:430
vpx_enc_frame_flags_t
long vpx_enc_frame_flags_t
Encoded Frame Flags.
Definition: vpx_encoder.h:261
vpx_codec_enc_cfg::rc_buf_sz
unsigned int rc_buf_sz
Decoder Buffer Size.
Definition: vpx_encoder.h:533
VP9E_SET_GF_CBR_BOOST_PCT
@ VP9E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:310
VPX_IMG_FMT_I42216
@ VPX_IMG_FMT_I42216
Definition: vpx_image.h:48
vpx_codec_get_frame
vpx_image_t * vpx_codec_get_frame(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
Decoded frames iterator.
VPX_FRAME_IS_FRAGMENT
#define VPX_FRAME_IS_FRAGMENT
this is a fragment of the encoded frame
Definition: vpx_encoder.h:125
vpx_img_alloc
vpx_image_t * vpx_img_alloc(vpx_image_t *img, vpx_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align)
Open a descriptor, allocating storage for the underlying image.
vpx_rational::num
int num
Definition: vpx_encoder.h:221
VPX_CODEC_USE_POSTPROC
#define VPX_CODEC_USE_POSTPROC
Initialization-time Feature Enabling.
Definition: vpx_decoder.h:73
vpx_svc_frame_drop::max_consec_drop
int max_consec_drop
Definition: vp8cx.h:938
VPX_DL_REALTIME
#define VPX_DL_REALTIME
deadline parameter analogous to VPx REALTIME mode.
Definition: vpx_encoder.h:978
vpx_svc_layer_id::temporal_layer_id_per_spatial
int temporal_layer_id_per_spatial[5]
Definition: vp8cx.h:887
VPX_IMG_FMT_NV12
@ VPX_IMG_FMT_NV12
Definition: vpx_image.h:46
vpx_ref_frame::img
vpx_image_t img
Definition: vp8.h:103
vpx_codec_ctx::name
const char * name
Definition: vpx_codec.h:201
VPX_CODEC_OK
@ VPX_CODEC_OK
Operation completed without error.
Definition: vpx_codec.h:95
vp8dx.h
Provides definitions for using VP8 or VP9 within the vpx Decoder interface.
vpx_codec_frame_buffer::data
uint8_t * data
Definition: vpx_frame_buffer.h:40
VP8_EFLAG_NO_UPD_ENTROPY
#define VP8_EFLAG_NO_UPD_ENTROPY
Disable entropy update.
Definition: vp8cx.h:133
vpx_codec_get_cx_data
const vpx_codec_cx_pkt_t * vpx_codec_get_cx_data(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
Encoded data iterator.
vpx_codec_cx_pkt
Encoder output packet.
Definition: vpx_encoder.h:161
vpx_codec_iter_t
const typedef void * vpx_codec_iter_t
Iterator.
Definition: vpx_codec.h:190
vpx_codec_enc_cfg::g_w
unsigned int g_w
Width of the frame.
Definition: vpx_encoder.h:306
VPX_CODEC_CX_FRAME_PKT
@ VPX_CODEC_CX_FRAME_PKT
Definition: vpx_encoder.h:149
VP9E_SET_MIN_GF_INTERVAL
@ VP9E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:519
vp9_ref_frame::idx
int idx
Definition: vp8.h:111
vp9_ref_frame
VP9 specific reference frame data struct.
Definition: vp8.h:110
VPX_IMG_FMT_I44416
@ VPX_IMG_FMT_I44416
Definition: vpx_image.h:49
VPX_IMG_FMT_I422
@ VPX_IMG_FMT_I422
Definition: vpx_image.h:43
vpx_image::d_w
unsigned int d_w
Definition: vpx_image.h:83
vpx_svc_ref_frame_config
vp9 svc frame flag parameters.
Definition: vp8cx.h:898
vpx_image::planes
unsigned char * planes[4]
Definition: vpx_image.h:100
VP9E_SET_MAX_GF_INTERVAL
@ VP9E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:527
vpx_roi_map::rows
unsigned int rows
Definition: vp8cx.h:812
vpx_image::bit_depth
unsigned int bit_depth
Definition: vpx_image.h:80
VPX_TS_MAX_LAYERS
#define VPX_TS_MAX_LAYERS
Definition: vpx_encoder.h:41
vpx_image::fmt
vpx_img_fmt_t fmt
Definition: vpx_image.h:73
VP9E_SET_SVC
@ VP9E_SET_SVC
Codec control function to turn on/off SVC in encoder.
Definition: vp8cx.h:447
vp8_postproc_cfg::post_proc_flag
int post_proc_flag
the types of post processing to be done, should be combination of "vp8_postproc_level"
Definition: vp8.h:82
vpx_codec_enc_cfg::g_profile
unsigned int g_profile
Bitstream profile to use.
Definition: vpx_encoder.h:297
VPX_BITS_12
@ VPX_BITS_12
Definition: vpx_codec.h:223
VP8_EFLAG_NO_UPD_LAST
#define VP8_EFLAG_NO_UPD_LAST
Don't update the last frame.
Definition: vp8cx.h:98
vpx_codec_enc_cfg::rc_overshoot_pct
unsigned int rc_overshoot_pct
Rate control adaptation overshoot control.
Definition: vpx_encoder.h:518
VP9E_SET_SVC_INTER_LAYER_PRED
@ VP9E_SET_SVC_INTER_LAYER_PRED
Codec control function to constrain the inter-layer prediction (prediction of lower spatial resolutio...
Definition: vp8cx.h:624
VPX_MAX_LAYERS
#define VPX_MAX_LAYERS
Definition: vpx_encoder.h:44
vpx_codec_enc_init
#define vpx_codec_enc_init(ctx, iface, cfg, flags)
Convenience macro for vpx_codec_enc_init_ver()
Definition: vpx_encoder.h:889
VPX_CODEC_STATS_PKT
@ VPX_CODEC_STATS_PKT
Definition: vpx_encoder.h:150
vpx_codec_pts_t
int64_t vpx_codec_pts_t
Time Stamp Type.
Definition: vpx_encoder.h:108
VPX_RC_LAST_PASS
@ VPX_RC_LAST_PASS
Definition: vpx_encoder.h:229
VP9E_SET_FRAME_PARALLEL_DECODING
@ VP9E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition: vp8cx.h:402
vpx_svc_parameters::scaling_factor_den
int scaling_factor_den[12]
Definition: vpx_encoder.h:852
VP9E_SET_MAX_INTER_BITRATE_PCT
@ VP9E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition: vp8cx.h:295
vpx_codec_frame_buffer
External frame buffer.
Definition: vpx_frame_buffer.h:39
vpx_ref_frame::frame_type
vpx_ref_frame_type_t frame_type
Definition: vp8.h:102
VP8E_SET_STATIC_THRESHOLD
@ VP8E_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition: vp8cx.h:205
vpx_codec_enc_cfg::g_bit_depth
vpx_bit_depth_t g_bit_depth
Bit-depth of the codec.
Definition: vpx_encoder.h:323
vpx_ref_frame
reference frame data struct
Definition: vp8.h:101
vpx_codec_enc_cfg::g_timebase
struct vpx_rational g_timebase
Stream timebase units.
Definition: vpx_encoder.h:345
VPX_IMG_FMT_I420
@ VPX_IMG_FMT_I420
Definition: vpx_image.h:42
vpx_svc_ref_frame_config::reference_last
int reference_last[5]
Definition: vp8cx.h:907
VPX_CS_BT_601
@ VPX_CS_BT_601
Definition: vpx_image.h:56
vpx_codec_cx_pkt::psnr
double psnr[4]
Definition: vpx_encoder.h:189
vpx_codec_vp9_cx
vpx_codec_iface_t * vpx_codec_vp9_cx(void)
The interface to the VP9 encoder.
VPX_TS_MAX_PERIODICITY
#define VPX_TS_MAX_PERIODICITY
Definition: vpx_encoder.h:38
vpx_codec_enc_cfg::rc_dropframe_thresh
unsigned int rc_dropframe_thresh
Temporal resampling configuration, if supported by the codec.
Definition: vpx_encoder.h:393
VP9E_SET_TILE_ROWS
@ VP9E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition: vp8cx.h:388
vpx_svc_parameters::scaling_factor_num
int scaling_factor_num[12]
Definition: vpx_encoder.h:851
VP8E_SET_SHARPNESS
@ VP8E_SET_SHARPNESS
Codec control function to set higher sharpness at the expense of a lower PSNR.
Definition: vp8cx.h:199
VPX_CODEC_CORRUPT_FRAME
@ VPX_CODEC_CORRUPT_FRAME
The coded data for this stream is corrupt or incomplete.
Definition: vpx_codec.h:133
vpx_codec_enc_cfg::g_error_resilient
vpx_codec_er_flags_t g_error_resilient
Enable error resilient modes.
Definition: vpx_encoder.h:353
vpx_roi_map::cols
unsigned int cols
Definition: vp8cx.h:813
vpx_image
Image Descriptor.
Definition: vpx_image.h:72
vpx_codec_frame_buffer::size
size_t size
Definition: vpx_frame_buffer.h:41
vpx_codec_enc_cfg::g_pass
enum vpx_enc_pass g_pass
Multi-pass Encoding Mode.
Definition: vpx_encoder.h:360
vpx_codec_enc_cfg::g_h
unsigned int g_h
Height of the frame.
Definition: vpx_encoder.h:315
VP9E_SET_ALT_REF_AQ
@ VP9E_SET_ALT_REF_AQ
Codec control function to enable/disable special mode for altref adaptive quantization....
Definition: vp8cx.h:591
vpx_svc_ref_frame_config::update_buffer_slot
int update_buffer_slot[5]
Definition: vp8cx.h:902
vpx_roi_map::delta_q
int delta_q[8]
Definition: vp8cx.h:815
vpx_image::stride
int stride[4]
Definition: vpx_image.h:101
vpx_roi_map::delta_lf
int delta_lf[8]
Definition: vp8cx.h:816
VP9E_SET_SVC_LAYER_ID
@ VP9E_SET_SVC_LAYER_ID
Codec control function to set svc layer for spatial and temporal.
Definition: vp8cx.h:470
vpx_codec_enc_cfg::rc_max_quantizer
unsigned int rc_max_quantizer
Maximum (Worst Quality) Quantizer.
Definition: vpx_encoder.h:484
vpx_codec_enc_cfg::rc_end_usage
enum vpx_rc_mode rc_end_usage
Rate control algorithm to use.
Definition: vpx_encoder.h:442
VPX_CS_SMPTE_170
@ VPX_CS_SMPTE_170
Definition: vpx_image.h:58
vpx_codec_enc_cfg::g_lag_in_frames
unsigned int g_lag_in_frames
Allow lagged encoding.
Definition: vpx_encoder.h:374
VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR
@ VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR
Codec control function to disable increase Q on overshoot in CBR.
Definition: vp8cx.h:699
VP9D_SET_LOOP_FILTER_OPT
@ VP9D_SET_LOOP_FILTER_OPT
Codec control function to set loopfilter optimization.
Definition: vp8dx.h:159
vpx_roi_map::roi_map
unsigned char * roi_map
Definition: vp8cx.h:811
VP8E_SET_CPUUSED
@ VP8E_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition: vp8cx.h:172
VPX_CODEC_USE_HIGHBITDEPTH
#define VPX_CODEC_USE_HIGHBITDEPTH
Definition: vpx_encoder.h:92
vpx_codec_err_t
vpx_codec_err_t
Algorithm return codes.
Definition: vpx_codec.h:93
VP8E_SET_CQ_LEVEL
@ VP8E_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level.
Definition: vp8cx.h:259
vpx_codec_enc_cfg::rc_resize_allowed
unsigned int rc_resize_allowed
Enable/disable spatial resampling, if supported by the codec.
Definition: vpx_encoder.h:402
VP9_GET_REFERENCE
@ VP9_GET_REFERENCE
Definition: vp8.h:55
VP9E_SET_DISABLE_LOOPFILTER
@ VP9E_SET_DISABLE_LOOPFILTER
Codec control function to disable loopfilter.
Definition: vp8cx.h:708
VP8_EFLAG_NO_REF_ARF
#define VP8_EFLAG_NO_REF_ARF
Don't reference the alternate reference frame.
Definition: vp8cx.h:91
vpx_codec_error_detail
const char * vpx_codec_error_detail(vpx_codec_ctx_t *ctx)
Retrieve detailed error information for codec context.
VP9E_SET_TPL
@ VP9E_SET_TPL
Codec control function to enable temporal dependency model.
Definition: vp8cx.h:673
VPX_IMG_FMT_I444
@ VPX_IMG_FMT_I444
Definition: vpx_image.h:44
vpx_codec_stream_info::w
unsigned int w
Definition: vpx_decoder.h:90
VPX_EFLAG_FORCE_KF
#define VPX_EFLAG_FORCE_KF
Definition: vpx_encoder.h:262
vpx_svc_frame_drop::framedrop_mode
SVC_LAYER_DROP_MODE framedrop_mode
Definition: vp8cx.h:937
vp8_postproc_cfg
post process flags
Definition: vp8.h:79
vpx_svc_layer_id
vp9 svc layer parameters
Definition: vp8cx.h:883
VP9E_SET_TUNE_CONTENT
@ VP9E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition: vp8cx.h:480
VPXD_GET_LAST_QUANTIZER
@ VPXD_GET_LAST_QUANTIZER
Codec control function to get last decoded frame quantizer.
Definition: vp8dx.h:141
VP9E_SET_NOISE_SENSITIVITY
@ VP9E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition: vp8cx.h:438
VPX_PLANE_V
#define VPX_PLANE_V
Definition: vpx_image.h:98
vpx_codec_frame_buffer::priv
void * priv
Definition: vpx_frame_buffer.h:42
vpx_codec_stream_info
Stream properties.
Definition: vpx_decoder.h:88
VP8_SET_REFERENCE
@ VP8_SET_REFERENCE
pass in an external frame into decoder to be used as reference frame
Definition: vp8.h:47
vpx_codec_cx_pkt::raw
vpx_fixed_buf_t raw
Definition: vpx_encoder.h:191
vpx_codec_enc_cfg::layer_target_bitrate
unsigned int layer_target_bitrate[12]
Target bitrate for each spatial/temporal layer.
Definition: vpx_encoder.h:686
vpx_svc_layer_id::temporal_layer_id
int temporal_layer_id
Definition: vp8cx.h:886
vpx_codec_enc_cfg::g_input_bit_depth
unsigned int g_input_bit_depth
Bit-depth of the input frames.
Definition: vpx_encoder.h:331
VP9D_GET_DISPLAY_SIZE
@ VP9D_GET_DISPLAY_SIZE
Definition: vp8dx.h:101
VPX_CQ
@ VPX_CQ
Definition: vpx_encoder.h:236
VPX_RC_FIRST_PASS
@ VPX_RC_FIRST_PASS
Definition: vpx_encoder.h:228
vpx_active_map::active_map
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: vp8cx.h:832
vpx_codec_enc_cfg::ts_target_bitrate
unsigned int ts_target_bitrate[5]
Target bitrate for each temporal layer.
Definition: vpx_encoder.h:653
vpx_svc_frame_drop::framedrop_thresh
int framedrop_thresh[5]
Definition: vp8cx.h:935
VPX_IMG_FMT_I42016
@ VPX_IMG_FMT_I42016
Definition: vpx_image.h:47
VP8E_SET_ACTIVEMAP
@ VP8E_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition: vp8cx.h:153
VPX_FRAME_IS_KEY
#define VPX_FRAME_IS_KEY
Definition: vpx_encoder.h:118
VP8E_SET_FRAME_FLAGS
@ VP8E_SET_FRAME_FLAGS
Codec control function to set reference and update frame flags.
Definition: vp8cx.h:280
vp8cx.h
Provides definitions for using VP8 or VP9 encoder algorithm within the vpx Codec Interface.
vpx_codec_enc_cfg::kf_min_dist
unsigned int kf_min_dist
Keyframe minimum interval.
Definition: vpx_encoder.h:607
vpx_codec_enc_cfg::rc_min_quantizer
unsigned int rc_min_quantizer
Minimum (Best Quality) Quantizer.
Definition: vpx_encoder.h:475
vpx_bit_depth_t
enum vpx_bit_depth vpx_bit_depth_t
Bit depth for codecThis enumeration determines the bit depth of the codec.
VPX_CODEC_USE_ERROR_CONCEALMENT
#define VPX_CODEC_USE_ERROR_CONCEALMENT
Conceal errors in decoded frames.
Definition: vpx_decoder.h:75
VPX_PLANE_Y
#define VPX_PLANE_Y
Definition: vpx_image.h:96
vpx_codec_dec_init
#define vpx_codec_dec_init(ctx, iface, cfg, flags)
Convenience macro for vpx_codec_dec_init_ver()
Definition: vpx_decoder.h:143
VPX_CODEC_INCAPABLE
@ VPX_CODEC_INCAPABLE
Algorithm does not have required capability.
Definition: vpx_codec.h:107
vpx_image::h
unsigned int h
Definition: vpx_image.h:79
vpx_img_fmt_t
enum vpx_img_fmt vpx_img_fmt_t
List of supported image formats.
vpx_codec_enc_cfg::rc_buf_initial_sz
unsigned int rc_buf_initial_sz
Decoder Buffer Initial Size.
Definition: vpx_encoder.h:542
vpx_fixed_buf::sz
size_t sz
Definition: vpx_encoder.h:100
VP8E_SET_TUNING
@ VP8E_SET_TUNING
Codec control function to set visual tuning.
Definition: vp8cx.h:249
VPX_BITS_10
@ VPX_BITS_10
Definition: vpx_codec.h:222
vpx_active_map::rows
unsigned int rows
Definition: vp8cx.h:833
VP9E_SET_ROW_MT
@ VP9E_SET_ROW_MT
Codec control function to set row level multi-threading.
Definition: vp8cx.h:575
vpx_svc_frame_drop
vp9 svc frame dropping parameters.
Definition: vp8cx.h:934
VPX_CODEC_USE_OUTPUT_PARTITION
#define VPX_CODEC_USE_OUTPUT_PARTITION
Make the encoder output one partition at a time.
Definition: vpx_encoder.h:91
VP8E_SET_ARNR_TYPE
@ VP8E_SET_ARNR_TYPE
Definition: vp8cx.h:243
vpx_codec_ctx::err
vpx_codec_err_t err
Definition: vpx_codec.h:203
vpx_codec_enc_cfg::rc_buf_optimal_sz
unsigned int rc_buf_optimal_sz
Decoder Buffer Optimal Size.
Definition: vpx_encoder.h:551
VP8E_SET_MAX_INTRA_BITRATE_PCT
@ VP8E_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition: vp8cx.h:274
vpx_svc_layer_id::spatial_layer_id
int spatial_layer_id
Definition: vp8cx.h:884
vpx_codec_set_frame_buffer_functions
vpx_codec_err_t vpx_codec_set_frame_buffer_functions(vpx_codec_ctx_t *ctx, vpx_get_frame_buffer_cb_fn_t cb_get, vpx_release_frame_buffer_cb_fn_t cb_release, void *cb_priv)
Pass in external frame buffers for the decoder to use.
vp8_postproc_cfg::deblocking_level
int deblocking_level
Definition: vp8.h:83
VPX_KF_AUTO
@ VPX_KF_AUTO
Definition: vpx_encoder.h:250
VPX_IMG_FMT_I440
@ VPX_IMG_FMT_I440
Definition: vpx_image.h:45
vpx_codec_enc_cfg::ts_layer_id
unsigned int ts_layer_id[16]
Template defining the membership of frames to temporal layers.
Definition: vpx_encoder.h:678
VP8_COPY_REFERENCE
@ VP8_COPY_REFERENCE
Definition: vp8.h:48
vp9_ref_frame::img
vpx_image_t img
Definition: vp8.h:112
VP8E_SET_TOKEN_PARTITIONS
@ VP8E_SET_TOKEN_PARTITIONS
Codec control function to set the number of token partitions.
Definition: vp8cx.h:211
vpx_codec_enc_cfg::rc_target_bitrate
unsigned int rc_target_bitrate
Target data rate.
Definition: vpx_encoder.h:462
vpx_codec_enc_cfg::rc_2pass_vbr_maxsection_pct
unsigned int rc_2pass_vbr_maxsection_pct
Two-pass mode per-GOP maximum bitrate.
Definition: vpx_encoder.h:579
VP9E_SET_TILE_COLUMNS
@ VP9E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition: vp8cx.h:368
vpx_fixed_buf::buf
void * buf
Definition: vpx_encoder.h:99
vp8_postproc_cfg::noise_level
int noise_level
Definition: vp8.h:84
vpx_codec_cx_pkt::twopass_stats
vpx_fixed_buf_t twopass_stats
Definition: vpx_encoder.h:184
vpx_codec_enc_cfg::g_threads
unsigned int g_threads
Maximum number of threads to use.
Definition: vpx_encoder.h:287
VP8_EFLAG_NO_REF_GF
#define VP8_EFLAG_NO_REF_GF
Don't reference the golden frame.
Definition: vp8cx.h:83
vpx_codec_control
#define vpx_codec_control(ctx, id, data)
vpx_codec_control wrapper macro
Definition: vpx_codec.h:407
VP8_EFLAG_NO_UPD_ARF
#define VP8_EFLAG_NO_UPD_ARF
Don't update the alternate reference frame.
Definition: vp8cx.h:112
VPX_IMG_FMT_I44016
@ VPX_IMG_FMT_I44016
Definition: vpx_image.h:50
vpx_codec_encode
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.
VP9E_SET_SVC_REF_FRAME_CONFIG
@ VP9E_SET_SVC_REF_FRAME_CONFIG
Codec control function to set the frame flags and buffer indices for spatial layers....
Definition: vp8cx.h:550
vpx_roi_map::static_threshold
unsigned int static_threshold[4]
Definition: vp8cx.h:821
vpx_decoder.h
Describes the decoder algorithm interface to applications.
vpx_codec_dec_cfg
Initialization Configurations.
Definition: vpx_decoder.h:106
VP9E_SET_SVC_FRAME_DROP_LAYER
@ VP9E_SET_SVC_FRAME_DROP_LAYER
Codec control function to set mode and thresholds for frame dropping in SVC. Drop frame thresholds ar...
Definition: vp8cx.h:633
vpx_codec_cx_pkt::frame
struct vpx_codec_cx_pkt::@1::@2 frame
vpx_rational::den
int den
Definition: vpx_encoder.h:222
vpx_svc_ref_frame_config::duration
int64_t duration[5]
Definition: vp8cx.h:910
vpx_roi_map::skip
int skip[8]
Definition: vp8cx.h:818
VP8E_SET_ROI_MAP
@ VP8E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:147
vpx_codec_enc_config_default
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_er_flags_t
uint32_t vpx_codec_er_flags_t
Error Resilient flags.
Definition: vpx_encoder.h:133
vpx_codec_destroy
vpx_codec_err_t vpx_codec_destroy(vpx_codec_ctx_t *ctx)
Destroy a codec instance.
vpx_active_map
vpx active region map
Definition: vp8cx.h:830
vpx_codec_control_
vpx_codec_err_t vpx_codec_control_(vpx_codec_ctx_t *ctx, int ctrl_id,...)
Control algorithm.
vpx_codec_enc_cfg::temporal_layering_mode
int temporal_layering_mode
Temporal layering mode indicating which temporal layering scheme to use.
Definition: vpx_encoder.h:695
VP9E_SET_COLOR_SPACE
@ VP9E_SET_COLOR_SPACE
Codec control function to set color space info.
Definition: vp8cx.h:511
VP8_EFLAG_NO_UPD_GF
#define VP8_EFLAG_NO_UPD_GF
Don't update the golden frame.
Definition: vp8cx.h:105
VPX_KF_DISABLED
@ VPX_KF_DISABLED
Definition: vpx_encoder.h:251
VPX_CODEC_USE_PSNR
#define VPX_CODEC_USE_PSNR
Initialization-time Feature Enabling.
Definition: vpx_encoder.h:89
vpx_encoder.h
Describes the encoder algorithm interface to applications.
VPX_CS_UNKNOWN
@ VPX_CS_UNKNOWN
Definition: vpx_image.h:55
vpx_rational
Rational Number.
Definition: vpx_encoder.h:220
VPX_RC_ONE_PASS
@ VPX_RC_ONE_PASS
Definition: vpx_encoder.h:227
VPX_CBR
@ VPX_CBR
Definition: vpx_encoder.h:235
vpx_codec_error
const char * vpx_codec_error(vpx_codec_ctx_t *ctx)
Retrieve error synopsis for codec context.
VPX_DL_GOOD_QUALITY
#define VPX_DL_GOOD_QUALITY
deadline parameter analogous to VPx GOOD QUALITY mode.
Definition: vpx_encoder.h:980
vpx_codec_enc_cfg::ts_number_layers
unsigned int ts_number_layers
Number of temporal coding layers.
Definition: vpx_encoder.h:646
VP8E_SET_GF_CBR_BOOST_PCT
@ VP8E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:606
vpx_codec_enc_cfg::rc_undershoot_pct
unsigned int rc_undershoot_pct
Rate control adaptation undershoot control.
Definition: vpx_encoder.h:503
VPX_CS_BT_2020
@ VPX_CS_BT_2020
Definition: vpx_image.h:60
VP9E_SET_SVC_PARAMETERS
@ VP9E_SET_SVC_PARAMETERS
Codec control function to set parameters for SVC.
Definition: vp8cx.h:461
vpx_svc_ref_frame_config::reference_alt_ref
int reference_alt_ref[5]
Definition: vp8cx.h:909
FULL_SUPERFRAME_DROP
@ FULL_SUPERFRAME_DROP
Definition: vp8cx.h:922
VPX_Q
@ VPX_Q
Definition: vpx_encoder.h:237
vpx_image::w
unsigned int w
Definition: vpx_image.h:78
VP8E_SET_TEMPORAL_LAYER_ID
@ VP8E_SET_TEMPORAL_LAYER_ID
Codec control function to set the temporal layer id.
Definition: vp8cx.h:321
vpx_codec_peek_stream_info
vpx_codec_err_t vpx_codec_peek_stream_info(vpx_codec_iface_t *iface, const uint8_t *data, unsigned int data_sz, vpx_codec_stream_info_t *si)
Parse stream info from a buffer.
VP8E_SET_ARNR_MAXFRAMES
@ VP8E_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition: vp8cx.h:234
vpx_codec_enc_cfg::kf_mode
enum vpx_kf_mode kf_mode
Keyframe placement mode.
Definition: vpx_encoder.h:598
vpx_codec_enc_cfg::ts_periodicity
unsigned int ts_periodicity
Length of the sequence defining frame temporal layer membership.
Definition: vpx_encoder.h:669