#include <limits.h>
#include <math.h>
#include "av1/common/pred_common.h"
#include "av1/common/seg_common.h"
#include "av1/encoder/aq_cyclicrefresh.h"
#include "av1/encoder/encoder_utils.h"
#include "av1/encoder/ratectrl.h"
#include "av1/encoder/segmentation.h"
#include "av1/encoder/tokenize.h"
#include "aom_dsp/aom_dsp_common.h"
CYCLIC_REFRESH *av1_cyclic_refresh_alloc(int mi_rows, int mi_cols) { … }
void av1_cyclic_refresh_free(CYCLIC_REFRESH *cr) { … }
static int candidate_refresh_aq(const CYCLIC_REFRESH *cr,
const MB_MODE_INFO *mbmi, int64_t rate,
int64_t dist, BLOCK_SIZE bsize,
int noise_level) { … }
static int compute_deltaq(const AV1_COMP *cpi, int q, double rate_factor) { … }
int av1_cyclic_refresh_estimate_bits_at_q(const AV1_COMP *cpi,
double correction_factor) { … }
int av1_cyclic_refresh_rc_bits_per_mb(const AV1_COMP *cpi, int i,
double correction_factor) { … }
void av1_cyclic_reset_segment_skip(const AV1_COMP *cpi, MACROBLOCK *const x,
int mi_row, int mi_col, BLOCK_SIZE bsize,
RUN_TYPE dry_run) { … }
void av1_cyclic_refresh_update_segment(const AV1_COMP *cpi, MACROBLOCK *const x,
int mi_row, int mi_col, BLOCK_SIZE bsize,
int64_t rate, int64_t dist, int skip,
RUN_TYPE dry_run) { … }
void av1_init_cyclic_refresh_counters(MACROBLOCK *const x) { … }
void av1_accumulate_cyclic_refresh_counters(
CYCLIC_REFRESH *const cyclic_refresh, const MACROBLOCK *const x) { … }
void av1_cyclic_refresh_set_golden_update(AV1_COMP *const cpi) { … }
static void cyclic_refresh_update_map(AV1_COMP *const cpi) { … }
static int is_scene_change_detected(AV1_COMP *const cpi) { … }
void av1_cyclic_refresh_update_parameters(AV1_COMP *const cpi) { … }
static void cyclic_refresh_reset_resize(AV1_COMP *const cpi) { … }
void av1_cyclic_refresh_setup(AV1_COMP *const cpi) { … }
int av1_cyclic_refresh_get_rdmult(const CYCLIC_REFRESH *cr) { … }
int av1_cyclic_refresh_disable_lf_cdef(AV1_COMP *const cpi) { … }