Remove special functions to get fwd/inv configs.

Reuse the existing ones to support the 64x64, 64x32 and 32x64 configs
instead.

Change-Id: Ibadc65eb03518d19146f32657ccfd6949c0071cc
diff --git a/av1/common/av1_fwd_txfm1d_cfg.h b/av1/common/av1_fwd_txfm1d_cfg.h
index 788ebc5..1d0c6b5 100644
--- a/av1/common/av1_fwd_txfm1d_cfg.h
+++ b/av1/common/av1_fwd_txfm1d_cfg.h
@@ -358,4 +358,17 @@
   NULL,                    // .cos_bit
   TXFM_TYPE_IDENTITY32,    // .txfm_type
 };
+
+#if CONFIG_TX64X64
+//  ---------------- row/col config fwd_identity_64 ----------------
+static const TXFM_1D_CFG fwd_txfm_1d_cfg_identity_64 = {
+  64,  // .txfm_size
+  1,   // .stage_num
+  // 1,  // .log_scale
+  fwd_shift_64,            // .shift
+  fwd_stage_range_idx_64,  // .stage_range
+  NULL,                    // .cos_bit
+  TXFM_TYPE_IDENTITY64,    // .txfm_type
+};
+#endif  // CONFIG_TX64X64
 #endif  // AV1_FWD_TXFM2D_CFG_H_
diff --git a/av1/common/av1_fwd_txfm2d.c b/av1/common/av1_fwd_txfm2d.c
index 368aa08..84c3b10 100644
--- a/av1/common/av1_fwd_txfm2d.c
+++ b/av1/common/av1_fwd_txfm2d.c
@@ -342,7 +342,7 @@
 void av1_fwd_txfm2d_64x64_c(const int16_t *input, int32_t *output, int stride,
                             TX_TYPE tx_type, int bd) {
   int32_t txfm_buf[64 * 64];
-  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_64x64_cfg(tx_type);
+  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_cfg(tx_type, TX_64X64);
   fwd_txfm2d_c(input, output, stride, &cfg, txfm_buf, bd);
 
   // Zero out top-right 32x32 area.
@@ -360,7 +360,7 @@
 void av1_fwd_txfm2d_32x64_c(const int16_t *input, int32_t *output, int stride,
                             TX_TYPE tx_type, int bd) {
   int32_t txfm_buf[32 * 64];
-  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_32x64_cfg(tx_type);
+  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_cfg(tx_type, TX_32X64);
   fwd_txfm2d_c(input, output, stride, &cfg, txfm_buf, bd);
 
   // Zero out the bottom 32x32 area.
@@ -371,7 +371,7 @@
 void av1_fwd_txfm2d_64x32_c(const int16_t *input, int32_t *output, int stride,
                             TX_TYPE tx_type, int bd) {
   int32_t txfm_buf[64 * 32];
-  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_64x32_cfg(tx_type);
+  TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_cfg(tx_type, TX_64X32);
   fwd_txfm2d_c(input, output, stride, &cfg, txfm_buf, bd);
 
   // Zero out right 32x32 area.
@@ -388,31 +388,63 @@
 static const TXFM_1D_CFG *fwd_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   { &fwd_txfm_1d_col_cfg_dct_4, &fwd_txfm_1d_col_cfg_dct_8,
-    &fwd_txfm_1d_col_cfg_dct_16, &fwd_txfm_1d_col_cfg_dct_32 },
+    &fwd_txfm_1d_col_cfg_dct_16, &fwd_txfm_1d_col_cfg_dct_32,
+#if CONFIG_TX64X64
+    &fwd_txfm_1d_col_cfg_dct_64
+#endif  // CONFIG_TX64X64
+  },
   // ADST
   { &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
-    &fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32 },
+    &fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32,
+#if CONFIG_TX64X64
+    NULL
+#endif  // CONFIG_TX64X64
+  },
   // FLIPADST
   { &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
-    &fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32 },
+    &fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32,
+#if CONFIG_TX64X64
+    NULL
+#endif  // CONFIG_TX64X64
+  },
   // IDENTITY
   { &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
-    &fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32 },
+    &fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32,
+#if CONFIG_TX64X64
+    &fwd_txfm_1d_cfg_identity_64
+#endif  // CONFIG_TX64X64
+  },
 };
 
 static const TXFM_1D_CFG *fwd_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   { &fwd_txfm_1d_row_cfg_dct_4, &fwd_txfm_1d_row_cfg_dct_8,
-    &fwd_txfm_1d_row_cfg_dct_16, &fwd_txfm_1d_row_cfg_dct_32 },
+    &fwd_txfm_1d_row_cfg_dct_16, &fwd_txfm_1d_row_cfg_dct_32,
+#if CONFIG_TX64X64
+    &fwd_txfm_1d_row_cfg_dct_64
+#endif  // CONFIG_TX64X64
+  },
   // ADST
   { &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
-    &fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32 },
+    &fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32,
+#if CONFIG_TX64X64
+    NULL
+#endif  // CONFIG_TX64X64
+  },
   // FLIPADST
   { &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
-    &fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32 },
+    &fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32,
+#if CONFIG_TX64X64
+    NULL
+#endif  // CONFIG_TX64X64
+  },
   // IDENTITY
   { &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
-    &fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32 },
+    &fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32,
+#if CONFIG_TX64X64
+    &fwd_txfm_1d_cfg_identity_64
+#endif  // CONFIG_TX64X64
+  },
 };
 
 TXFM_2D_FLIP_CFG av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size) {
@@ -426,54 +458,3 @@
   cfg.row_cfg = fwd_txfm_row_cfg_ls[tx_type_row][tx_size_row];
   return cfg;
 }
