| Index: source/libvpx/vp9/encoder/vp9_mcomp.h
 | 
| ===================================================================
 | 
| --- source/libvpx/vp9/encoder/vp9_mcomp.h	(revision 263011)
 | 
| +++ source/libvpx/vp9/encoder/vp9_mcomp.h	(working copy)
 | 
| @@ -35,6 +35,17 @@
 | 
|  void vp9_set_mv_search_range(MACROBLOCK *x, const MV *mv);
 | 
|  int vp9_mv_bit_cost(const MV *mv, const MV *ref,
 | 
|                      const int *mvjcost, int *mvcost[2], int weight);
 | 
| +
 | 
| +// Utility to compute variance + MV rate cost for a given MV
 | 
| +int vp9_get_mvpred_var(const MACROBLOCK *x,
 | 
| +                       const MV *best_mv, const MV *center_mv,
 | 
| +                       const vp9_variance_fn_ptr_t *vfp,
 | 
| +                       int use_mvcost);
 | 
| +int vp9_get_mvpred_av_var(const MACROBLOCK *x,
 | 
| +                          const MV *best_mv, const MV *center_mv,
 | 
| +                          const uint8_t *second_pred,
 | 
| +                          const vp9_variance_fn_ptr_t *vfp,
 | 
| +                          int use_mvcost);
 | 
|  void vp9_init_dsmotion_compensation(MACROBLOCK *x, int stride);
 | 
|  void vp9_init3smotion_compensation(MACROBLOCK *x,  int stride);
 | 
|  
 | 
| @@ -42,48 +53,29 @@
 | 
|  int vp9_init_search_range(struct VP9_COMP *cpi, int size);
 | 
|  
 | 
|  // Runs sequence of diamond searches in smaller steps for RD
 | 
| -int vp9_full_pixel_diamond(struct VP9_COMP *cpi, MACROBLOCK *x,
 | 
| +int vp9_full_pixel_diamond(const struct VP9_COMP *cpi, MACROBLOCK *x,
 | 
|                             MV *mvp_full, int step_param,
 | 
|                             int sadpb, int further_steps, int do_refine,
 | 
|                             const vp9_variance_fn_ptr_t *fn_ptr,
 | 
|                             const MV *ref_mv, MV *dst_mv);
 | 
|  
 | 
| -int vp9_hex_search(const MACROBLOCK *x,
 | 
| -                   MV *ref_mv,
 | 
| -                   int search_param,
 | 
| -                   int error_per_bit,
 | 
| -                   int do_init_search,
 | 
| -                   const vp9_variance_fn_ptr_t *vf,
 | 
| -                   int use_mvcost,
 | 
| -                   const MV *center_mv,
 | 
| -                   MV *best_mv);
 | 
| -int vp9_bigdia_search(const MACROBLOCK *x,
 | 
| -                      MV *ref_mv,
 | 
| -                      int search_param,
 | 
| -                      int error_per_bit,
 | 
| -                      int do_init_search,
 | 
| -                      const vp9_variance_fn_ptr_t *vf,
 | 
| -                      int use_mvcost,
 | 
| -                      const MV *center_mv,
 | 
| -                      MV *best_mv);
 | 
| -int vp9_square_search(const MACROBLOCK *x,
 | 
| -                      MV *ref_mv,
 | 
| -                      int search_param,
 | 
| -                      int error_per_bit,
 | 
| -                      int do_init_search,
 | 
| -                      const vp9_variance_fn_ptr_t *vf,
 | 
| -                      int use_mvcost,
 | 
| -                      const MV *center_mv,
 | 
| -                      MV *best_mv);
 | 
| -int vp9_fast_hex_search(const MACROBLOCK *x,
 | 
| -                        MV *ref_mv,
 | 
| -                        int search_param,
 | 
| -                        int sad_per_bit,
 | 
| -                        const vp9_variance_fn_ptr_t *vfp,
 | 
| -                        int use_mvcost,
 | 
| -                        const MV *center_mv,
 | 
| -                        MV *best_mv);
 | 
| +typedef int (integer_mv_pattern_search_fn) (
 | 
| +    const MACROBLOCK *x,
 | 
| +    MV *ref_mv,
 | 
| +    int search_param,
 | 
| +    int error_per_bit,
 | 
| +    int do_init_search,
 | 
| +    const vp9_variance_fn_ptr_t *vf,
 | 
| +    int use_mvcost,
 | 
| +    const MV *center_mv,
 | 
| +    MV *best_mv);
 | 
|  
 | 
| +integer_mv_pattern_search_fn vp9_hex_search;
 | 
| +integer_mv_pattern_search_fn vp9_bigdia_search;
 | 
| +integer_mv_pattern_search_fn vp9_square_search;
 | 
| +integer_mv_pattern_search_fn vp9_fast_hex_search;
 | 
| +integer_mv_pattern_search_fn vp9_fast_dia_search;
 | 
| +
 | 
|  typedef int (fractional_mv_step_fp) (
 | 
|      const MACROBLOCK *x,
 | 
|      MV *bestmv, const MV *ref_mv,
 | 
| 
 |