Remove min_tx_size in MB_MODE_INFO

Not needed anymore.

Change-Id: I70a3333bda10de19b4e346fac414bafd12439e3e
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 82b4cc6..fd7604e 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -230,7 +230,6 @@
   BLOCK_SIZE sb_type;
   PREDICTION_MODE mode;
   TX_SIZE tx_size;
-  TX_SIZE min_tx_size;
   uint8_t inter_tx_size[INTER_TX_SIZE_BUF_LEN];
   int8_t skip;
   int8_t skip_mode;
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 8ba2bfd..d53e3d0 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -515,7 +515,6 @@
       }
     }
     mbmi->tx_size = tx_size;
-    mbmi->min_tx_size = TXSIZEMIN(mbmi->min_tx_size, tx_size);
     txfm_partition_update(xd->above_txfm_context + blk_col,
                           xd->left_txfm_context + blk_row, tx_size, tx_size);
     return;
@@ -540,7 +539,6 @@
         }
       }
       mbmi->tx_size = sub_txs;
-      mbmi->min_tx_size = mbmi->tx_size;
       txfm_partition_update(xd->above_txfm_context + blk_col,
                             xd->left_txfm_context + blk_row, sub_txs, tx_size);
       return;
@@ -563,7 +561,6 @@
       }
     }
     mbmi->tx_size = tx_size;
-    mbmi->min_tx_size = TXSIZEMIN(mbmi->min_tx_size, tx_size);
     txfm_partition_update(xd->above_txfm_context + blk_col,
                           xd->left_txfm_context + blk_row, tx_size, tx_size);
   }
@@ -645,7 +642,6 @@
     const int width = block_size_wide[bsize] >> tx_size_wide_log2[0];
     const int height = block_size_high[bsize] >> tx_size_wide_log2[0];
 
-    mbmi->min_tx_size = TX_SIZES_LARGEST;
     for (int idy = 0; idy < height; idy += bh)
       for (int idx = 0; idx < width; idx += bw)
         read_tx_size_vartx(xd, mbmi, max_tx_size, 0, idy, idx, r);
@@ -653,7 +649,6 @@
     mbmi->tx_size = read_tx_size(cm, xd, inter_block_tx, !mbmi->skip, r);
     if (inter_block_tx)
       memset(mbmi->inter_tx_size, mbmi->tx_size, sizeof(mbmi->inter_tx_size));
-    mbmi->min_tx_size = mbmi->tx_size;
     set_txfm_ctxs(mbmi->tx_size, xd->n8_w, xd->n8_h,
                   mbmi->skip && is_inter_block(mbmi), xd);
   }
diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index 1a0e7b7..d32b3cf 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -103,7 +103,6 @@
 
 typedef struct {
   TX_SIZE tx_size;
-  TX_SIZE min_tx_size;
   TX_SIZE inter_tx_size[INTER_TX_SIZE_BUF_LEN];
   uint8_t blk_skip[MAX_MIB_SIZE * MAX_MIB_SIZE * 8];
   TX_TYPE txk_type[TXK_TYPE_BUF_LEN];
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index fe333e9..e7f280d 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -376,7 +376,6 @@
   }
   if (is_inter_block(mbmi)) {
     memset(mbmi->inter_tx_size, mbmi->tx_size, sizeof(mbmi->inter_tx_size));
-    mbmi->min_tx_size = mbmi->tx_size;
   }
 }
 
@@ -4709,7 +4708,6 @@
       }
     }
 
-    mbmi->min_tx_size = mbmi->tx_size;
     av1_update_txb_context(cpi, td, dry_run, bsize, rate, mi_row, mi_col,
                            tile_data->allow_update_cdf);
   } else {
@@ -4749,7 +4747,6 @@
 #endif
 
     av1_encode_sb(cpi, x, bsize, mi_row, mi_col, dry_run);
-    if (mbmi->skip) mbmi->min_tx_size = mbmi->tx_size;
     av1_tokenize_sb_vartx(cpi, td, t, dry_run, mi_row, mi_col, bsize, rate,
                           tile_data->allow_update_cdf);
   }
