10#ifndef VPX_VPX_VP8CX_H_ 
   11#define VPX_VPX_VP8CX_H_ 
   20#include "./vpx_ext_ratectrl.h" 
   75#define VP8_EFLAG_NO_REF_LAST (1 << 16) 
   83#define VP8_EFLAG_NO_REF_GF (1 << 17) 
   91#define VP8_EFLAG_NO_REF_ARF (1 << 21) 
   98#define VP8_EFLAG_NO_UPD_LAST (1 << 18) 
  105#define VP8_EFLAG_NO_UPD_GF (1 << 22) 
  112#define VP8_EFLAG_NO_UPD_ARF (1 << 23) 
  119#define VP8_EFLAG_FORCE_GF (1 << 19) 
  126#define VP8_EFLAG_FORCE_ARF (1 << 24) 
  133#define VP8_EFLAG_NO_UPD_ENTROPY (1 << 20) 
  865  VP8_ONE_TOKENPARTITION = 0,
 
  866  VP8_TWO_TOKENPARTITION = 1,
 
  867  VP8_FOUR_TOKENPARTITION = 2,
 
  868  VP8_EIGHT_TOKENPARTITION = 3
 
  873  VP9E_CONTENT_DEFAULT,
 
  970#define VPX_CTRL_VP8E_SET_ROI_MAP 
  972#define VPX_CTRL_VP8E_SET_ACTIVEMAP 
  974#define VPX_CTRL_VP8E_SET_SCALEMODE 
  976#define VPX_CTRL_VP8E_SET_CPUUSED 
  978#define VPX_CTRL_VP8E_SET_ENABLEAUTOALTREF 
  980#define VPX_CTRL_VP8E_SET_NOISE_SENSITIVITY 
  982#define VPX_CTRL_VP8E_SET_SHARPNESS 
  984#define VPX_CTRL_VP8E_SET_STATIC_THRESHOLD 
  986#define VPX_CTRL_VP8E_SET_TOKEN_PARTITIONS 
  988#define VPX_CTRL_VP8E_GET_LAST_QUANTIZER 
  990#define VPX_CTRL_VP8E_GET_LAST_QUANTIZER_64 
  992#define VPX_CTRL_VP8E_SET_ARNR_MAXFRAMES 
  994#define VPX_CTRL_VP8E_SET_ARNR_STRENGTH 
  996#define VPX_CTRL_VP8E_SET_ARNR_TYPE 
  998#define VPX_CTRL_VP8E_SET_TUNING 
 1000#define VPX_CTRL_VP8E_SET_CQ_LEVEL 
 1002#define VPX_CTRL_VP8E_SET_MAX_INTRA_BITRATE_PCT 
 1004#define VPX_CTRL_VP8E_SET_FRAME_FLAGS 
 1006#define VPX_CTRL_VP9E_SET_MAX_INTER_BITRATE_PCT 
 1008#define VPX_CTRL_VP9E_SET_GF_CBR_BOOST_PCT 
 1010#define VPX_CTRL_VP8E_SET_TEMPORAL_LAYER_ID 
 1012#define VPX_CTRL_VP8E_SET_SCREEN_CONTENT_MODE 
 1014#define VPX_CTRL_VP9E_SET_LOSSLESS 
 1016#define VPX_CTRL_VP9E_SET_TILE_COLUMNS 
 1018#define VPX_CTRL_VP9E_SET_TILE_ROWS 
 1020#define VPX_CTRL_VP9E_SET_FRAME_PARALLEL_DECODING 
 1022#define VPX_CTRL_VP9E_SET_AQ_MODE 
 1024#define VPX_CTRL_VP9E_SET_FRAME_PERIODIC_BOOST 
 1026#define VPX_CTRL_VP9E_SET_NOISE_SENSITIVITY 
 1028#define VPX_CTRL_VP9E_SET_SVC 
 1030#define VPX_CTRL_VP9E_SET_ROI_MAP 
 1032#define VPX_CTRL_VP9E_SET_SVC_PARAMETERS 
 1034#define VPX_CTRL_VP9E_SET_SVC_LAYER_ID 
 1036#define VPX_CTRL_VP9E_SET_TUNE_CONTENT 
 1038#define VPX_CTRL_VP9E_GET_SVC_LAYER_ID 
 1040#define VPX_CTRL_VP9E_REGISTER_CX_CALLBACK 
 1042#define VPX_CTRL_VP9E_SET_COLOR_SPACE 
 1044#define VPX_CTRL_VP9E_SET_MIN_GF_INTERVAL 
 1046#define VPX_CTRL_VP9E_SET_MAX_GF_INTERVAL 
 1048#define VPX_CTRL_VP9E_GET_ACTIVEMAP 
 1050#define VPX_CTRL_VP9E_SET_COLOR_RANGE 
 1052#define VPX_CTRL_VP9E_SET_SVC_REF_FRAME_CONFIG 
 1054#define VPX_CTRL_VP9E_SET_RENDER_SIZE 
 1056#define VPX_CTRL_VP9E_SET_TARGET_LEVEL 
 1058#define VPX_CTRL_VP9E_SET_ROW_MT 
 1060#define VPX_CTRL_VP9E_GET_LEVEL 
 1062#define VPX_CTRL_VP9E_SET_ALT_REF_AQ 
 1064#define VPX_CTRL_VP8E_SET_GF_CBR_BOOST_PCT 
 1066#define VPX_CTRL_VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST 
 1068#define VPX_CTRL_VP9E_SET_SVC_INTER_LAYER_PRED 
 1070#define VPX_CTRL_VP9E_SET_SVC_FRAME_DROP_LAYER 
 1072#define VPX_CTRL_VP9E_GET_SVC_REF_FRAME_CONFIG 
 1074#define VPX_CTRL_VP9E_SET_SVC_GF_TEMPORAL_REF 
 1077#define VPX_CTRL_VP9E_SET_SVC_SPATIAL_LAYER_SYNC 
 1079#define VPX_CTRL_VP9E_SET_TPL 
 1081#define VPX_CTRL_VP9E_SET_POSTENCODE_DROP 
 1083#define VPX_CTRL_VP9E_SET_DELTA_Q_UV 
 1085#define VPX_CTRL_VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR 
 1087#define VPX_CTRL_VP9E_SET_DISABLE_LOOPFILTER 
 1089#define VPX_CTRL_VP9E_SET_EXTERNAL_RATE_CONTROL 
 1091#define VPX_CTRL_VP9E_SET_RTC_EXTERNAL_RATECTRL 
 1093#define VPX_CTRL_VP9E_GET_LOOPFILTER_LEVEL 
 1095#define VPX_CTRL_VP9E_GET_LAST_QUANTIZER_SVC_LAYERS 
 1097#define VPX_CTRL_VP8E_SET_RTC_EXTERNAL_RATECTRL 
 1099#define VPX_CTRL_VP9E_SET_QUANTIZER_ONE_PASS 
