rtc-svc: Some fixes for SVC

Don't compute source_content for spatial layers,
since last_source for spatial enhancement layers
is not the temporally last frame (but lower resolution
at same time instant).

In non-rd pickmde: add check in logic on pred_mv_sad for
skipping reference frame mode test, since for references
that are scaled (i.e., golden for spatial_layers > 1)
pred_mv_sad will not computed and set to INT_MAX.
This was preventing lower spatial resolution from being
used as a reference.

Change-Id: If099d9e2a8d1d212ec1caacf0e8c3d0f449fad77
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 916fb2a..f9c478f 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4416,6 +4416,7 @@
                       get_mi_grid_idx(&cm->mi_params, mi_row, mi_col);
   const BLOCK_SIZE sb_size = cm->seq_params.sb_size;
   if (sf->rt_sf.source_metrics_sb_nonrd && sb_size == BLOCK_64X64 &&
+      cpi->svc.number_spatial_layers == 1 &&
       cm->current_frame.frame_type != KEY_FRAME) {
     int shift = cpi->source->y_stride * (mi_row << 2) + (mi_col << 2);
     source_content_sb(cpi, x, shift);
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index 56afd79..e6aebca 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -1781,7 +1781,7 @@
     if (!segfeature_active(seg, mi->segment_id, SEG_LVL_REF_FRAME)) {
       // Check for skipping GOLDEN and ALTREF based pred_mv_sad.
       if (cpi->sf.rt_sf.nonrd_prune_ref_frame_search > 0 &&
-          ref_frame != LAST_FRAME) {
+          x->pred_mv_sad[ref_frame] != INT_MAX && ref_frame != LAST_FRAME) {
         if ((int64_t)(x->pred_mv_sad[ref_frame]) > thresh_sad_pred)
           ref_frame_skip_mask |= (1 << ref_frame);
       }