From: Yunqing Wang Date: Thu, 27 Feb 2014 17:16:25 +0000 (-0800) Subject: Enable using fast HEX search in non-rd pick mode X-Git-Tag: v1.4.0~2219^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e6fd071243f83dab27b9028ee75b3424664eb72a;p=libvpx Enable using fast HEX search in non-rd pick mode Added fast HEX search while doing non-rd partition picking to speed up the encoder. Borg test(speed 7) on rtc set showed 1.8% overall PSNR loss. Encoder speedup was 5% - 15% for different rtc clips. Change-Id: I9c83026eabc70b69fcc747c90369ec60bfa3ca24 --- diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 0d0dc0cc7..4628f7e44 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -98,8 +98,15 @@ static int full_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x, mvp_full.col >>= 3; mvp_full.row >>= 3; - vp9_full_pixel_diamond(cpi, x, &mvp_full, step_param, sadpb, further_steps, 1, - &cpi->fn_ptr[bsize], &ref_mv.as_mv, &tmp_mv->as_mv); + if (cpi->sf.search_method == FAST_HEX) { + vp9_fast_hex_search(x, &mvp_full, step_param, sadpb, &cpi->fn_ptr[bsize], + 1, &ref_mv.as_mv, &tmp_mv->as_mv); + } else { + vp9_full_pixel_diamond(cpi, x, &mvp_full, step_param, sadpb, further_steps, + 1, &cpi->fn_ptr[bsize], &ref_mv.as_mv, + &tmp_mv->as_mv); + } + x->mv_col_min = tmp_col_min; x->mv_col_max = tmp_col_max; x->mv_row_min = tmp_row_min;