Bugfixes in pick_interinter_seg_mask

Change-Id: I5ad51375287b40170882c4816d34858be50afacd
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 63dfc61..19a4fcd 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -263,7 +263,7 @@
   int wedge_sign;
 #if CONFIG_COMPOUND_SEGMENT
   int which;
-  uint8_t seg_mask[2][2 * MAX_SB_SQUARE];
+  DECLARE_ALIGNED(16, uint8_t, seg_mask[2][2 * MAX_SB_SQUARE]);
 #endif  // CONFIG_COMPOUND_SEGMENT
 } INTERINTER_COMPOUND_DATA;
 #endif  // CONFIG_EXT_INTER
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index b71d032..32b9798 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -6855,7 +6855,7 @@
 #else
   const int bd_round = 0;
 #endif  // CONFIG_AOM_HIGHBITDEPTH
-  INTERINTER_COMPOUND_DATA comp_data = mbmi->interinter_compound_data;
+  INTERINTER_COMPOUND_DATA *comp_data = &mbmi->interinter_compound_data;
   DECLARE_ALIGNED(32, int16_t, r0[MAX_SB_SQUARE]);
   DECLARE_ALIGNED(32, int16_t, r1[MAX_SB_SQUARE]);
   DECLARE_ALIGNED(32, int16_t, d10[MAX_SB_SQUARE]);
@@ -6877,19 +6877,17 @@
   }
 
   // build mask and inverse
-  build_compound_seg_mask(&comp_data, p0, bw, p1, bw, bsize, bh, bw);
+  build_compound_seg_mask(comp_data, p0, bw, p1, bw, bsize, bh, bw);
 
   // compute rd for mask0
-  sse = av1_wedge_sse_from_residuals(r1, d10, comp_data.seg_mask[0], N);
-  sse = 0;
+  sse = av1_wedge_sse_from_residuals(r1, d10, comp_data->seg_mask[0], N);
   sse = ROUND_POWER_OF_TWO(sse, bd_round);
 
   model_rd_from_sse(cpi, xd, bsize, 0, sse, &rate, &dist);
   rd0 = RDCOST(x->rdmult, x->rddiv, rate, dist);
 
   // compute rd for mask1
-  sse = av1_wedge_sse_from_residuals(r1, d10, comp_data.seg_mask[1], N);
-  sse = 0;
+  sse = av1_wedge_sse_from_residuals(r1, d10, comp_data->seg_mask[1], N);
   sse = ROUND_POWER_OF_TWO(sse, bd_round);
 
   model_rd_from_sse(cpi, xd, bsize, 0, sse, &rate, &dist);