Revert "Enable SIMD for intrabc prediction"

This reverts commit 6bcca97a22389e22a0033716cbbf5a139e495e30.

This causes TSan failures on some content:
WARNING: ThreadSanitizer: data race (pid=1530)
  Write of size 4 at 0x7f45b875be90 by thread T295 (mutexes: write M0):
    #0 dc_store_4xh aom_dsp/x86/intrapred_sse2.c:21:22
    #1 aom_dc_predictor_4x8_sse2 aom_dsp/x86/intrapred_sse2.c:121:3
    #2 build_intra_predictors av1/common/reconintra.c
    #3 av1_predict_intra_block av1/common/reconintra.c:1644:3
...

  Previous read of size 7 at 0x7f45b875be90 by thread T301 (mutexes: write M1):
    #0 av1_convolve_y_sr_avx2 av1/common/x86/convolve_avx2.c:60:14
    #1 av1_convolve_2d_facade av1/common/convolve.c

Bug: b/248395667
Change-Id: I40666fb48a73eb5ddd9d545b59f42c8b140cd407
diff --git a/av1/common/convolve.c b/av1/common/convolve.c
index ed77e0d..63dda39 100644
--- a/av1/common/convolve.c
+++ b/av1/common/convolve.c
@@ -567,6 +567,28 @@
   const InterpFilterParams *filter_params_x = interp_filters[0];
   const InterpFilterParams *filter_params_y = interp_filters[1];
 
+  // TODO(jingning, yunqing): Add SIMD support to 2-tap filter case.
+  // Do we have SIMD support to 4-tap case?
+  // 2-tap filter indicates that it is for IntraBC.
+  if (filter_params_x->taps == 2 || filter_params_y->taps == 2) {
+    assert(filter_params_x->taps == 2 && filter_params_y->taps == 2);
+    assert(!scaled);
+    if (subpel_x_qn && subpel_y_qn) {
+      av1_convolve_2d_sr_c(src, src_stride, dst, dst_stride, w, h,
+                           filter_params_x, filter_params_y, subpel_x_qn,
+                           subpel_y_qn, conv_params);
+      return;
+    } else if (subpel_x_qn) {
+      av1_convolve_x_sr_c(src, src_stride, dst, dst_stride, w, h,
+                          filter_params_x, subpel_x_qn, conv_params);
+      return;
+    } else if (subpel_y_qn) {
+      av1_convolve_y_sr_c(src, src_stride, dst, dst_stride, w, h,
+                          filter_params_y, subpel_y_qn);
+      return;
+    }
+  }
+
   if (scaled) {
     convolve_2d_scale_wrapper(src, src_stride, dst, dst_stride, w, h,
                               filter_params_x, filter_params_y, subpel_x_qn,
diff --git a/av1/common/filter.h b/av1/common/filter.h
index cca538e..4344aea 100644
--- a/av1/common/filter.h
+++ b/av1/common/filter.h
@@ -192,20 +192,14 @@
 
 // A special 2-tap bilinear filter for IntraBC chroma. IntraBC uses full pixel
 // MV for luma. If sub-sampling exists, chroma may possibly use half-pel MV.
-DECLARE_ALIGNED(256, static const InterpKernel,
-                av1_intrabc_bilinear_filter[SUBPEL_SHIFTS]) = {
-  { 0, 0, 0, 128, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 64, 64, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
-  { 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0 },
+DECLARE_ALIGNED(256, static const int16_t,
+                av1_intrabc_bilinear_filter[2 * SUBPEL_SHIFTS]) = {
+  128, 0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  64,  64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 };
 
 static const InterpFilterParams av1_intrabc_filter_params = {
-  (const int16_t *)av1_intrabc_bilinear_filter, SUBPEL_TAPS, BILINEAR
+  av1_intrabc_bilinear_filter, 2, BILINEAR
 };
 
 DECLARE_ALIGNED(256, static const InterpKernel,