From 43e0e082d15b1066a1641501362de25ade00a62b Mon Sep 17 00:00:00 2001 From: Jerome Jiang Date: Wed, 26 Apr 2017 11:12:21 -0700 Subject: [PATCH] vp9: Don't force disabling of adaptive_rd_thresh for realtime. Don't force disabling of adaptive_rd_thresh for realtime when row_mt_bit_exact is set. Row based adaptive rd is made usable in CL 454882(https://chromium-review.googlesource.com/c/454882) for REALTIME. Change-Id: Ief023414f0fd6eb86f299dd46ae58f4436875af5 --- vp9/encoder/vp9_speed_features.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 17b0a5644..ca8b55b8d 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -646,8 +646,10 @@ void vp9_set_speed_features_framesize_dependent(VP9_COMP *cpi) { // With row based multi-threading, the following speed features // have to be disabled to guarantee that bitstreams encoded with single thread - // and multiple threads match - if (cpi->row_mt_bit_exact) sf->adaptive_rd_thresh = 0; + // and multiple threads match. + // It can be used since adaptive_rd_thresh is defined per-row for REALTIME. + if (oxcf->mode != REALTIME && cpi->row_mt_bit_exact) + sf->adaptive_rd_thresh = 0; // This is only used in motion vector unit test. if (cpi->oxcf.motion_vector_unit_test == 1) @@ -800,8 +802,10 @@ void vp9_set_speed_features_framesize_independent(VP9_COMP *cpi) { // With row based multi-threading, the following speed features // have to be disabled to guarantee that bitstreams encoded with single thread - // and multiple threads match - if (cpi->row_mt_bit_exact) sf->adaptive_rd_thresh = 0; + // and multiple threads match. + // It can be used since adaptive_rd_thresh is defined per-row for REALTIME. + if (oxcf->mode != REALTIME && cpi->row_mt_bit_exact) + sf->adaptive_rd_thresh = 0; // This is only used in motion vector unit test. if (cpi->oxcf.motion_vector_unit_test == 1)