From 768b1f72814a6f96f070ff2c4bee3419b1973ee8 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 3 Jan 2017 16:01:05 -0800 Subject: [PATCH] vp9: 1 pass cbr: allow noise estimation down to 360p. Also adjust some thresholds for noise level setting. Change-Id: I7e03d7057ef2061c9447728deb9c6aff5d3da4b7 --- vp9/encoder/vp9_encodeframe.c | 4 ++-- vp9/encoder/vp9_noise_estimate.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 780d985..e622f2c 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -477,8 +477,8 @@ static void set_vbp_thresholds(VP9_COMP *cpi, int64_t thresholds[], int q) { thresholds[2] = threshold_base >> 2; thresholds[3] = threshold_base << 2; } else { - // Increase base variance threshold based on estimated noise level. - if (cpi->noise_estimate.enabled) { + // Increase base variance threshold based on estimated noise level. + if (cpi->noise_estimate.enabled && cm->width >= 640 && cm->height >= 480) { NOISE_LEVEL noise_level = vp9_noise_estimate_extract_level(&cpi->noise_estimate); if (noise_level == kHigh) diff --git a/vp9/encoder/vp9_noise_estimate.c b/vp9/encoder/vp9_noise_estimate.c index caf48d8..2252fe1 100644 --- a/vp9/encoder/vp9_noise_estimate.c +++ b/vp9/encoder/vp9_noise_estimate.c @@ -26,13 +26,13 @@ void vp9_noise_estimate_init(NOISE_ESTIMATE *const ne, int width, int height) { ne->level = kLowLow; ne->value = 0; ne->count = 0; - ne->thresh = 90; + ne->thresh = 100; ne->last_w = 0; ne->last_h = 0; if (width * height >= 1920 * 1080) { ne->thresh = 200; } else if (width * height >= 1280 * 720) { - ne->thresh = 130; + ne->thresh = 140; } ne->num_frames_estimate = 20; } @@ -52,7 +52,7 @@ static int enable_noise_estimation(VP9_COMP *const cpi) { cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cpi->oxcf.speed >= 5 && cpi->resize_state == ORIG && cpi->resize_pending == 0 && !cpi->use_svc && cpi->oxcf.content != VP9E_CONTENT_SCREEN && cpi->common.width >= 640 && - cpi->common.height >= 480) + cpi->common.height >= 360) return 1; else return 0; -- 2.7.4