@@ -4757,17 +4754,15 @@
   if (!dry_run) {
     if (av1_allow_intrabc(cm) && is_intrabc_block(mbmi))
       td->intrabc_used_this_tile = 1;
-    TX_SIZE tx_size =
-        is_inter && !mbmi->skip ? mbmi->min_tx_size : mbmi->tx_size;
     if (cm->tx_mode == TX_MODE_SELECT && !xd->lossless[mbmi->segment_id] &&
         mbmi->sb_type > BLOCK_4X4 && !(is_inter && (mbmi->skip || seg_skip))) {
       if (is_inter) {
         tx_partition_count_update(cm, x, bsize, mi_row, mi_col, td->counts,
                                   tile_data->allow_update_cdf);
       } else {
-        if (tx_size != get_max_rect_tx_size(bsize)) ++x->txb_split_count;
+        if (mbmi->tx_size != get_max_rect_tx_size(bsize)) ++x->txb_split_count;
       }
-      assert(IMPLIES(is_rect_tx(tx_size), is_rect_tx_allowed(xd, mbmi)));
+      assert(IMPLIES(is_rect_tx(mbmi->tx_size), is_rect_tx_allowed(xd, mbmi)));
     } else {
       int i, j;
       TX_SIZE intra_tx_size;
@@ -4779,12 +4774,12 @@
           intra_tx_size = tx_size_from_tx_mode(bsize, cm->tx_mode);
         }
       } else {
-        intra_tx_size = tx_size;
+        intra_tx_size = mbmi->tx_size;
         if (block_signals_txsize(bsize) && !xd->lossless[mbmi->segment_id] &&
             tile_data->allow_update_cdf) {
           const int tx_size_ctx = get_tx_size_context(xd);
           const int32_t tx_size_cat = bsize_to_tx_size_cat(bsize, 0);
-          const int depth = tx_size_to_depth(tx_size, bsize, 0);
+          const int depth = tx_size_to_depth(intra_tx_size, bsize, 0);
           const int max_depths = bsize_to_max_depth(bsize, 0);
           update_cdf(xd->tile_ctx->tx_size_cdf[tx_size_cat][tx_size_ctx], depth,
                      max_depths + 1);
@@ -4796,7 +4791,6 @@
           if (mi_col + i < cm->mi_cols && mi_row + j < cm->mi_rows)
             mi_8x8[mis * j + i]->mbmi.tx_size = intra_tx_size;
 
-      mbmi->min_tx_size = intra_tx_size;
       if (intra_tx_size != get_max_rect_tx_size(bsize)) ++x->txb_split_count;
     }
   }
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index f976daa..20e249e 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -2377,7 +2377,6 @@
   MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
   const int is_inter = is_inter_block(mbmi);
   mbmi->tx_size = tx_size_from_tx_mode(bs, cm->tx_mode);
-  mbmi->min_tx_size = mbmi->tx_size;
   const TxSetType tx_set_type =
       get_ext_tx_set_type(mbmi->tx_size, bs, is_inter, cm->reduced_tx_set_used);
   prune_tx(cpi, bs, x, xd, tx_set_type, 0);
@@ -2397,8 +2396,6 @@
   MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
 
   mbmi->tx_size = TX_4X4;
-  mbmi->min_tx_size = TX_4X4;
-
   if (skip_invalid_tx_size_for_filter_intra(mbmi, AOM_PLANE_Y, rd_stats)) {
     return;
   }
@@ -2500,7 +2497,6 @@
          sizeof(best_txk_type[0]) * TXK_TYPE_BUF_LEN);
   memcpy(x->blk_skip[0], best_blk_skip, sizeof(best_blk_skip[0]) * n4);
 
-  mbmi->min_tx_size = mbmi->tx_size;
   // Reset the pruning flags.
   av1_zero(x->tx_search_prune);
 }
@@ -3867,8 +3863,6 @@
   int s0 = x->skip_cost[skip_ctx][0];
   int s1 = x->skip_cost[skip_ctx][1];
   int64_t rd;
-  const int max_blocks_high = max_block_high(xd, bsize, 0);
-  const int max_blocks_wide = max_block_wide(xd, bsize, 0);
 
   // TODO(debargha): enable this as a speed feature where the
   // select_inter_block_yrd() function above will use a simplified search
@@ -3885,15 +3879,6 @@
                          rd_info_tree);
   if (rd_stats->rate == INT_MAX) return INT64_MAX;
 
