Simplify spatial_segmentation code in decoder

Change-Id: I4f6ecb4cdd60b9ab12a403371744710be9a59f46
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 4b6694e..ad118f4 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -524,9 +524,8 @@
 }
 
 static int read_intra_segment_id(AV1_COMMON *const cm, MACROBLOCKD *const xd,
-                                 MB_MODE_INFO *const mbmi, int mi_row,
-                                 int mi_col, int bsize, int preskip,
-                                 aom_reader *r) {
+                                 int mi_row, int mi_col, int bsize,
+                                 aom_reader *r, int skip) {
   struct segmentation *const seg = &cm->seg;
   const int mi_offset = mi_row * cm->mi_cols + mi_col;
   const int bw = mi_size_wide[bsize];
@@ -539,17 +538,10 @@
   assert(seg->update_map && !seg->temporal_update);
 
 #if CONFIG_SPATIAL_SEGMENTATION
-  if (preskip) {
-    if (!cm->preskip_segid) return 0;
-  } else {
-    if (cm->preskip_segid) return mbmi->segment_id;
-  }
-  const int segment_id =
-      read_segment_id(cm, xd, mi_row, mi_col, r, preskip ? 0 : mbmi->skip);
+  const int segment_id = read_segment_id(cm, xd, mi_row, mi_col, r, skip);
 #else
   FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
-  (void)preskip;
-  (void)mbmi;
+  (void)skip;
   const int segment_id = read_segment_id(r, &ec_ctx->seg);
 #endif
   set_segment_id(cm, mi_offset, x_mis, y_mis, segment_id);
@@ -1045,13 +1037,20 @@
 
   FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
 
-  mbmi->segment_id =
-      read_intra_segment_id(cm, xd, mbmi, mi_row, mi_col, bsize, 1, r);
+#if !CONFIG_SPATIAL_SEGMENTATION
+  mbmi->segment_id = read_intra_segment_id(cm, xd, mi_row, mi_col, bsize, r, 0);
+#else
+  if (cm->preskip_segid)
+    mbmi->segment_id =
+        read_intra_segment_id(cm, xd, mi_row, mi_col, bsize, r, 0);
+#endif
+
   mbmi->skip = read_skip(cm, xd, mbmi->segment_id, r);
 
 #if CONFIG_SPATIAL_SEGMENTATION
-  mbmi->segment_id =
-      read_intra_segment_id(cm, xd, mbmi, mi_row, mi_col, bsize, 0, r);
+  if (!cm->preskip_segid)
+    mbmi->segment_id =
+        read_intra_segment_id(cm, xd, mi_row, mi_col, bsize, r, mbmi->skip);
 #endif
 
   read_cdef(cm, r, mbmi, mi_col, mi_row);