Index: source/libvpx/vp9/encoder/vp9_mcomp.h |
=================================================================== |
--- source/libvpx/vp9/encoder/vp9_mcomp.h (revision 219822) |
+++ source/libvpx/vp9/encoder/vp9_mcomp.h (working copy) |
@@ -23,9 +23,9 @@ |
// Maximum size of the first step in full pel units |
#define MAX_FIRST_STEP (1 << (MAX_MVSEARCH_STEPS-1)) |
-void vp9_clamp_mv_min_max(MACROBLOCK *x, int_mv *ref_mv); |
+void vp9_clamp_mv_min_max(MACROBLOCK *x, MV *mv); |
int vp9_mv_bit_cost(int_mv *mv, int_mv *ref, int *mvjcost, |
- int *mvcost[2], int weight, int ishp); |
+ int *mvcost[2], int weight); |
void vp9_init_dsmotion_compensation(MACROBLOCK *x, int stride); |
void vp9_init3smotion_compensation(MACROBLOCK *x, int stride); |
@@ -40,20 +40,62 @@ |
int_mv *ref_mv, int_mv *dst_mv); |
int vp9_hex_search(MACROBLOCK *x, |
- int_mv *ref_mv, int_mv *best_mv, |
- int search_param, int error_per_bit, |
+ int_mv *ref_mv, |
+ int search_param, |
+ int error_per_bit, |
+ int do_init_search, |
const vp9_variance_fn_ptr_t *vf, |
- int *mvjsadcost, int *mvsadcost[2], |
- int *mvjcost, int *mvcost[2], |
- int_mv *center_mv); |
+ int use_mvcost, |
+ int_mv *center_mv, |
+ int_mv *best_mv); |
+int vp9_bigdia_search(MACROBLOCK *x, |
+ int_mv *ref_mv, |
+ int search_param, |
+ int error_per_bit, |
+ int do_init_search, |
+ const vp9_variance_fn_ptr_t *vf, |
+ int use_mvcost, |
+ int_mv *center_mv, |
+ int_mv *best_mv); |
+int vp9_square_search(MACROBLOCK *x, |
+ int_mv *ref_mv, |
+ int search_param, |
+ int error_per_bit, |
+ int do_init_search, |
+ const vp9_variance_fn_ptr_t *vf, |
+ int use_mvcost, |
+ int_mv *center_mv, |
+ int_mv *best_mv); |
-typedef int (fractional_mv_step_fp) (MACROBLOCK *x, int_mv |
- *bestmv, int_mv *ref_mv, int error_per_bit, const vp9_variance_fn_ptr_t *vfp, |
- int *mvjcost, int *mvcost[2], int *distortion, unsigned int *sse); |
-extern fractional_mv_step_fp vp9_find_best_sub_pixel_step_iteratively; |
-extern fractional_mv_step_fp vp9_find_best_sub_pixel_step; |
-extern fractional_mv_step_fp vp9_find_best_half_pixel_step; |
+typedef int (fractional_mv_step_fp) ( |
+ MACROBLOCK *x, |
+ int_mv *bestmv, |
+ int_mv *ref_mv, |
+ int error_per_bit, |
+ const vp9_variance_fn_ptr_t *vfp, |
+ int forced_stop, // 0 - full, 1 - qtr only, 2 - half only |
+ int iters_per_step, |
+ int *mvjcost, |
+ int *mvcost[2], |
+ int *distortion, |
+ unsigned int *sse); |
+extern fractional_mv_step_fp vp9_find_best_sub_pixel_iterative; |
+extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree; |
+typedef int (fractional_mv_step_comp_fp) ( |
+ MACROBLOCK *x, |
+ int_mv *bestmv, int_mv *ref_mv, |
+ int error_per_bit, |
+ const vp9_variance_fn_ptr_t *vfp, |
+ int forced_stop, // 0 - full, 1 - qtr only, 2 - half only |
+ int iters_per_step, |
+ int *mvjcost, int *mvcost[2], |
+ int *distortion, unsigned int *sse1, |
+ const uint8_t *second_pred, |
+ int w, int h); |
+extern fractional_mv_step_comp_fp vp9_find_best_sub_pixel_comp_iterative; |
+extern fractional_mv_step_comp_fp vp9_find_best_sub_pixel_comp_tree; |
+ |
typedef int (*vp9_full_search_fn_t)(MACROBLOCK *x, |
int_mv *ref_mv, int sad_per_bit, |
int distance, vp9_variance_fn_ptr_t *fn_ptr, |
@@ -75,15 +117,6 @@ |
int *mvjcost, int *mvcost[2], |
int_mv *center_mv); |
-int vp9_find_best_sub_pixel_comp(MACROBLOCK *x, |
- int_mv *bestmv, int_mv *ref_mv, |
- int error_per_bit, |
- const vp9_variance_fn_ptr_t *vfp, |
- int *mvjcost, int *mvcost[2], |
- int *distortion, unsigned int *sse1, |
- const uint8_t *second_pred, |
- int w, int h); |
- |
int vp9_refining_search_8p_c(MACROBLOCK *x, |
int_mv *ref_mv, int error_per_bit, |
int search_range, vp9_variance_fn_ptr_t *fn_ptr, |