summaryrefslogtreecommitdiff
path: root/vp8/encoder/mbgraph.c
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2012-08-03 12:17:18 -0700
committerDeb Mukherjee <debargha@google.com>2012-08-03 13:38:49 -0700
commit2af5473a90306b993d145ef64faad6ad1ed21a4d (patch)
tree6ca204f45bb96af6425a870bd206a8357737e951 /vp8/encoder/mbgraph.c
parentfcbff9ee04f5b67ce79fd329333c8b1970d9318d (diff)
downloadlibvpx-2af5473a90306b993d145ef64faad6ad1ed21a4d.tar
libvpx-2af5473a90306b993d145ef64faad6ad1ed21a4d.tar.gz
libvpx-2af5473a90306b993d145ef64faad6ad1ed21a4d.tar.bz2
libvpx-2af5473a90306b993d145ef64faad6ad1ed21a4d.zip
Merging in high_precision_mv experiment
Merged in the high_precision_mv experiment to make it easier to work on new mv encoding strategies. Also removed coef_update_probs3(). Change-Id: I82d3b0bb642419fe05dba82528bc9ba010e90924
Diffstat (limited to 'vp8/encoder/mbgraph.c')
-rw-r--r--vp8/encoder/mbgraph.c38
1 files changed, 16 insertions, 22 deletions
diff --git a/vp8/encoder/mbgraph.c b/vp8/encoder/mbgraph.c
index 4cd3ea233..d4c14ebb2 100644
--- a/vp8/encoder/mbgraph.c
+++ b/vp8/encoder/mbgraph.c
@@ -34,11 +34,10 @@ static unsigned int do_16x16_motion_iteration
static int dummy_cost[2 * mv_max + 1];
int *mvcost[2] = { &dummy_cost[mv_max + 1], &dummy_cost[mv_max + 1] };
int *mvsadcost[2] = { &dummy_cost[mv_max + 1], &dummy_cost[mv_max + 1] };
-#if CONFIG_HIGH_PRECISION_MV
static int dummy_cost_hp[2 * mv_max_hp + 1];
int *mvcost_hp[2] = { &dummy_cost_hp[mv_max_hp + 1], &dummy_cost_hp[mv_max_hp + 1] };
int *mvsadcost_hp[2] = { &dummy_cost_hp[mv_max_hp + 1], &dummy_cost_hp[mv_max_hp + 1] };
-#endif
+
int col_min = (ref_mv->as_mv.col >> 3) - MAX_FULL_PEL_VAL + ((ref_mv->as_mv.col & 7) ? 1 : 0);
int row_min = (ref_mv->as_mv.row >> 3) - MAX_FULL_PEL_VAL + ((ref_mv->as_mv.row & 7) ? 1 : 0);
int col_max = (ref_mv->as_mv.col >> 3) + MAX_FULL_PEL_VAL;
@@ -72,32 +71,27 @@ static unsigned int do_16x16_motion_iteration
ref_full.as_mv.row = ref_mv->as_mv.row >> 3;
/*cpi->sf.search_method == HEX*/
- best_err = vp8_hex_search(x, b, d,
- &ref_full, dst_mv,
- step_param,
- x->errorperbit,
- &v_fn_ptr,
-#if CONFIG_HIGH_PRECISION_MV
- xd->allow_high_precision_mv ? mvsadcost_hp : mvsadcost, xd->allow_high_precision_mv ? mvcost_hp : mvcost,
-#else
- mvsadcost, mvcost,
-#endif
- ref_mv);
+ best_err = vp8_hex_search(
+ x, b, d,
+ &ref_full, dst_mv,
+ step_param,
+ x->errorperbit,
+ &v_fn_ptr,
+ xd->allow_high_precision_mv ? mvsadcost_hp : mvsadcost,
+ xd->allow_high_precision_mv ? mvcost_hp : mvcost,
+ ref_mv);
// Try sub-pixel MC
// if (bestsme > error_thresh && bestsme < INT_MAX)
{
int distortion;
unsigned int sse;
- best_err = cpi->find_fractional_mv_step(x, b, d,
- dst_mv, ref_mv,
- x->errorperbit, &v_fn_ptr,
-#if CONFIG_HIGH_PRECISION_MV
- xd->allow_high_precision_mv ? mvcost_hp : mvcost,
-#else
- mvcost,
-#endif
- & distortion, &sse);
+ best_err = cpi->find_fractional_mv_step(
+ x, b, d,
+ dst_mv, ref_mv,
+ x->errorperbit, &v_fn_ptr,
+ xd->allow_high_precision_mv ? mvcost_hp : mvcost,
+ & distortion, &sse);
}
#if CONFIG_PRED_FILTER