From 25206e7b7fd9e342ed2af0aeb404ec0aecc3040c Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Tue, 7 Apr 2015 12:39:54 -0700 Subject: [PATCH] Compute prediction filter type cost only when needed Skip redundant prediction filter type cost in filter search loop, if the rate value will be reset in Hadamard transform based rate distortion estimate. Change-Id: Ie5221f4bc8da9461c449df367251aeeac52c6e5d --- vp9/encoder/vp9_pickmode.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index d754fd2b1..aab346edd 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1336,9 +1336,6 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc.rate, &this_rdc.dist, &var_y, &sse_y); } - this_rdc.rate += - cm->interp_filter == SWITCHABLE ? - vp9_get_switchable_rate(cpi, xd) : 0; } if (!this_early_term) { @@ -1364,6 +1361,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, this_rdc.rate += vp9_get_switchable_rate(cpi, xd); } } else { + this_rdc.rate += cm->interp_filter == SWITCHABLE ? + vp9_get_switchable_rate(cpi, xd) : 0; this_rdc.rate += vp9_cost_bit(vp9_get_skip_prob(cm, xd), 1); } -- 2.50.1