Make av1_build_inter_predictor support mask compound

Change-Id: Idfeffa511357cfaaa9787f97b3e47f3c1b339c70
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c
index 83a0150..7977828 100644
--- a/av1/common/reconinter.c
+++ b/av1/common/reconinter.c
@@ -115,9 +115,11 @@
                         const INTERINTER_COMPOUND_DATA *mask_comp) {
   inter_pred_params->sb_type = bsize;
   inter_pred_params->mask_comp = *mask_comp;
-  inter_pred_params->comp_mode = MASK_COMP;
 
-  inter_pred_params->conv_params.do_average = 0;
+  if (inter_pred_params->conv_params.compound_index == 1) {
+    inter_pred_params->conv_params.do_average = 0;
+    inter_pred_params->comp_mode = MASK_COMP;
+  }
 }
 
 void av1_make_inter_predictor(const uint8_t *src, int src_stride, uint8_t *dst,
diff --git a/av1/encoder/reconinter_enc.c b/av1/encoder/reconinter_enc.c
index ec60123..0e6f8ac 100644
--- a/av1/encoder/reconinter_enc.c
+++ b/av1/encoder/reconinter_enc.c
@@ -218,17 +218,9 @@
         inter_pred_params.mask_comp.seg_mask = xd->seg_mask;
       }
 
-      if (ref && is_masked_compound_type(mi->interinter_comp.type)) {
-        // masked compound type has its own average mechanism
-        inter_pred_params.conv_params.do_average = 0;
-        av1_make_masked_inter_predictor(pre, pre_buf.stride, dst,
-                                        dst_buf->stride, &inter_pred_params,
-                                        &subpel_params);
-      } else {
-        av1_build_inter_predictor(pre_buf.buf, pre_buf.stride, dst,
-                                  dst_buf->stride, &mv, mi_x, mi_y,
-                                  &inter_pred_params);
-      }
+      av1_build_inter_predictor(pre_buf.buf, pre_buf.stride, dst,
+                                dst_buf->stride, &mv, mi_x, mi_y,
+                                &inter_pred_params);
     }
   }
 }
@@ -305,8 +297,13 @@
   subpel_params.xs = sf->x_step_q4;
   subpel_params.ys = sf->y_step_q4;
 
-  av1_make_inter_predictor(src, src_stride, dst, dst_stride, inter_pred_params,
-                           &subpel_params);
+  if (inter_pred_params->comp_mode == UNIFORM_SINGLE ||
+      inter_pred_params->comp_mode == UNIFORM_COMP)
+    av1_make_inter_predictor(src, src_stride, dst, dst_stride,
+                             inter_pred_params, &subpel_params);
+  else
+    av1_make_masked_inter_predictor(src, src_stride, dst, dst_stride,
+                                    inter_pred_params, &subpel_params);
 }
 
 static INLINE void build_obmc_prediction(MACROBLOCKD *xd, int rel_mi_row,