From dbe4d9c4ebac47ba39678a3f4e3953dd26891be5 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Thu, 26 Jul 2018 16:41:55 -0700 Subject: Use diamond search to build tpl model and arf frames Use diamond search for full pixel motion estimation to build the temporal dependency model and the source arf frame. This gives better full pixel motion estimation accuracy. It improves the compression performance. In speed 0, avg PSNR overall PSNR SSIM midres -0.32% -0.30% -0.65% hdres -0.88% -0.91% -1.31% nflx2k -0.47% -0.48% -0.81% In speed 1, avg PSNR overall PSNR SSIM midres -0.24% -0.28% -0.50% hdres -0.82% -0.83% -1.18% nflx2k -0.58% -0.60% -0.89% The encoding speed change is minor due to the fact that such motion estimation is triggered once at the beginning of each group of picture coding. Change-Id: Ib25c0ff4f7450c85fd7a38d24319bd7ae1b9dac8 --- vp9/encoder/vp9_encoder.c | 2 +- vp9/encoder/vp9_temporal_filter.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 2204339c8..e38df29c5 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -5584,7 +5584,7 @@ uint32_t motion_compensated_prediction(VP9_COMP *cpi, ThreadData *td, MACROBLOCK *const x = &td->mb; MACROBLOCKD *const xd = &x->e_mbd; MV_SPEED_FEATURES *const mv_sf = &cpi->sf.mv; - const SEARCH_METHODS search_method = HEX; + const SEARCH_METHODS search_method = NSTEP; int step_param; int sadpb = x->sadperbit16; uint32_t bestsme = UINT_MAX; diff --git a/vp9/encoder/vp9_temporal_filter.c b/vp9/encoder/vp9_temporal_filter.c index 4db3e6f8e..9a357c105 100644 --- a/vp9/encoder/vp9_temporal_filter.c +++ b/vp9/encoder/vp9_temporal_filter.c @@ -230,7 +230,7 @@ static uint32_t temporal_filter_find_matching_mb_c(VP9_COMP *cpi, MACROBLOCK *const x = &td->mb; MACROBLOCKD *const xd = &x->e_mbd; MV_SPEED_FEATURES *const mv_sf = &cpi->sf.mv; - const SEARCH_METHODS search_method = HEX; + const SEARCH_METHODS search_method = NSTEP; int step_param; int sadpb = x->sadperbit16; uint32_t bestsme = UINT_MAX; -- cgit v1.2.3