svc-rtc: Fix to multi-ref pattern in test

For both the unittest and sample encoder:
when testing the multi-ref (3SL, 3TL) pattern, don't
allow altref as an additional reference for superframes
whose base is key. Since that will allow for prediction
from SL2 to the base SL0 (1/16 resolution), instead of
only using the previous SL1 (1/4 resolution, which is the
intended behavior).

Also initialize svc->skip_mvsearch_altref to 0 in restore_layer_context();

Change-Id: I2a0cf64052af9c7a1dc431d3dd94f50fd57438f6
diff --git a/av1/encoder/svc_layercontext.c b/av1/encoder/svc_layercontext.c
index 3007e5f..d5f5353 100644
--- a/av1/encoder/svc_layercontext.c
+++ b/av1/encoder/svc_layercontext.c
@@ -202,6 +202,7 @@
   }
   svc->skip_mvsearch_last = 0;
   svc->skip_mvsearch_gf = 0;
+  svc->skip_mvsearch_altref = 0;
   // For each reference (LAST/GOLDEN) set the skip_mvsearch_last/gf frame flags.
   // This is to skip searching mv for that reference if it was last
   // refreshed (i.e., buffer slot holding that reference was refreshed) on the
diff --git a/examples/svc_encoder_rtc.c b/examples/svc_encoder_rtc.c
index d3f649f..ecfc79e 100644
--- a/examples/svc_encoder_rtc.c
+++ b/examples/svc_encoder_rtc.c
@@ -1005,7 +1005,7 @@
       if (enable_longterm_temporal_ref && layer_id->spatial_layer_id == 2 &&
           layering_mode == 8) {
         ref_frame_config->ref_idx[SVC_ALTREF_FRAME] = REF_FRAMES - 1;
-        ref_frame_config->reference[SVC_ALTREF_FRAME] = 1;
+        if (!is_key_frame) ref_frame_config->reference[SVC_ALTREF_FRAME] = 1;
         if (base_count % 10 == 0 && layer_id->temporal_layer_id == 0)
           ref_frame_config->refresh[REF_FRAMES - 1] = 1;
       }
diff --git a/test/svc_datarate_test.cc b/test/svc_datarate_test.cc
index 83faed3..293e7ca 100644
--- a/test/svc_datarate_test.cc
+++ b/test/svc_datarate_test.cc
@@ -482,7 +482,7 @@
       // 10 TL0 frames here.
       if (multi_ref && layer_id->spatial_layer_id == 2) {
         ref_frame_config->ref_idx[6] = 7;
-        ref_frame_config->reference[6] = 1;
+        if (!is_key_frame) ref_frame_config->reference[6] = 1;
         if (base_count % 10 == 0 && layer_id->temporal_layer_id == 0)
           ref_frame_config->refresh[7] = 1;
       }