Fix NO_FRAME_CONTEXT_SIGNALING + large_scale_tile.

Firstly, due to the qindex fix, av1_setup_frame_contexts() is sometimes
called on frames that are not keyframes, so remove the assertion.

Secondly, make sure to always code PRIMARY_REF_NONE when in
large_scale_tile mode.

Change-Id: I849a9e619c375e72a8c6d26bdd8957995981cfdf
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 26ed86e..9502997 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1173,9 +1173,11 @@
 
 void av1_setup_frame_contexts(AV1_COMMON *cm) {
 #if CONFIG_NO_FRAME_CONTEXT_SIGNALING
-  assert(frame_is_intra_only(cm) || cm->error_resilient_mode);
   // Store the frame context into a special slot (not associated with any
   // reference buffer), so that we can set up cm->pre_fc correctly later
+  // This function must ONLY be called when cm->fc has been initialized with
+  // default probs, either by av1_setup_past_independence or after manually
+  // initializing them
   cm->frame_contexts[FRAME_CONTEXT_DEFAULTS] = *cm->fc;
 #else
   if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 0c1a74a..535514f 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -320,7 +320,8 @@
     cm->fb_of_context_type[REGULAR_FRAME] =
         get_ref_frame_map_idx(cpi, GOLDEN_FRAME);
 #endif
-  } else {
+  } else if (!cm->large_scale_tile) {
+    // for large scale tile we leave the default PRIMARY_REF_NONE
     const GF_GROUP *gf_group = &cpi->twopass.gf_group;
     if (gf_group->update_type[gf_group->index] == INTNL_ARF_UPDATE)
       cm->frame_context_idx = EXT_ARF_FRAME;