-  mbmi->min_tx_size = mbmi->inter_tx_size[0];
-  for (int row = 0; row < max_blocks_high; ++row) {
-    for (int col = 0; col < max_blocks_wide; ++col) {
-      const int index = av1_get_txb_size_index(bsize, row, col);
-      mbmi->min_tx_size =
-          TXSIZEMIN(mbmi->min_tx_size, mbmi->inter_tx_size[index]);
-    }
-  }
-
   // If fast_tx_search is true, only DCT and 1D DCT were tested in
   // select_inter_block_yrd() above. Do a better search for tx type with
   // tx sizes already decided.
@@ -4110,7 +4095,6 @@
   const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
   tx_rd_info->hash_value = hash;
   tx_rd_info->tx_size = mbmi->tx_size;
-  tx_rd_info->min_tx_size = mbmi->min_tx_size;
   memcpy(tx_rd_info->blk_skip, x->blk_skip[0],
          sizeof(tx_rd_info->blk_skip[0]) * n4);
   av1_copy(tx_rd_info->inter_tx_size, mbmi->inter_tx_size);
@@ -4123,7 +4107,6 @@
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
   mbmi->tx_size = tx_rd_info->tx_size;
-  mbmi->min_tx_size = tx_rd_info->min_tx_size;
   memcpy(x->blk_skip[0], tx_rd_info->blk_skip,
          sizeof(tx_rd_info->blk_skip[0]) * n4);
   av1_copy(mbmi->inter_tx_size, tx_rd_info->inter_tx_size);
@@ -4356,7 +4339,6 @@
   memset(mbmi->txk_type, DCT_DCT, sizeof(mbmi->txk_type[0]) * TXK_TYPE_BUF_LEN);
   memset(mbmi->inter_tx_size, tx_size, sizeof(mbmi->inter_tx_size));
   mbmi->tx_size = tx_size;
-  mbmi->min_tx_size = tx_size;
   memset(x->blk_skip[0], 1, sizeof(uint8_t) * n4);
   rd_stats->skip = 1;
 
@@ -4394,7 +4376,6 @@
   const int is_inter = is_inter_block(mbmi);
   TX_SIZE best_tx_size[INTER_TX_SIZE_BUF_LEN] = { 0 };
   TX_SIZE best_tx = max_txsize_rect_lookup[bsize];
-  TX_SIZE best_min_tx_size = TX_SIZES_ALL;
   uint8_t best_blk_skip[MAX_MIB_SIZE * MAX_MIB_SIZE];
   const int n4 = bsize_to_num_blk(bsize);
   // Get the tx_size 1 level down
@@ -4460,7 +4441,6 @@
     best_rd = rd;
     *rd_stats = this_rd_stats;
     best_tx = mbmi->tx_size;
-    best_min_tx_size = mbmi->min_tx_size;
     memcpy(best_blk_skip, x->blk_skip[0], sizeof(best_blk_skip[0]) * n4);
     found = 1;
     av1_copy(best_tx_size, mbmi->inter_tx_size);
@@ -4479,7 +4459,6 @@
   // array into mbmi.
   av1_copy(mbmi->inter_tx_size, best_tx_size);
   mbmi->tx_size = best_tx;
-  mbmi->min_tx_size = best_min_tx_size;
   memcpy(x->blk_skip[0], best_blk_skip, sizeof(best_blk_skip[0]) * n4);
 
   // Save the RD search results into tx_rd_record.
@@ -9676,7 +9655,6 @@
       for (i = 0; i < num_planes; ++i)
         memcpy(ctx->blk_skip[i], x->blk_skip[i],
                sizeof(uint8_t) * ctx->num_4x4_blk);
-      best_mbmode.min_tx_size = mbmi->min_tx_size;
       av1_copy(best_mbmode.txk_type, mbmi->txk_type);
       rd_cost->rate +=
           (rd_stats_y.rate + rd_stats_uv.rate - best_rate_y - best_rate_uv);
@@ -9809,7 +9787,6 @@
                                 : max_txsize_rect_lookup[bsize];
       memset(best_mbmode.inter_tx_size, best_mbmode.tx_size,
              sizeof(best_mbmode.inter_tx_size));
-      best_mbmode.min_tx_size = best_mbmode.tx_size;
       set_txfm_ctxs(best_mbmode.tx_size, xd->n8_w, xd->n8_h,
                     best_mbmode.skip && is_inter_block(mbmi), xd);