-
-#if CONFIG_TX64X64
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_32x64_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg;
-  const TX_TYPE_1D tx_type_row = htx_tab[tx_type];
-  const TX_SIZE tx_size_row = txsize_horz_map[TX_32X64];
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = &fwd_txfm_1d_col_cfg_dct_64;
-      cfg.row_cfg = fwd_txfm_row_cfg_ls[tx_type_row][tx_size_row];
-      cfg.ud_flip = 0;
-      cfg.lr_flip = 0;
-      break;
-    default: assert(0);
-  }
-  return cfg;
-}
-
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_64x32_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg;
-  const TX_TYPE_1D tx_type_col = vtx_tab[tx_type];
-  const TX_SIZE tx_size_col = txsize_vert_map[TX_64X32];
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = fwd_txfm_col_cfg_ls[tx_type_col][tx_size_col];
-      cfg.row_cfg = &fwd_txfm_1d_row_cfg_dct_64;
-      cfg.ud_flip = 0;
-      cfg.lr_flip = 0;
-      break;
-    default: assert(0);
-  }
-  return cfg;
-}
-
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_64x64_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg;
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = &fwd_txfm_1d_col_cfg_dct_64;
-      cfg.row_cfg = &fwd_txfm_1d_row_cfg_dct_64;
-      cfg.ud_flip = 0;
-      cfg.lr_flip = 0;
-      break;
-    default:
-      cfg.ud_flip = 0;
-      cfg.lr_flip = 0;
-      assert(0);
-  }
-  return cfg;
-}
-#endif  // CONFIG_TX64X64
diff --git a/av1/common/av1_inv_txfm1d_cfg.h b/av1/common/av1_inv_txfm1d_cfg.h
index 45526ec..4ccc739 100644
--- a/av1/common/av1_inv_txfm1d_cfg.h
+++ b/av1/common/av1_inv_txfm1d_cfg.h
@@ -348,7 +348,7 @@
 };
 
 #if CONFIG_TX64X64
-//  ---------------- row/col config inv_identity_32 ----------------
+//  ---------------- row/col config inv_identity_64 ----------------
 static const TXFM_1D_CFG inv_txfm_1d_cfg_identity_64 = {
   64,                      // .txfm_size
   1,                       // .stage_num
diff --git a/av1/common/av1_inv_txfm2d.c b/av1/common/av1_inv_txfm2d.c
index 938140e..9e59e13 100644
--- a/av1/common/av1_inv_txfm2d.c
+++ b/av1/common/av1_inv_txfm2d.c
@@ -115,47 +115,6 @@
   return cfg;
 }
 
