shithub: libvpx

Download patch

ref: 43e0e082d15b1066a1641501362de25ade00a62b
parent: b68f14d0ed27fafb4593a99fec5361fc023d4488
author: Jerome Jiang <[email protected]>
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)