#define VPX_CTRL_USE_TYPE_DEPRECATED(id, typ)
vpx_codec_control deprecated type definition macro
Definition vpx_codec.h:448
#define VPX_CTRL_USE_TYPE(id, typ)
vpx_codec_control type definition macro
Definition vpx_codec.h:422
const struct vpx_codec_iface vpx_codec_iface_t
Codec interface structure.
Definition vpx_codec.h:177
#define VPX_SS_MAX_LAYERS
Definition vpx_encoder.h:47
struct vpx_active_map vpx_active_map_t
vpx active region map
vpx_codec_iface_t * vpx_codec_vp9_cx(void)
The interface to the VP9 encoder.
struct vpx_svc_layer_id vpx_svc_layer_id_t
vp9 svc layer parameters
vpx_codec_iface_t vpx_codec_vp9_cx_algo
A single instance of the VP9 encoder.
SVC_LAYER_DROP_MODE
VP9 svc frame dropping mode.
Definition vp8cx.h:928
vp8e_tuning
VP8 model tuning parameters.
Definition vp8cx.h:884
enum vp9e_temporal_layering_mode VP9E_TEMPORAL_LAYERING_MODE
Temporal layering mode enum for VP9 SVC.
struct vpx_scaling_mode vpx_scaling_mode_t
vpx image scaling mode
vp8e_token_partitions
VP8 token partition mode.
Definition vp8cx.h:864
vpx_codec_iface_t vpx_codec_vp8_cx_algo
A single instance of the VP8 encoder.
vp8e_enc_control_id
VPx encoder control functions.
Definition vp8cx.h:142
vpx_codec_iface_t * vpx_codec_vp8_cx(void)
The interface to the VP8 encoder.
vpx_scaling_mode_1d
vpx 1-D scaling mode
Definition vp8cx.h:776
vp9e_tune_content
Definition vp8cx.h:872
struct vpx_roi_map vpx_roi_map_t
vpx region of interest map
struct vpx_svc_ref_frame_config vpx_svc_ref_frame_config_t
vp9 svc frame flag parameters.
vp9e_temporal_layering_mode
Temporal layering mode enum for VP9 SVC.
Definition vp8cx.h:789
struct vpx_svc_frame_drop vpx_svc_frame_drop_t
vp9 svc frame dropping parameters.
enum vpx_scaling_mode_1d VPX_SCALING_MODE
vpx 1-D scaling mode
struct vpx_svc_spatial_layer_sync vpx_svc_spatial_layer_sync_t
vp9 svc spatial layer sync parameters.
@ CONSTRAINED_FROM_ABOVE_DROP
Definition vp8cx.h:933
@ FULL_SUPERFRAME_DROP
Definition vp8cx.h:932
@ CONSTRAINED_LAYER_DROP
Definition vp8cx.h:929
@ LAYER_DROP
Definition vp8cx.h:931
@ VP9E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition vp8cx.h:519
@ VP9E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition vp8cx.h:295
@ VP9E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition vp8cx.h:430
@ VP9E_SET_SVC_LAYER_ID
Codec control function to set svc layer for spatial and temporal.
Definition vp8cx.h:470
@ VP8E_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition vp8cx.h:274
@ VP8E_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition vp8cx.h:240
@ VP8E_SET_TUNING
Codec control function to set visual tuning.
Definition vp8cx.h:249
@ VP9E_SET_SVC_INTER_LAYER_PRED
Codec control function to constrain the inter-layer prediction (prediction of lower spatial resolutio...
Definition vp8cx.h:624
@ VP9E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition vp8cx.h:453
@ VP9E_GET_LOOPFILTER_LEVEL
Codec control function to get loopfilter level in the encoder.
Definition vp8cx.h:738
@ VP8E_SET_ENABLEAUTOALTREF
Codec control function to enable automatic use of arf frames.
Definition vp8cx.h:181
@ VP8E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition vp8cx.h:147
@ VP8E_SET_RTC_EXTERNAL_RATECTRL
Codec control to disable internal features in rate control.
Definition vp8cx.h:759
@ VP9E_SET_TARGET_LEVEL
Codec control function to set target level.
Definition vp8cx.h:567
@ VP9E_GET_LEVEL
Codec control function to get bitstream level.
Definition vp8cx.h:581
@ VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test in VP9. Please note that this is...
Definition vp8cx.h:615
@ VP9E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition vp8cx.h:415
@ VP9E_GET_SVC_REF_FRAME_CONFIG
Codec control function to get the refresh and reference flags and the buffer indices,...
Definition vp8cx.h:640
@ VP9E_SET_SVC_GF_TEMPORAL_REF
Codec control function to enable/disable use of golden reference as a second temporal reference for S...
Definition vp8cx.h:650
@ VP8E_SET_NOISE_SENSITIVITY
control function to set noise sensitivity
Definition vp8cx.h:190
@ VP8E_SET_TOKEN_PARTITIONS
Codec control function to set the number of token partitions.
Definition vp8cx.h:211
@ VP9E_SET_POSTENCODE_DROP
Codec control function to enable postencode frame drop.
Definition vp8cx.h:683
@ VP9E_REGISTER_CX_CALLBACK
Codec control function to register callback to get per layer packet.
Definition vp8cx.h:496
@ VP8E_SET_ARNR_TYPE
Definition vp8cx.h:243
@ VP9E_SET_COLOR_RANGE
Codec control function to set color range bit.
Definition vp8cx.h:542
@ VP8E_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder.
Definition vp8cx.h:219
@ VP9E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition vp8cx.h:388
@ VP8E_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition vp8cx.h:234
@ VP8E_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition vp8cx.h:153
@ VP9E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition vp8cx.h:344
@ VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR
Codec control function to disable increase Q on overshoot in CBR.
Definition vp8cx.h:699
@ VP9E_SET_SVC_SPATIAL_LAYER_SYNC
Codec control function to enable spatial layer sync frame, for any spatial layer. Enabling it for lay...
Definition vp8cx.h:665
@ VP9E_SET_SVC_PARAMETERS
Codec control function to set parameters for SVC.
Definition vp8cx.h:461
@ VP8E_SET_SCALEMODE
Codec control function to set encoder scaling mode.
Definition vp8cx.h:159
@ VP9E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition vp8cx.h:402
@ VP8E_SET_SHARPNESS
Codec control function to set higher sharpness at the expense of a lower PSNR.
Definition vp8cx.h:199
@ VP8E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition vp8cx.h:606
@ VP9E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition vp8cx.h:480
@ VP9E_SET_SVC
Codec control function to turn on/off SVC in encoder.
Definition vp8cx.h:447
@ VP9E_SET_TPL
Codec control function to enable temporal dependency model.
Definition vp8cx.h:673
@ VP9E_SET_ROW_MT
Codec control function to set row level multi-threading.
Definition vp8cx.h:575
@ VP8E_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition vp8cx.h:172
@ VP8E_SET_TEMPORAL_LAYER_ID
Codec control function to set the temporal layer id.
Definition vp8cx.h:321
@ VP9E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition vp8cx.h:368
@ 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
@ VP9E_SET_SVC_REF_FRAME_CONFIG
Codec control function to set the frame flags and buffer indices for spatial layers....
Definition vp8cx.h:550
@ VP8E_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition vp8cx.h:205
@ VP9E_SET_COLOR_SPACE
Codec control function to set color space info.
Definition vp8cx.h:511
@ VP9E_GET_LAST_QUANTIZER_SVC_LAYERS
Codec control to get last quantizers for all spatial layers.
Definition vp8cx.h:748
@ VP9E_SET_RENDER_SIZE
Codec control function to set intended rendering image size.
Definition vp8cx.h:558
@ VP8E_SET_SCREEN_CONTENT_MODE
Codec control function to set encoder screen content mode.
Definition vp8cx.h:329
@ VP9E_SET_DISABLE_LOOPFILTER
Codec control function to disable loopfilter.
Definition vp8cx.h:708
@ VP8E_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level.
Definition vp8cx.h:259
@ VP9E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition vp8cx.h:438
@ VP8E_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition vp8cx.h:228
@ VP9E_SET_QUANTIZER_ONE_PASS
Codec control to set quantizer for the next frame.
Definition vp8cx.h:769
@ VP8E_SET_FRAME_FLAGS
Codec control function to set reference and update frame flags.
Definition vp8cx.h:280
@ VP9E_GET_ACTIVEMAP
Codec control function to get an Active map back from the encoder.
Definition vp8cx.h:533
@ VP9E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition vp8cx.h:310
@ VP9E_SET_RTC_EXTERNAL_RATECTRL
Codec control to disable internal features in rate control.
Definition vp8cx.h:732
@ VP9E_GET_SVC_LAYER_ID
Codec control function to get svc layer ID.
Definition vp8cx.h:488
@ VP9E_SET_EXTERNAL_RATE_CONTROL
Codec control function to enable external rate control library.
Definition vp8cx.h:718
@ VP9E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition vp8cx.h:527
@ VP9E_SET_ALT_REF_AQ
Codec control function to enable/disable special mode for altref adaptive quantization....
Definition vp8cx.h:591
@ VP9E_SET_DELTA_Q_UV
Codec control function to set delta q for uv.
Definition vp8cx.h:691
@ 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:799
@ VP9E_TEMPORAL_LAYERING_MODE_0101
0-1-0-1... temporal layering scheme with two temporal layers.
Definition vp8cx.h:803
@ VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING
No temporal layering. Used when only spatial layering is used.
Definition vp8cx.h:793
@ VP9E_TEMPORAL_LAYERING_MODE_0212
0-2-1-2... temporal layering scheme with three temporal layers.
Definition vp8cx.h:807
vpx active region map
Definition vp8cx.h:840
unsigned int rows
Definition vp8cx.h:843
unsigned int cols
Definition vp8cx.h:844
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition vp8cx.h:842
Callback function set for external rate control.
Definition vpx_ext_ratectrl.h:477
vpx region of interest map
Definition vp8cx.h:816
uint8_t enabled
Definition vp8cx.h:818
int skip[8]
Definition vp8cx.h:828
unsigned int static_threshold[4]
Definition vp8cx.h:831
unsigned int rows
Definition vp8cx.h:822
unsigned int cols
Definition vp8cx.h:823
int ref_frame[8]
Definition vp8cx.h:829
int delta_q[8]
Definition vp8cx.h:825
unsigned char * roi_map
Definition vp8cx.h:821
int delta_lf[8]
Definition vp8cx.h:826
vpx image scaling mode
Definition vp8cx.h:852
VPX_SCALING_MODE v_scaling_mode
Definition vp8cx.h:854
VPX_SCALING_MODE h_scaling_mode
Definition vp8cx.h:853
vp9 svc frame dropping parameters.
Definition vp8cx.h:944
int framedrop_thresh[5]
Definition vp8cx.h:945
SVC_LAYER_DROP_MODE framedrop_mode
Definition vp8cx.h:947
int max_consec_drop
Definition vp8cx.h:948
vp9 svc layer parameters
Definition vp8cx.h:893
int temporal_layer_id
Definition vp8cx.h:896
int temporal_layer_id_per_spatial[5]
Definition vp8cx.h:897
int spatial_layer_id
Definition vp8cx.h:894
vp9 svc frame flag parameters.
Definition vp8cx.h:908
int lst_fb_idx[5]
Definition vp8cx.h:909
int update_alt_ref[5]
Definition vp8cx.h:916
int update_buffer_slot[5]
Definition vp8cx.h:912
int gld_fb_idx[5]
Definition vp8cx.h:910
int reference_last[5]
Definition vp8cx.h:917
int reference_golden[5]
Definition vp8cx.h:918
int update_last[5]
Definition vp8cx.h:914
int reference_alt_ref[5]
Definition vp8cx.h:919
int64_t duration[5]
Definition vp8cx.h:920
int alt_fb_idx[5]
Definition vp8cx.h:911
int update_golden[5]
Definition vp8cx.h:915
vp9 svc spatial layer sync parameters.
Definition vp8cx.h:956
int spatial_layer_sync[5]
Definition vp8cx.h:957
int base_layer_intra_only
Definition vp8cx.h:958
Provides controls common to both the VP8 encoder and decoder.
Describes the encoder algorithm interface to applications.