ref: 77e51e2035b8818d2351d7bc6e3af423f91a69cf
parent: 98dbf31c877c1388c5776aba249f879cda3b2969
author: Marco <marpan@google.com>
date: Wed Oct 4 07:41:52 EDT 2017
Modify early exit for alt_ref in nonrd_pickmode. For 1 pass vbr mode: On no-show_frame/ARF: instead of skipping alt_ref_frame completely in mode testing, allow for checking (0, 0) on alt_ref. Small gain in metrics, ~0.18%, no change in speed. Change-Id: I32a3c24faca64ab70dd5091071a0dc301db7dd1e
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1582,9 +1582,7 @@
skip_ref_find_pred[LAST_FRAME] = 1;
skip_ref_find_pred[GOLDEN_FRAME] = 1;
}
- if (cm->show_frame == 0) {
- usable_ref_frame = GOLDEN_FRAME;
- skip_ref_find_pred[ALTREF_FRAME] = 1;
+ if (!cm->show_frame) {
if (cpi->rc.frames_since_key == 1) {
usable_ref_frame = LAST_FRAME;
skip_ref_find_pred[GOLDEN_FRAME] = 1;
@@ -1679,6 +1677,10 @@
if (cpi->rc.is_src_frame_alt_ref &&
(ref_frame != ALTREF_FRAME ||
frame_mv[this_mode][ref_frame].as_int != 0))
+ continue;
+
+ if (!cm->show_frame && ref_frame == ALTREF_FRAME &&
+ frame_mv[this_mode][ref_frame].as_int != 0)
continue;
if (cpi->rc.alt_ref_gf_group && cm->show_frame &&