Add macro to remove 1D transforms from TX_16X16

This produces a 0.03% drop in performance but reduces
the tx search space.

Change-Id: I27ae62403f059c4654e9237c39f15bed7f860c15
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 34e3f53..e25fb23 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -761,7 +761,7 @@
 
 // Number of transform types in each set type
 static const int av1_num_ext_tx_set[EXT_TX_SET_TYPES] = {
-  1, 2, 5, 7, 12, 16,
+  1, 2, 5, 7, 10, 12, 16,
 };
 
 static const int av1_ext_tx_set_idx_to_type[2][AOMMAX(EXT_TX_SETS_INTRA,
@@ -772,7 +772,12 @@
   },
   {
       // Inter
-      EXT_TX_SET_DCTONLY, EXT_TX_SET_ALL16, EXT_TX_SET_DTT9_IDTX_1DDCT,
+      EXT_TX_SET_DCTONLY, EXT_TX_SET_ALL16,
+#if USE_1D_16X16
+      EXT_TX_SET_DTT9_IDTX_1DDCT,
+#else
+      EXT_TX_SET_DTT9_IDTX,
+#endif  // USE_1D_16X16
       EXT_TX_SET_DCT_IDTX,
   }
 };
@@ -791,6 +796,9 @@
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
   },
   {
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  },
+  {
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
   },
   {
@@ -823,8 +831,12 @@
   if (tx_size_sqr_up == TX_32X32)
     return is_inter ? EXT_TX_SET_DCT_IDTX : EXT_TX_SET_DCTONLY;
   if (is_inter)
+#if USE_1D_16X16
     return (tx_size_sqr == TX_16X16 ? EXT_TX_SET_DTT9_IDTX_1DDCT
                                     : EXT_TX_SET_ALL16);
+#else
+    return (tx_size_sqr == TX_16X16 ? EXT_TX_SET_DTT9_IDTX : EXT_TX_SET_ALL16);
+#endif  // USE_1D_16X16
   else
     return (tx_size_sqr == TX_16X16 ? EXT_TX_SET_DTT4_IDTX
                                     : EXT_TX_SET_DTT4_IDTX_1DDCT);
@@ -834,11 +846,17 @@
 static const int ext_tx_set_index[2][EXT_TX_SET_TYPES] = {
   {
       // Intra
-      0, -1, 2, 1, -1, -1,
+      0, -1, 2, 1, -1, -1, -1,
   },
   {
       // Inter
-      0, 3, -1, -1, 2, 1,
+      0, 3, -1, -1,
+#if USE_1D_16X16
+      -1, 2,
+#else
+      2, -1,
+#endif  // USE_1D_16X16
+      1,
   },
 };
 
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 29fe72d..ca85aa0 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1790,6 +1790,7 @@
                     21733, 24241, 26749, 28253, 29758, 31263) },
         { AOM_CDF16(1280, 1453, 1626, 2277, 2929, 3580, 4232, 16717, 19225,
                     21733, 24241, 26749, 28253, 29758, 31263) } },
+#if USE_1D_16X16
       { { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370,
                     29836, 31302) },
         { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370,
@@ -1798,6 +1799,16 @@
                     29836, 31302) },
         { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370,
                     29836, 31302) } },
+#else
+      { { AOM_CDF10(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904,
+                    28370) },
+        { AOM_CDF10(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904,
+                    28370) },
+        { AOM_CDF10(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904,
+                    28370) },
+        { AOM_CDF10(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904,
+                    28370) } },
+#endif  // USE_1D_16X16
       { { AOM_CDF2(1536) },
         { AOM_CDF2(1536) },
         { AOM_CDF2(1536) },
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index 8bcc6a5..bf738c8 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -415,6 +415,7 @@
                                                [CDF_SIZE(INTRA_MODES)];
 #endif
 
+#define USE_1D_16X16 1
 static const int av1_ext_tx_ind[EXT_TX_SET_TYPES][TX_TYPES] = {
   {
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -429,6 +430,9 @@
       1, 5, 6, 4, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0,
   },
   {
+      1, 2, 3, 6, 4, 5, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0,
+  },
+  {
       3, 4, 5, 8, 6, 7, 9, 10, 11, 0, 1, 2, 0, 0, 0, 0,
   },
   {
@@ -450,6 +454,9 @@
       9, 0, 10, 11, 3, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   },
   {
+      9, 0, 1, 2, 4, 5, 3, 6, 7, 8, 0, 0, 0, 0, 0, 0,
+  },
+  {
       9, 10, 11, 0, 1, 2, 4, 5, 3, 6, 7, 8, 0, 0, 0, 0,
   },
   {
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 8b97cd3..d72901e 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -350,6 +350,8 @@
   EXT_TX_SET_DTT4_IDTX,
   // Discrete Trig transforms w/o flip (4) + Identity (1) + 1D Hor/vert DCT (2)
   EXT_TX_SET_DTT4_IDTX_1DDCT,
+  // Discrete Trig transforms w/ flip (9) + Identity (1)
+  EXT_TX_SET_DTT9_IDTX,
   // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver DCT (2)
   EXT_TX_SET_DTT9_IDTX_1DDCT,
   // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver (6)