#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <assert.h>
#include "math.h"
#include "vp8/common/common.h"
#include "ratectrl.h"
#include "vp8/common/entropymode.h"
#include "vpx_mem/vpx_mem.h"
#include "vp8/common/systemdependent.h"
#include "encodemv.h"
#include "vpx_dsp/vpx_dsp_common.h"
#include "vpx_ports/system_state.h"
#define MIN_BPB_FACTOR …
#define MAX_BPB_FACTOR …
extern const MB_PREDICTION_MODE vp8_mode_order[MAX_MODES];
#ifdef MODE_STATS
extern int y_modes[5];
extern int uv_modes[4];
extern int b_modes[10];
extern int inter_y_modes[10];
extern int inter_uv_modes[4];
extern int inter_b_modes[10];
#endif
#define BPER_MB_NORMBITS …
const int vp8_bits_per_mb[2][QINDEX_RANGE] = …;
static const int kf_boost_qadjustment[QINDEX_RANGE] = …;
#define GFQ_ADJUSTMENT …
const int vp8_gf_boost_qadjustment[QINDEX_RANGE] = …;
static const int kf_gf_boost_qlimits[QINDEX_RANGE] = …;
static const int gf_adjust_table[101] = …;
static const int gf_intra_usage_adjustment[20] = …;
static const int gf_interval_table[101] = …;
static const unsigned int prior_key_frame_weight[KEY_FRAME_CONTEXT] = …;
void vp8_save_coding_context(VP8_COMP *cpi) { … }
void vp8_restore_coding_context(VP8_COMP *cpi) { … }
void vp8_setup_key_frame(VP8_COMP *cpi) { … }
static int estimate_bits_at_q(int frame_kind, int Q, int MBs,
double correction_factor) { … }
static void calc_iframe_target_size(VP8_COMP *cpi) { … }
static void calc_gf_params(VP8_COMP *cpi) { … }
static void calc_pframe_target_size(VP8_COMP *cpi) { … }
void vp8_update_rate_correction_factors(VP8_COMP *cpi, int damp_var) { … }
static int limit_q_cbr_inter(int last_q, int current_q) { … }
int vp8_regulate_q(VP8_COMP *cpi, int target_bits_per_frame) { … }
static int estimate_keyframe_frequency(VP8_COMP *cpi) { … }
void vp8_adjust_key_frame_context(VP8_COMP *cpi) { … }
void vp8_compute_frame_size_bounds(VP8_COMP *cpi, int *frame_under_shoot_limit,
int *frame_over_shoot_limit) { … }
int vp8_pick_frame_size(VP8_COMP *cpi) { … }
int vp8_drop_encodedframe_overshoot(VP8_COMP *cpi, int Q) { … }