11 #ifndef VPX_VPX_VPX_EXT_RATECTRL_H_
12 #define VPX_VPX_VPX_EXT_RATECTRL_H_
18 #include "./vpx_integer.h"
28 #define VPX_EXT_RATECTRL_ABI_VERSION (6)
42 typedef enum vpx_rc_type {
45 VPX_RC_RDMULT = 1 << 2,
46 VPX_RC_GOP_QP = VPX_RC_QP | VPX_RC_GOP,
47 VPX_RC_GOP_QP_RDMULT = VPX_RC_QP | VPX_RC_GOP | VPX_RC_RDMULT
55 typedef void *vpx_rc_model_t;
62 #define VPX_DEFAULT_Q -1
69 #define VPX_DEFAULT_RDMULT -1
140 typedef enum vpx_rc_status {
392 typedef vpx_rc_status_t (*vpx_rc_create_model_cb_fn_t)(
394 vpx_rc_model_t *rate_ctrl_model_pt);
405 typedef vpx_rc_status_t (*vpx_rc_send_firstpass_stats_cb_fn_t)(
406 vpx_rc_model_t rate_ctrl_model,
418 typedef vpx_rc_status_t (*vpx_rc_get_encodeframe_decision_cb_fn_t)(
419 vpx_rc_model_t rate_ctrl_model,
431 typedef vpx_rc_status_t (*vpx_rc_update_encodeframe_result_cb_fn_t)(
432 vpx_rc_model_t rate_ctrl_model,
444 typedef vpx_rc_status_t (*vpx_rc_get_gop_decision_cb_fn_t)(
457 typedef vpx_rc_status_t (*vpx_rc_get_frame_rdmult_cb_fn_t)(
468 typedef vpx_rc_status_t (*vpx_rc_delete_model_cb_fn_t)(
469 vpx_rc_model_t rate_ctrl_model);
520 #endif // VPX_VPX_VPX_EXT_RATECTRL_H_
int lag_in_frames
Definition: vpx_ext_ratectrl.h:358
double weight
Definition: vpx_ext_ratectrl.h:160
vpx_rc_send_firstpass_stats_cb_fn_t send_firstpass_stats
Definition: vpx_ext_ratectrl.h:489
Frame coding result.
Definition: vpx_ext_ratectrl.h:131
double MVr
Definition: vpx_ext_ratectrl.h:238
int show_frame_count
Definition: vpx_ext_ratectrl.h:296
int active_max_gf_interval
Definition: vpx_ext_ratectrl.h:330
int frame_rate_den
Definition: vpx_ext_ratectrl.h:302
double pcnt_intra_low
Definition: vpx_ext_ratectrl.h:203
int min_gf_interval
Definition: vpx_ext_ratectrl.h:316
double pcnt_second_ref
Definition: vpx_ext_ratectrl.h:190
double frame
Definition: vpx_ext_ratectrl.h:154
double intra_smooth_pct
Definition: vpx_ext_ratectrl.h:226
vpx_rc_frame_stats_t * frame_stats
Definition: vpx_ext_ratectrl.h:284
double MVrv
Definition: vpx_ext_ratectrl.h:254
int last_gop_use_alt_ref
Definition: vpx_ext_ratectrl.h:344
int actual_encoding_qindex
Definition: vpx_ext_ratectrl.h:135
double MVcv
Definition: vpx_ext_ratectrl.h:258
double mvr_abs
Definition: vpx_ext_ratectrl.h:242
int frames_to_key
Definition: vpx_ext_ratectrl.h:354
vpx_rc_delete_model_cb_fn_t delete_model
Definition: vpx_ext_ratectrl.h:509
int ref_frame_valid_list[3]
Definition: vpx_ext_ratectrl.h:115
int frames_since_key
Definition: vpx_ext_ratectrl.h:349
int frame_height
Definition: vpx_ext_ratectrl.h:295
double intra_error
Definition: vpx_ext_ratectrl.h:164
int frame_rate_num
Definition: vpx_ext_ratectrl.h:301
int gop_index
Definition: vpx_ext_ratectrl.h:108
int coding_index
Definition: vpx_ext_ratectrl.h:104
int64_t pixel_count
Definition: vpx_ext_ratectrl.h:134
Callback function set for external rate control.
Definition: vpx_ext_ratectrl.h:477
int64_t bit_count
Definition: vpx_ext_ratectrl.h:133
int show_index
Definition: vpx_ext_ratectrl.h:363
The decision made by the external rate control model to set the group of picture.
Definition: vpx_ext_ratectrl.h:378
double pcnt_inter
Definition: vpx_ext_ratectrl.h:180
vpx_rc_create_model_cb_fn_t create_model
Definition: vpx_ext_ratectrl.h:485
Encode frame decision made by the external rate control model.
Definition: vpx_ext_ratectrl.h:83
int max_gf_interval
Definition: vpx_ext_ratectrl.h:320
double pcnt_motion
Definition: vpx_ext_ratectrl.h:184
double frame_noise_energy
Definition: vpx_ext_ratectrl.h:176
int max_frame_size
Definition: vpx_ext_ratectrl.h:85
double mv_in_out_count
Definition: vpx_ext_ratectrl.h:264
int q_index
Definition: vpx_ext_ratectrl.h:84
vpx_rc_type_t rc_type
Definition: vpx_ext_ratectrl.h:481
int num_frames
Definition: vpx_ext_ratectrl.h:288
int use_alt_ref
Definition: vpx_ext_ratectrl.h:123
int frame_type
Definition: vpx_ext_ratectrl.h:102
double sr_coded_error
Definition: vpx_ext_ratectrl.h:172
int gop_global_index
Definition: vpx_ext_ratectrl.h:372
int gop_coding_frames
Definition: vpx_ext_ratectrl.h:379
double pcnt_neutral
Definition: vpx_ext_ratectrl.h:195
int allow_alt_ref
Definition: vpx_ext_ratectrl.h:336
vpx_rc_get_frame_rdmult_cb_fn_t get_frame_rdmult
Definition: vpx_ext_ratectrl.h:505
Information for the frame to be encoded.
Definition: vpx_ext_ratectrl.h:94
int coding_index
Definition: vpx_ext_ratectrl.h:367
Collection of first pass frame stats.
Definition: vpx_ext_ratectrl.h:278
double count
Definition: vpx_ext_ratectrl.h:273
double intra_skip_pct
Definition: vpx_ext_ratectrl.h:219
int64_t sse
Definition: vpx_ext_ratectrl.h:132
Information passed to the external rate control model to help make GOP decisions.
Definition: vpx_ext_ratectrl.h:308
Encode config sent to external rate control model.
Definition: vpx_ext_ratectrl.h:293
void * priv
Definition: vpx_ext_ratectrl.h:513
int target_bitrate_kbps
Definition: vpx_ext_ratectrl.h:300
double duration
Definition: vpx_ext_ratectrl.h:268
double pcnt_intra_high
Definition: vpx_ext_ratectrl.h:211
int frame_width
Definition: vpx_ext_ratectrl.h:294
int ref_frame_coding_indexes[3]
Definition: vpx_ext_ratectrl.h:109
int active_min_gf_interval
Definition: vpx_ext_ratectrl.h:325
int use_alt_ref
Definition: vpx_ext_ratectrl.h:380
double mvc_abs
Definition: vpx_ext_ratectrl.h:250
double MVc
Definition: vpx_ext_ratectrl.h:246
int show_index
Definition: vpx_ext_ratectrl.h:103
First pass frame stats This is a mirror of vp9's FIRSTPASS_STATS except that spatial_layer_id is omit...
Definition: vpx_ext_ratectrl.h:149
double inactive_zone_rows
Definition: vpx_ext_ratectrl.h:230
vpx_rc_update_encodeframe_result_cb_fn_t update_encodeframe_result
Definition: vpx_ext_ratectrl.h:497
int gop_size
Definition: vpx_ext_ratectrl.h:119
double coded_error
Definition: vpx_ext_ratectrl.h:168
double inactive_zone_cols
Definition: vpx_ext_ratectrl.h:234
int is_key_frame
Definition: vpx_ext_ratectrl.h:340
vpx_rc_get_encodeframe_decision_cb_fn_t get_encodeframe_decision
Definition: vpx_ext_ratectrl.h:493
vpx_rc_get_gop_decision_cb_fn_t get_gop_decision
Definition: vpx_ext_ratectrl.h:501