| 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;
|
|
|
|
|