ref: 43e0e082d15b1066a1641501362de25ade00a62b
parent: b68f14d0ed27fafb4593a99fec5361fc023d4488
author: Jerome Jiang <jianj@google.com>
date: Wed Apr 26 07:12:21 EDT 2017
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
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -646,8 +646,10 @@
// 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 @@
// 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)