]> granicus.if.org Git - libvpx/commitdiff
Use non-zero mode threshold for NEARESTMV modes
authorJingning Han <jingning@google.com>
Tue, 16 Sep 2014 16:49:17 +0000 (09:49 -0700)
committerJingning Han <jingning@google.com>
Tue, 16 Sep 2014 16:56:10 +0000 (09:56 -0700)
This commit makes the encoder to use non-zero mode threshold for
NEARESTMV modes. The runtime for test clips of speed 3 is reduced
by about 1%.

pedestrian 1080p 2000 kbps, 143239 ms -> 141989 ms
bus CIF 1000 kbps, 7835 ms -> 7749 ms

The compression performance change is about -0.02% for both derf
and stdhd.

Change-Id: Ib71808922c41ae2997100cb7c561f68dcebfa08e

vp9/encoder/vp9_rd.c

index b45e07db5568e772ac2fea54d923d8a5872659b7..1dd44b4aafdc04c8bcf271c96cecb88370d71839 100644 (file)
@@ -457,9 +457,15 @@ void vp9_set_rd_speed_thresholds(VP9_COMP *cpi) {
   for (i = 0; i < MAX_MODES; ++i)
     rd->thresh_mult[i] = cpi->oxcf.mode == BEST ? -500 : 0;
 
-  rd->thresh_mult[THR_NEARESTMV] = 0;
-  rd->thresh_mult[THR_NEARESTG] = 0;
-  rd->thresh_mult[THR_NEARESTA] = 0;
+  if (sf->adaptive_rd_thresh) {
+    rd->thresh_mult[THR_NEARESTMV] = 300;
+    rd->thresh_mult[THR_NEARESTG] = 300;
+    rd->thresh_mult[THR_NEARESTA] = 300;
+  } else {
+    rd->thresh_mult[THR_NEARESTMV] = 0;
+    rd->thresh_mult[THR_NEARESTG] = 0;
+    rd->thresh_mult[THR_NEARESTA] = 0;
+  }
 
   rd->thresh_mult[THR_DC] += 1000;