| Index: source/libvpx/vp8/encoder/mcomp.h | 
| =================================================================== | 
| --- source/libvpx/vp8/encoder/mcomp.h	(revision 96967) | 
| +++ source/libvpx/vp8/encoder/mcomp.h	(working copy) | 
| @@ -22,11 +22,11 @@ | 
|  | 
|  | 
| #define MAX_MVSEARCH_STEPS 8                                    // The maximum number of steps in a step search given the largest allowed initial step | 
| -#define MAX_FULL_PEL_VAL ((1 << (MAX_MVSEARCH_STEPS+3)) - 8)    // Max full pel mv specified in 1/8 pel units | 
| +#define MAX_FULL_PEL_VAL ((1 << (MAX_MVSEARCH_STEPS)) - 1)      // Max full pel mv specified in 1 pel units | 
| #define MAX_FIRST_STEP (1 << (MAX_MVSEARCH_STEPS-1))            // Maximum size of the first step in full pel units | 
|  | 
| extern void print_mode_context(void); | 
| -extern int vp8_mv_bit_cost(MV *mv, MV *ref, int *mvcost[2], int Weight); | 
| +extern int vp8_mv_bit_cost(int_mv *mv, int_mv *ref, int *mvcost[2], int Weight); | 
| extern void vp8_init_dsmotion_compensation(MACROBLOCK *x, int stride); | 
| extern void vp8_init3smotion_compensation(MACROBLOCK *x,  int stride); | 
|  | 
| @@ -36,20 +36,20 @@ | 
| MACROBLOCK *x, | 
| BLOCK *b, | 
| BLOCKD *d, | 
| -    MV *ref_mv, | 
| -    MV *best_mv, | 
| +    int_mv *ref_mv, | 
| +    int_mv *best_mv, | 
| int search_param, | 
| int error_per_bit, | 
| -    int *num00, | 
| const vp8_variance_fn_ptr_t *vf, | 
| int *mvsadcost[2], | 
| int *mvcost[2], | 
| -    MV *center_mv | 
| +    int_mv *center_mv | 
| ); | 
|  | 
| typedef int (fractional_mv_step_fp) | 
| -    (MACROBLOCK *x, BLOCK *b, BLOCKD *d, MV *bestmv, MV *ref_mv, | 
| -     int error_per_bit, const vp8_variance_fn_ptr_t *vfp, int *mvcost[2]); | 
| +    (MACROBLOCK *x, BLOCK *b, BLOCKD *d, int_mv *bestmv, int_mv *ref_mv, | 
| +     int error_per_bit, const vp8_variance_fn_ptr_t *vfp, int *mvcost[2], | 
| +     int *distortion, unsigned int *sse); | 
| extern fractional_mv_step_fp vp8_find_best_sub_pixel_step_iteratively; | 
| extern fractional_mv_step_fp vp8_find_best_sub_pixel_step; | 
| extern fractional_mv_step_fp vp8_find_best_half_pixel_step; | 
| @@ -61,30 +61,42 @@ | 
| MACROBLOCK *x, \ | 
| BLOCK *b, \ | 
| BLOCKD *d, \ | 
| -     MV *ref_mv, \ | 
| -     int error_per_bit, \ | 
| +     int_mv *ref_mv, \ | 
| +     int sad_per_bit, \ | 
| int distance, \ | 
| vp8_variance_fn_ptr_t *fn_ptr, \ | 
| int *mvcost[2], \ | 
| -     int *mvsadcost[2], \ | 
| -     MV *center_mv \ | 
| +     int_mv *center_mv \ | 
| ) | 
|  | 
| +#define prototype_refining_search_sad(sym)\ | 
| +    int (sym)\ | 
| +    (\ | 
| +     MACROBLOCK *x, \ | 
| +     BLOCK *b, \ | 
| +     BLOCKD *d, \ | 
| +     int_mv *ref_mv, \ | 
| +     int sad_per_bit, \ | 
| +     int distance, \ | 
| +     vp8_variance_fn_ptr_t *fn_ptr, \ | 
| +     int *mvcost[2], \ | 
| +     int_mv *center_mv \ | 
| +    ) | 
| + | 
| #define prototype_diamond_search_sad(sym)\ | 
| int (sym)\ | 
| (\ | 
| MACROBLOCK *x, \ | 
| BLOCK *b, \ | 
| BLOCKD *d, \ | 
| -     MV *ref_mv, \ | 
| -     MV *best_mv, \ | 
| +     int_mv *ref_mv, \ | 
| +     int_mv *best_mv, \ | 
| int search_param, \ | 
| -     int error_per_bit, \ | 
| +     int sad_per_bit, \ | 
| int *num00, \ | 
| vp8_variance_fn_ptr_t *fn_ptr, \ | 
| -     int *mvsadcost[2], \ | 
| int *mvcost[2], \ | 
| -     MV *center_mv \ | 
| +     int_mv *center_mv \ | 
| ) | 
|  | 
| #if ARCH_X86 || ARCH_X86_64 | 
| @@ -96,6 +108,10 @@ | 
| extern prototype_full_search_sad(vp8_full_search_sadx3); | 
| extern prototype_full_search_sad(vp8_full_search_sadx8); | 
|  | 
| +typedef prototype_refining_search_sad(*vp8_refining_search_fn_t); | 
| +extern prototype_refining_search_sad(vp8_refining_search_sad); | 
| +extern prototype_refining_search_sad(vp8_refining_search_sadx4); | 
| + | 
| typedef prototype_diamond_search_sad(*vp8_diamond_search_fn_t); | 
| extern prototype_diamond_search_sad(vp8_diamond_search_sad); | 
| extern prototype_diamond_search_sad(vp8_diamond_search_sadx4); | 
| @@ -105,6 +121,11 @@ | 
| #endif | 
| extern prototype_full_search_sad(vp8_search_full_search); | 
|  | 
| +#ifndef vp8_search_refining_search | 
| +#define vp8_search_refining_search vp8_refining_search_sad | 
| +#endif | 
| +extern prototype_refining_search_sad(vp8_search_refining_search); | 
| + | 
| #ifndef vp8_search_diamond_search | 
| #define vp8_search_diamond_search vp8_diamond_search_sad | 
| #endif | 
| @@ -113,6 +134,7 @@ | 
| typedef struct | 
| { | 
| prototype_full_search_sad(*full_search); | 
| +    prototype_refining_search_sad(*refining_search); | 
| prototype_diamond_search_sad(*diamond_search); | 
| } vp8_search_rtcd_vtable_t; | 
|  | 
|  |