From 4d1637ff67a8912504e27d31ff445b0be4531451 Mon Sep 17 00:00:00 2001 From: Paul Wilkins Date: Tue, 2 Apr 2019 16:31:33 +0100 Subject: [PATCH] Film mode: Raise threshold for intra modes Substantially increase the threshold for applying variance adjustment in rd_variance_adjustment() for intra modes only, especially for DC_PRED. Change-Id: Idb3f0c5aca5ab58c9b79c3e993247719054d79c9 --- vp9/encoder/vp9_rdopt.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 8ed27a8..bf631d1 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -3171,6 +3171,11 @@ static void rd_variance_adjustment(VP9_COMP *cpi, MACROBLOCK *x, double noise_factor = (double)cpi->twopass.gf_group.group_noise_energy / SECTION_NOISE_DEF; low_var_thresh = (unsigned int)(low_var_thresh * noise_factor); + + if (ref_frame == INTRA_FRAME) { + low_var_thresh *= 2; + if (this_mode == DC_PRED) low_var_thresh *= 5; + } } } else { low_var_thresh = LOW_VAR_THRESH / 2; -- 2.7.4