shithub: libvpx

Download patch

ref: 6512048ada6198a519002f1c3169a2eab71ee3c6
parent: af355dacd568dfe5c109ae2d6d22104f94cdcf7f
author: Marco Paniconi <marpan@google.com>
date: Thu May 10 10:27:33 EDT 2018

vp9: Adjust some early exits in nonrd-pickmode.

Condition some early exitis in nonrd-pickmode on the
motion vector, to make sure we always test (0, 0) for
inter-layer prediction.

Change-Id: Id0e790ecc75ccfb7031d3e8786ccdd13781d81fe

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1772,7 +1772,7 @@
       continue;
 
     if (sf->short_circuit_flat_blocks && x->source_variance == 0 &&
-        this_mode != NEARESTMV) {
+        frame_mv[this_mode][ref_frame].as_int != 0) {
       continue;
     }
 
@@ -1883,7 +1883,7 @@
         (!cpi->sf.adaptive_rd_thresh_row_mt &&
          rd_less_than_thresh(best_rdc.rdcost, mode_rd_thresh,
                              &rd_thresh_freq_fact[mode_index])))
-      continue;
+      if (frame_mv[this_mode][ref_frame].as_int != 0) continue;
 
     if (this_mode == NEWMV && !force_gf_mv) {
       if (ref_frame > LAST_FRAME && !cpi->use_svc &&