10 #ifndef VPX_VPX_VP8CX_H_
11 #define VPX_VPX_VP8CX_H_
20 #include "./vpx_ext_ratectrl.h"
59 #define VP8_EFLAG_NO_REF_LAST (1 << 16)
67 #define VP8_EFLAG_NO_REF_GF (1 << 17)
75 #define VP8_EFLAG_NO_REF_ARF (1 << 21)
82 #define VP8_EFLAG_NO_UPD_LAST (1 << 18)
89 #define VP8_EFLAG_NO_UPD_GF (1 << 22)
96 #define VP8_EFLAG_NO_UPD_ARF (1 << 23)
103 #define VP8_EFLAG_FORCE_GF (1 << 19)
110 #define VP8_EFLAG_FORCE_ARF (1 << 24)
117 #define VP8_EFLAG_NO_UPD_ENTROPY (1 << 20)
810 VP8_ONE_TOKENPARTITION = 0,
811 VP8_TWO_TOKENPARTITION = 1,
812 VP8_FOUR_TOKENPARTITION = 2,
813 VP8_EIGHT_TOKENPARTITION = 3
818 VP9E_CONTENT_DEFAULT,
915 #define VPX_CTRL_VP8E_SET_FRAME_FLAGS
917 #define VPX_CTRL_VP8E_SET_TEMPORAL_LAYER_ID
919 #define VPX_CTRL_VP8E_SET_ROI_MAP
921 #define VPX_CTRL_VP9E_SET_ROI_MAP
923 #define VPX_CTRL_VP8E_SET_ACTIVEMAP
925 #define VPX_CTRL_VP8E_SET_SCALEMODE
928 #define VPX_CTRL_VP9E_SET_SVC
930 #define VPX_CTRL_VP9E_SET_SVC_PARAMETERS
932 #define VPX_CTRL_VP9E_REGISTER_CX_CALLBACK
934 #define VPX_CTRL_VP9E_SET_SVC_LAYER_ID
937 #define VPX_CTRL_VP8E_SET_CPUUSED
939 #define VPX_CTRL_VP8E_SET_ENABLEAUTOALTREF
941 #define VPX_CTRL_VP8E_SET_NOISE_SENSITIVITY
943 #define VPX_CTRL_VP8E_SET_SHARPNESS
945 #define VPX_CTRL_VP8E_SET_STATIC_THRESHOLD
947 #define VPX_CTRL_VP8E_SET_TOKEN_PARTITIONS
950 #define VPX_CTRL_VP8E_SET_ARNR_MAXFRAMES
952 #define VPX_CTRL_VP8E_SET_ARNR_STRENGTH
954 #define VPX_CTRL_VP8E_SET_ARNR_TYPE
956 #define VPX_CTRL_VP8E_SET_TUNING
958 #define VPX_CTRL_VP8E_SET_CQ_LEVEL
961 #define VPX_CTRL_VP9E_SET_TILE_COLUMNS
963 #define VPX_CTRL_VP9E_SET_TILE_ROWS
966 #define VPX_CTRL_VP9E_SET_TPL
969 #define VPX_CTRL_VP8E_GET_LAST_QUANTIZER
971 #define VPX_CTRL_VP8E_GET_LAST_QUANTIZER_64
973 #define VPX_CTRL_VP9E_GET_SVC_LAYER_ID
976 #define VPX_CTRL_VP8E_SET_MAX_INTRA_BITRATE_PCT
978 #define VPX_CTRL_VP9E_SET_MAX_INTER_BITRATE_PCT
981 #define VPX_CTRL_VP8E_SET_GF_CBR_BOOST_PCT
984 #define VPX_CTRL_VP8E_SET_SCREEN_CONTENT_MODE
987 #define VPX_CTRL_VP9E_SET_GF_CBR_BOOST_PCT
990 #define VPX_CTRL_VP9E_SET_LOSSLESS
993 #define VPX_CTRL_VP9E_SET_FRAME_PARALLEL_DECODING
996 #define VPX_CTRL_VP9E_SET_AQ_MODE
999 #define VPX_CTRL_VP9E_SET_ALT_REF_AQ
1002 #define VPX_CTRL_VP9E_SET_FRAME_PERIODIC_BOOST
1005 #define VPX_CTRL_VP9E_SET_NOISE_SENSITIVITY
1008 #define VPX_CTRL_VP9E_SET_TUNE_CONTENT
1011 #define VPX_CTRL_VP9E_SET_COLOR_SPACE
1014 #define VPX_CTRL_VP9E_SET_MIN_GF_INTERVAL
1017 #define VPX_CTRL_VP9E_SET_MAX_GF_INTERVAL
1020 #define VPX_CTRL_VP9E_GET_ACTIVEMAP
1023 #define VPX_CTRL_VP9E_SET_COLOR_RANGE
1026 #define VPX_CTRL_VP9E_SET_SVC_REF_FRAME_CONFIG
1029 #define VPX_CTRL_VP9E_SET_RENDER_SIZE
1032 #define VPX_CTRL_VP9E_SET_TARGET_LEVEL
1035 #define VPX_CTRL_VP9E_SET_ROW_MT
1038 #define VPX_CTRL_VP9E_GET_LEVEL
1041 #define VPX_CTRL_VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST
1044 #define VPX_CTRL_VP9E_SET_SVC_INTER_LAYER_PRED
1047 #define VPX_CTRL_VP9E_SET_SVC_FRAME_DROP_LAYER
1050 #define VPX_CTRL_VP9E_GET_SVC_REF_FRAME_CONFIG
1053 #define VPX_CTRL_VP9E_SET_SVC_GF_TEMPORAL_REF
1057 #define VPX_CTRL_VP9E_SET_SVC_SPATIAL_LAYER_SYNC
1060 #define VPX_CTRL_VP9E_SET_POSTENCODE_DROP
1063 #define VPX_CTRL_VP9E_SET_DELTA_Q_UV
1066 #define VPX_CTRL_VP9E_SET_DISABLE_OVERSHOOT_MAXQ_CBR
1069 #define VPX_CTRL_VP9E_SET_DISABLE_LOOPFILTER
1072 #define VPX_CTRL_VP9E_SET_EXTERNAL_RATE_CONTROL
1080 #endif // VPX_VPX_VP8CX_H_
struct vpx_codec_iface vpx_codec_iface_t
Codec interface structure.
Definition: vpx_codec.h:177
unsigned char * roi_map
Definition: vp8cx.h:766
int base_layer_intra_only
Definition: vp8cx.h:903
Codec control function to disable increase Q on overshoot in CBR.
Definition: vp8cx.h:695
Codec control function to set encoder internal speed settings.
Definition: vp8cx.h:156
int reference_alt_ref[5]
Definition: vp8cx.h:864
struct vpx_active_map vpx_active_map_t
vpx active region map
Describes the encoder algorithm interface to applications.
unsigned int cols
Definition: vp8cx.h:789
vp8e_enc_control_id
VPx encoder control functions.
Definition: vp8cx.h:126
Codec control function to constrain the inter-layer prediction (prediction of lower spatial resolutio...
Definition: vp8cx.h:620
Codec control function to enable temporal dependency model.
Definition: vp8cx.h:669
int delta_q[8]
Definition: vp8cx.h:770
int lst_fb_idx[5]
Definition: vp8cx.h:854
Codec control function to set content type.
Definition: vp8cx.h:464
Codec control function to set noise sensitivity.
Definition: vp8cx.h:422
enum vpx_scaling_mode_1d VPX_SCALING_MODE
vpx 1-D scaling mode
unsigned int cols
Definition: vp8cx.h:768
SVC_LAYER_DROP_MODE framedrop_mode
Definition: vp8cx.h:892
Codec control function to get bitstream level.
Definition: vp8cx.h:577
Codec control function to set reference and update frame flags.
Definition: vp8cx.h:264
Codec control function to set encoder scaling mode.
Definition: vp8cx.h:143
VPX_SCALING_MODE v_scaling_mode
Definition: vp8cx.h:799
vp8e_token_partitions
VP8 token partition mode.
Definition: vp8cx.h:809
enum vp9e_temporal_layering_mode VP9E_TEMPORAL_LAYERING_MODE
Temporal layering mode enum for VP9 SVC.
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:131
int framedrop_thresh[5]
Definition: vp8cx.h:890
int reference_golden[5]
Definition: vp8cx.h:863
Codec control function to enable spatial layer sync frame, for any spatial layer. Enabling it for lay...
Definition: vp8cx.h:661
Codec control function to set visual tuning.
Definition: vp8cx.h:233
Codec control function to set constrained / constant quality level.
Definition: vp8cx.h:243
Callback function set for external rate control.
Definition: vpx_ext_ratectrl.h:329
int update_alt_ref[5]
Definition: vp8cx.h:861
Codec control function to set row level multi-threading.
Definition: vp8cx.h:571
Codec control function to disable loopfilter.
Definition: vp8cx.h:704
int spatial_layer_id
Definition: vp8cx.h:839
Codec control function to set Max data rate for Intra frames.
Definition: vp8cx.h:258
Codec control function to set parameters for SVC.
Definition: vp8cx.h:445
vp9 svc frame dropping parameters.
Definition: vp8cx.h:889
int temporal_layer_id_per_spatial[5]
Definition: vp8cx.h:842
Codec control function to set number of tile columns.
Definition: vp8cx.h:352
#define VPX_SS_MAX_LAYERS
Definition: vpx_encoder.h:47
#define VPX_CTRL_USE_TYPE(id, typ)
vpx_codec_control type definition macro
Definition: vpx_codec.h:422
Codec control function to set target level.
Definition: vp8cx.h:563
int reference_last[5]
Definition: vp8cx.h:862
unsigned int static_threshold[4]
Definition: vp8cx.h:776
int update_buffer_slot[5]
Definition: vp8cx.h:857
Codec control function to set adaptive quantization mode.
Definition: vp8cx.h:399
int skip[8]
Definition: vp8cx.h:773
Codec control function to set color space info.
Definition: vp8cx.h:495
Codec control function to get svc layer ID.
Definition: vp8cx.h:472
Codec control function to set delta q for uv.
Definition: vp8cx.h:687
int delta_lf[8]
Definition: vp8cx.h:771
Codec control function to set lossless encoding mode.
Definition: vp8cx.h:328
Codec control function to get last quantizer chosen by the encoder.
Definition: vp8cx.h:212
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:602
vp9 svc layer parameters
Definition: vp8cx.h:838
Codec control function to set the temporal layer id.
Definition: vp8cx.h:305
0-1-0-1... temporal layering scheme with two temporal layers.
Definition: vp8cx.h:748
Codec control function to enable postencode frame drop.
Definition: vp8cx.h:679
Codec control function to set the number of token partitions.
Definition: vp8cx.h:195
control function to set noise sensitivity
Definition: vp8cx.h:174
struct vpx_svc_frame_drop vpx_svc_frame_drop_t
vp9 svc frame dropping parameters.
int ref_frame[8]
Definition: vp8cx.h:774
struct vpx_svc_spatial_layer_sync vpx_svc_spatial_layer_sync_t
vp9 svc spatial layer sync parameters.
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:294
Codec control function to get the refresh and reference flags and the buffer indices, up to the last encoded spatial layer.
Definition: vp8cx.h:636
uint8_t enabled
Definition: vp8cx.h:763
Codec control function to set the frame flags and buffer indices for spatial layers. The frame flags and buffer indices are set using the struct vpx_svc_ref_frame_config defined below.
Definition: vp8cx.h:546
vp9e_temporal_layering_mode
Temporal layering mode enum for VP9 SVC.
Definition: vp8cx.h:734
Codec control function to set mode and thresholds for frame dropping in SVC. Drop frame thresholds ar...
Definition: vp8cx.h:629
Codec control function to set intended rendering image size.
Definition: vp8cx.h:554
struct vpx_svc_ref_frame_config vpx_svc_ref_frame_config_t
vp9 svc frame flag parameters.
0-2-1-2... temporal layering scheme with three temporal layers.
Definition: vp8cx.h:752
No temporal layering. Used when only spatial layering is used.
Definition: vp8cx.h:738
#define VPX_CTRL_USE_TYPE_DEPRECATED(id, typ)
vpx_codec_control deprecated type definition macro
Definition: vpx_codec.h:448
Codec control function to enable the extreme motion vector unit test in VP9. Please note that this is...
Definition: vp8cx.h:611
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:437
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: vp8cx.h:787
Codec control function to set encoder screen content mode.
Definition: vp8cx.h:313
Bypass mode. Used when application needs to control temporal layering. This will only work when the n...
Definition: vp8cx.h:744
unsigned int rows
Definition: vp8cx.h:788
Codec control function to set the max no of frames to create arf.
Definition: vp8cx.h:218
Codec control function to enable external rate control library.
Definition: vp8cx.h:714
int temporal_layer_id
Definition: vp8cx.h:841
struct vpx_scaling_mode vpx_scaling_mode_t
vpx image scaling mode
Codec control function to register callback to get per layer packet.
Definition: vp8cx.h:480
Codec control function to set the filter strength for the arf.
Definition: vp8cx.h:224
Codec control function to enable/disable periodic Q boost.
Definition: vp8cx.h:414
Codec control function to get an Active map back from the encoder.
Definition: vp8cx.h:529
vp9 svc spatial layer sync parameters.
Definition: vp8cx.h:901
Codec control function to enable/disable use of golden reference as a second temporal reference for S...
Definition: vp8cx.h:646
Provides controls common to both the VP8 encoder and decoder.
Codec control function to set color range bit.
Definition: vp8cx.h:538
struct vpx_svc_layer_id vpx_svc_layer_id_t
vp9 svc layer parameters
Codec control function to get last quantizer chosen by the encoder.
Definition: vp8cx.h:203
Codec control function to enable automatic use of arf frames.
Definition: vp8cx.h:165
int max_consec_drop
Definition: vp8cx.h:893
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:515
Codec control function to set temporal layering mode.
Definition: vp8cx.h:507
VPX_SCALING_MODE h_scaling_mode
Definition: vp8cx.h:798
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:523
int update_golden[5]
Definition: vp8cx.h:860
Codec control function to turn on/off SVC in encoder.
Definition: vp8cx.h:431
int spatial_layer_sync[5]
Definition: vp8cx.h:902
vpx active region map
Definition: vp8cx.h:785
struct vpx_roi_map vpx_roi_map_t
vpx region of interest map
unsigned int rows
Definition: vp8cx.h:767
Codec control function to enable frame parallel decoding feature.
Definition: vp8cx.h:386
Codec control function to set max data rate for Inter frames.
Definition: vp8cx.h:279
int update_last[5]
Definition: vp8cx.h:859
vp9 svc frame flag parameters.
Definition: vp8cx.h:853
Codec control function to set the threshold for MBs treated static.
Definition: vp8cx.h:189
int64_t duration[5]
Definition: vp8cx.h:865
vpx_scaling_mode_1d
vpx 1-D scaling mode
Definition: vp8cx.h:721
int alt_fb_idx[5]
Definition: vp8cx.h:856
Codec control function to set number of tile rows.
Definition: vp8cx.h:372
vp8e_tuning
VP8 model tuning parameters.
Definition: vp8cx.h:829
Codec control function to set higher sharpness at the expense of a lower PSNR.
Definition: vp8cx.h:183
vpx region of interest map
Definition: vp8cx.h:761
Codec control function to enable/disable special mode for altref adaptive quantization. You can use it with –aq-mode concurrently.
Definition: vp8cx.h:587
SVC_LAYER_DROP_MODE
VP9 svc frame dropping mode.
Definition: vp8cx.h:873
int gld_fb_idx[5]
Definition: vp8cx.h:855
vpx image scaling mode
Definition: vp8cx.h:797
Codec control function to set svc layer for spatial and temporal.
Definition: vp8cx.h:454
Codec control function to pass an Active map to encoder.
Definition: vp8cx.h:137
vp9e_tune_content
Definition: vp8cx.h:817