-#if CONFIG_TX64X64
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_64x64_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg = { 0, 0, NULL, NULL };
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = &inv_txfm_1d_col_cfg_dct_64;
-      cfg.row_cfg = &inv_txfm_1d_row_cfg_dct_64;
-      set_flip_cfg(tx_type, &cfg);
-      break;
-    default: assert(0);
-  }
-  return cfg;
-}
-
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_32x64_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg = { 0, 0, NULL, NULL };
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = &inv_txfm_1d_col_cfg_dct_64;
-      cfg.row_cfg = &inv_txfm_1d_row_cfg_dct_32;
-      set_flip_cfg(tx_type, &cfg);
-      break;
-    default: assert(0);
-  }
-  return cfg;
-}
-
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_64x32_cfg(TX_TYPE tx_type) {
-  TXFM_2D_FLIP_CFG cfg = { 0, 0, NULL, NULL };
-  switch (tx_type) {
-    case DCT_DCT:
-      cfg.col_cfg = &inv_txfm_1d_col_cfg_dct_32;
-      cfg.row_cfg = &inv_txfm_1d_row_cfg_dct_64;
-      set_flip_cfg(tx_type, &cfg);
-      break;
-    default: assert(0);
-  }
-  return cfg;
-}
-#endif  // CONFIG_TX64X64
-
 void av1_gen_inv_stage_range(int8_t *stage_range_col, int8_t *stage_range_row,
                              const TXFM_2D_FLIP_CFG *cfg, int8_t fwd_shift,
                              int bd) {
diff --git a/av1/common/av1_txfm.h b/av1/common/av1_txfm.h
index 019f761..40a30e8 100644
--- a/av1/common/av1_txfm.h
+++ b/av1/common/av1_txfm.h
@@ -385,14 +385,6 @@
 
 TXFM_2D_FLIP_CFG av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size);
 TXFM_2D_FLIP_CFG av1_get_inv_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size);
-#if CONFIG_TX64X64
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_64x64_cfg(TX_TYPE tx_type);
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_64x32_cfg(TX_TYPE tx_type);
-TXFM_2D_FLIP_CFG av1_get_fwd_txfm_32x64_cfg(TX_TYPE tx_type);
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_64x64_cfg(TX_TYPE tx_type);
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_64x32_cfg(TX_TYPE tx_type);
-TXFM_2D_FLIP_CFG av1_get_inv_txfm_32x64_cfg(TX_TYPE tx_type);
-#endif  // CONFIG_TX64X64
 #ifdef __cplusplus
 }
 #endif  // __cplusplus
diff --git a/test/av1_fwd_txfm2d_test.cc b/test/av1_fwd_txfm2d_test.cc
index 7d6bc72..c998541 100644
--- a/test/av1_fwd_txfm2d_test.cc
+++ b/test/av1_fwd_txfm2d_test.cc
@@ -186,14 +186,8 @@
 #if CONFIG_TX64X64
         if (tx_size == TX_64X64 && tx_type != DCT_DCT) continue;
 #endif  // CONFIG_TX64X64
-        const TXFM_2D_FLIP_CFG cfg =
-#if CONFIG_TX64X64
-            (tx_size == TX_64X64)
-                ? av1_get_fwd_txfm_64x64_cfg(static_cast<TX_TYPE>(tx_type))
-                :
-#endif  // CONFIG_TX64X64
-                av1_get_fwd_txfm_cfg(static_cast<TX_TYPE>(tx_type),
-                                     static_cast<TX_SIZE>(tx_size));
+        const TXFM_2D_FLIP_CFG cfg = av1_get_fwd_txfm_cfg(
+            static_cast<TX_TYPE>(tx_type), static_cast<TX_SIZE>(tx_size));
         int8_t stage_range_col[MAX_TXFM_STAGE_NUM];
         int8_t stage_range_row[MAX_TXFM_STAGE_NUM];
         av1_gen_fwd_stage_range(stage_range_col, stage_range_row, &cfg, bd);
diff --git a/test/av1_inv_txfm2d_test.cc b/test/av1_inv_txfm2d_test.cc
index 8baaf9f..da73212 100644
--- a/test/av1_inv_txfm2d_test.cc
+++ b/test/av1_inv_txfm2d_test.cc
@@ -193,14 +193,8 @@
 #if CONFIG_TX64X64
         if (tx_size == TX_64X64 && tx_type != DCT_DCT) continue;
 #endif  // CONFIG_TX64X64
-        const TXFM_2D_FLIP_CFG cfg =
-#if CONFIG_TX64X64
-            (tx_size == TX_64X64)
-                ? av1_get_inv_txfm_64x64_cfg(static_cast<TX_TYPE>(tx_type))
-                :
-#endif  // CONFIG_TX64X64
-                av1_get_inv_txfm_cfg(static_cast<TX_TYPE>(tx_type),
-                                     static_cast<TX_SIZE>(tx_size));
+        const TXFM_2D_FLIP_CFG cfg = av1_get_inv_txfm_cfg(
+            static_cast<TX_TYPE>(tx_type), static_cast<TX_SIZE>(tx_size));
         int8_t stage_range_col[MAX_TXFM_STAGE_NUM];
         int8_t stage_range_row[MAX_TXFM_STAGE_NUM];
         av1_gen_inv_stage_range(stage_range_col, stage_range_row, &cfg,