]> granicus.if.org Git - libvpx/commitdiff
vp9: Adjust some early exits in nonrd-pickmode.
authorMarco Paniconi <marpan@google.com>
Thu, 10 May 2018 21:27:33 +0000 (14:27 -0700)
committerMarco Paniconi <marpan@google.com>
Fri, 11 May 2018 01:00:04 +0000 (18:00 -0700)
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

vp9/encoder/vp9_pickmode.c

index 1ba518af81c96059e4163dfb4c50c64033ff556d..f9d7a6db8cdc9195cd09d8190eca68b0d7f9cd66 100644 (file)
@@ -1772,7 +1772,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
       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 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
         (!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 &&