static double exhaustive_mesh_search_new(const MACROBLOCK *x, MV *best_mv,
int range, int step,
const vp9_variance_fn_ptr_t *fn_ptr,
- const MV *center_mv, double lambda,
+ const MV *center_mv, int lambda,
const int_mv *nb_full_mvs,
int full_mv_num) {
const MACROBLOCKD *const xd = &x->e_mbd;
static double full_pixel_exhaustive_new(const VP9_COMP *cpi, MACROBLOCK *x,
MV *centre_mv_full,
const vp9_variance_fn_ptr_t *fn_ptr,
- MV *dst_mv, double lambda,
+ MV *dst_mv, int lambda,
const int_mv *nb_full_mvs,
int full_mv_num) {
const SPEED_FEATURES *const sf = &cpi->sf;
return bestsme;
}
-static double diamond_search_sad_new(
- const MACROBLOCK *x, const search_site_config *cfg, const MV *init_full_mv,
- MV *best_full_mv, double *best_mv_dist, double *best_mv_cost,
- int search_param, double lambda, int *num00,
- const vp9_variance_fn_ptr_t *fn_ptr, const int_mv *nb_full_mvs,
- int full_mv_num) {
+static double diamond_search_sad_new(const MACROBLOCK *x,
+ const search_site_config *cfg,
+ const MV *init_full_mv, MV *best_full_mv,
+ double *best_mv_dist, double *best_mv_cost,
+ int search_param, int lambda, int *num00,
+ const vp9_variance_fn_ptr_t *fn_ptr,
+ const int_mv *nb_full_mvs,
+ int full_mv_num) {
int i, j, step;
const MACROBLOCKD *const xd = &x->e_mbd;
point as the best match, we will do a final 1-away diamond
refining search */
double vp9_full_pixel_diamond_new(const VP9_COMP *cpi, MACROBLOCK *x,
- MV *mvp_full, int step_param, double lambda,
+ MV *mvp_full, int step_param, int lambda,
int do_refine,
const vp9_variance_fn_ptr_t *fn_ptr,
const int_mv *nb_full_mvs, int full_mv_num,
#if CONFIG_NON_GREEDY_MV
double vp9_refining_search_sad_new(const MACROBLOCK *x, MV *best_full_mv,
double *best_mv_dist, double *best_mv_cost,
- double lambda, int search_range,
+ int lambda, int search_range,
const vp9_variance_fn_ptr_t *fn_ptr,
const int_mv *nb_full_mvs, int full_mv_num) {
const MACROBLOCKD *const xd = &x->e_mbd;
struct TplDepStats;
double vp9_refining_search_sad_new(const MACROBLOCK *x, MV *best_full_mv,
double *best_mv_dist, double *best_mv_cost,
- double lambda, int search_range,
+ int lambda, int search_range,
const vp9_variance_fn_ptr_t *fn_ptr,
const int_mv *nb_full_mvs, int full_mv_num);
double vp9_full_pixel_diamond_new(const struct VP9_COMP *cpi, MACROBLOCK *x,
- MV *mvp_full, int step_param, double lambda,
+ MV *mvp_full, int step_param, int lambda,
int do_refine,
const vp9_variance_fn_ptr_t *fn_ptr,
const int_mv *nb_full_mvs, int full_mv_num,
#if CONFIG_NON_GREEDY_MV
double mv_dist = 0;
double mv_cost = 0;
- double lambda = (pw * ph) / 4;
double bestsme;
int_mv nb_full_mvs[NB_MVS_NUM];
const int nb_full_mv_num = NB_MVS_NUM;
int gf_group_idx = cpi->twopass.gf_group.index;
int gf_rf_idx = ref_frame_to_gf_rf_idx(ref);
BLOCK_SIZE square_bsize = get_square_block_size(bsize);
+ const int lambda = (pw * ph) / 4;
+ assert(pw * ph == lambda << 2);
vp9_prepare_nb_full_mvs(&cpi->tpl_stats[gf_group_idx], mi_row, mi_col,
gf_rf_idx, square_bsize, nb_full_mvs);
#else // CONFIG_NON_GREEDY_MV