Move segmentation info to segmentation struct

Moves spatial segmentation variables to the main segmentation struct, in preparation
to have segment features be kept in sync with the segmentation map.

Change-Id: Id372d26c2d37443f282f2e7b29161d030df40481
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 1c8766c..39c5437 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -487,7 +487,7 @@
   }
 
   int coded_id =
-      neg_interleave(mbmi->segment_id, pred, cm->last_active_segid + 1);
+      neg_interleave(mbmi->segment_id, pred, seg->last_active_segid + 1);
 
   aom_cdf_prob *pred_cdf = segp->spatial_pred_seg_cdf[cdf_num];
   aom_write_symbol(w, coded_id, pred_cdf, 8);
@@ -948,9 +948,9 @@
   if (seg->update_map) {
 #if CONFIG_SPATIAL_SEGMENTATION
     if (preskip) {
-      if (!cm->preskip_segid) return;
+      if (!seg->preskip_segid) return;
     } else {
-      if (cm->preskip_segid) return;
+      if (seg->preskip_segid) return;
       if (skip) {
         write_segment_id(cpi, mbmi, w, seg, segp, mi_row, mi_col, 1);
         if (seg->temporal_update) ((MB_MODE_INFO *)mbmi)->seg_id_predicted = 0;
@@ -1273,7 +1273,7 @@
   const PREDICTION_MODE mode = mbmi->mode;
 
 #if CONFIG_SPATIAL_SEGMENTATION
-  if (cm->preskip_segid && seg->update_map)
+  if (seg->preskip_segid && seg->update_map)
     write_segment_id(cpi, mbmi, w, seg, segp, mi_row, mi_col, 0);
 #else
   if (seg->update_map) write_segment_id(w, seg, segp, mbmi->segment_id);
@@ -1282,7 +1282,7 @@
   const int skip = write_skip(cm, xd, mbmi->segment_id, mi, w);
 
 #if CONFIG_SPATIAL_SEGMENTATION
-  if (!cm->preskip_segid && seg->update_map)
+  if (!seg->preskip_segid && seg->update_map)
     write_segment_id(cpi, mbmi, w, seg, segp, mi_row, mi_col, skip);
 #endif
 
@@ -2156,7 +2156,7 @@
 static void encode_segmentation(AV1_COMMON *cm, MACROBLOCKD *xd,
                                 struct aom_write_bit_buffer *wb) {
   int i, j;
-  const struct segmentation *seg = &cm->seg;
+  struct segmentation *seg = &cm->seg;
 
   aom_wb_write_bit(wb, seg->enabled);
   if (!seg->enabled) return;
@@ -2180,7 +2180,7 @@
   }
 
 #if CONFIG_SPATIAL_SEGMENTATION
-  cm->preskip_segid = 0;
+  seg->preskip_segid = 0;
 #endif
 
   // Segmentation data
@@ -2192,8 +2192,8 @@
         aom_wb_write_bit(wb, active);
         if (active) {
 #if CONFIG_SPATIAL_SEGMENTATION
-          cm->preskip_segid |= j >= SEG_LVL_REF_FRAME;
-          cm->last_active_segid = i;
+          seg->preskip_segid |= j >= SEG_LVL_REF_FRAME;
+          seg->last_active_segid = i;
 #endif
           const int data_max = av1_seg_feature_data_max(j);
           const int data_min = -data_max;