intrabc: enable 16x4 and 4x16 blocks

0.15% gain on the screen_content testset.

BUG=aomedia:998

Change-Id: Ia6484a90b92a00bb0073ecf988b5c164fe8ba84c
diff --git a/av1/common/reconintra.h b/av1/common/reconintra.h
index c3b1c64..efd2d52 100644
--- a/av1/common/reconintra.h
+++ b/av1/common/reconintra.h
@@ -70,12 +70,8 @@
 #endif  // CONFIG_EXT_INTRA
 
 #if CONFIG_INTRABC
-static INLINE int av1_allow_intrabc(BLOCK_SIZE bsize,
-                                    const AV1_COMMON *const cm) {
-  // TODO(huisu@google.com): intrabc is disabled for BLOCK_4X16 and
-  // BLOCK_16X4 because of onflict between cfl.
-  return bsize != BLOCK_4X16 && bsize != BLOCK_16X4 &&
-         cm->allow_screen_content_tools && cm->allow_intrabc;
+static INLINE int av1_allow_intrabc(const AV1_COMMON *const cm) {
+  return cm->allow_screen_content_tools && cm->allow_intrabc;
 }
 #endif  // CONFIG_INTRABC
 
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index f7e86c7..87e6748 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -1153,7 +1153,7 @@
     xd->left_txfm_context = xd->left_txfm_context_buffer +
                             ((mi_row & MAX_MIB_MASK) << TX_UNIT_HIGH_LOG2);
   }
-  if (av1_allow_intrabc(bsize, cm)) {
+  if (av1_allow_intrabc(cm)) {
     read_intrabc_info(cm, xd, mi_row, mi_col, r);
     if (is_intrabc_block(mbmi)) return;
   }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index db7fd99..a2bd8bb 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -1685,7 +1685,7 @@
                        !xd->lossless[mbmi->segment_id];
 
 #if CONFIG_INTRABC
-  if (av1_allow_intrabc(bsize, cm)) {
+  if (av1_allow_intrabc(cm)) {
     write_intrabc_info(cm, xd, mbmi_ext, enable_tx_size, w);
     if (is_intrabc_block(mbmi)) return;
   }
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index a00b4bd..9d46505 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4569,7 +4569,7 @@
 
   if (!dry_run) {
 #if CONFIG_INTRABC
-    if (av1_allow_intrabc(bsize, cm))
+    if (av1_allow_intrabc(cm))
       if (is_intrabc_block(mbmi)) td->intrabc_used_this_tile = 1;
 #endif  // CONFIG_INTRABC
     TX_SIZE tx_size =
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 5e93d53..ce408cb 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8668,7 +8668,7 @@
                                        RD_STATS *rd_cost, BLOCK_SIZE bsize,
                                        int64_t best_rd) {
   const AV1_COMMON *const cm = &cpi->common;
-  if (!av1_allow_intrabc(bsize, cm)) return INT64_MAX;
+  if (!av1_allow_intrabc(cm)) return INT64_MAX;
 
   MACROBLOCKD *const xd = &x->e_mbd;
   const TileInfo *tile = &xd->tile;