Commit 1687c47b authored by Yaowu Xu's avatar Yaowu Xu
Browse files

change to call vp9_refining_search_sad() directly

The function pointer in compressor instance does not change, so this
commit changes to call the function directly.

Change-Id: I9c9c460e3475711c384b74c9842f0b4f3d037cc5
parent 4539c496
...@@ -1267,9 +1267,6 @@ specialize qw/vp9_full_search_sad sse3 sse4_1/; ...@@ -1267,9 +1267,6 @@ specialize qw/vp9_full_search_sad sse3 sse4_1/;
$vp9_full_search_sad_sse3=vp9_full_search_sadx3; $vp9_full_search_sad_sse3=vp9_full_search_sadx3;
$vp9_full_search_sad_sse4_1=vp9_full_search_sadx8; $vp9_full_search_sad_sse4_1=vp9_full_search_sadx8;
add_proto qw/int vp9_refining_search_sad/, "const struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv";
specialize qw/vp9_refining_search_sad/;
add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv"; add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv";
specialize qw/vp9_diamond_search_sad/; specialize qw/vp9_diamond_search_sad/;
......
...@@ -345,7 +345,6 @@ typedef struct VP9_COMP { ...@@ -345,7 +345,6 @@ typedef struct VP9_COMP {
fractional_mv_step_fp *find_fractional_mv_step; fractional_mv_step_fp *find_fractional_mv_step;
vp9_full_search_fn_t full_search_sad; vp9_full_search_fn_t full_search_sad;
vp9_refining_search_fn_t refining_search_sad;
vp9_diamond_search_fn_t diamond_search_sad; vp9_diamond_search_fn_t diamond_search_sad;
vp9_variance_fn_ptr_t fn_ptr[BLOCK_SIZES]; vp9_variance_fn_ptr_t fn_ptr[BLOCK_SIZES];
uint64_t time_receive_data; uint64_t time_receive_data;
......
...@@ -1752,7 +1752,7 @@ int vp9_full_pixel_diamond(const VP9_COMP *cpi, MACROBLOCK *x, ...@@ -1752,7 +1752,7 @@ int vp9_full_pixel_diamond(const VP9_COMP *cpi, MACROBLOCK *x,
if (do_refine) { if (do_refine) {
const int search_range = 8; const int search_range = 8;
MV best_mv = *dst_mv; MV best_mv = *dst_mv;
thissme = cpi->refining_search_sad(x, &best_mv, sadpb, search_range, thissme = vp9_refining_search_sad(x, &best_mv, sadpb, search_range,
fn_ptr, ref_mv); fn_ptr, ref_mv);
if (thissme < INT_MAX) if (thissme < INT_MAX)
thissme = vp9_get_mvpred_var(x, &best_mv, ref_mv, fn_ptr, 1); thissme = vp9_get_mvpred_var(x, &best_mv, ref_mv, fn_ptr, 1);
...@@ -1956,7 +1956,7 @@ int vp9_full_search_sadx8(const MACROBLOCK *x, const MV *ref_mv, ...@@ -1956,7 +1956,7 @@ int vp9_full_search_sadx8(const MACROBLOCK *x, const MV *ref_mv,
return best_sad; return best_sad;
} }
int vp9_refining_search_sad_c(const MACROBLOCK *x, int vp9_refining_search_sad(const MACROBLOCK *x,
MV *ref_mv, int error_per_bit, MV *ref_mv, int error_per_bit,
int search_range, int search_range,
const vp9_variance_fn_ptr_t *fn_ptr, const vp9_variance_fn_ptr_t *fn_ptr,
......
...@@ -66,6 +66,12 @@ struct SPEED_FEATURES; ...@@ -66,6 +66,12 @@ struct SPEED_FEATURES;
int vp9_init_search_range(int size); int vp9_init_search_range(int size);
int vp9_refining_search_sad(const struct macroblock *x,
struct mv *ref_mv,
int sad_per_bit, int distance,
const struct vp9_variance_vtable *fn_ptr,
const struct mv *center_mv);
// Runs sequence of diamond searches in smaller steps for RD // Runs sequence of diamond searches in smaller steps for RD
int vp9_full_pixel_diamond(const struct VP9_COMP *cpi, MACROBLOCK *x, int vp9_full_pixel_diamond(const struct VP9_COMP *cpi, MACROBLOCK *x,
MV *mvp_full, int step_param, MV *mvp_full, int step_param,
......
...@@ -458,8 +458,6 @@ void vp9_set_speed_features_framesize_independent(VP9_COMP *cpi) { ...@@ -458,8 +458,6 @@ void vp9_set_speed_features_framesize_independent(VP9_COMP *cpi) {
cpi->full_search_sad = vp9_full_search_sad; cpi->full_search_sad = vp9_full_search_sad;
cpi->diamond_search_sad = oxcf->mode == BEST ? vp9_full_range_search cpi->diamond_search_sad = oxcf->mode == BEST ? vp9_full_range_search
: vp9_diamond_search_sad; : vp9_diamond_search_sad;
cpi->refining_search_sad = vp9_refining_search_sad;
// Slow quant, dct and trellis not worthwhile for first pass // Slow quant, dct and trellis not worthwhile for first pass
// so make sure they are always turned off. // so make sure they are always turned off.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment