diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 9747aea..e9319b1 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -2136,24 +2136,6 @@
   }
 }
 
-double av1_estimate_txfm_block_entropy(int q_index,
-                                       const double *abs_coeff_mean,
-                                       int *qcoeff_arr, int coeff_num) {
-  double zero_bin_ratio = 2;
-  double dc_q_step = av1_dc_quant_QTX(q_index, 0, AOM_BITS_8) / 4.;
-  double ac_q_step = av1_ac_quant_QTX(q_index, 0, AOM_BITS_8) / 4.;
-  double est_rate = 0;
-  // dc coeff
-  est_rate += av1_estimate_coeff_entropy(dc_q_step, abs_coeff_mean[0],
-                                         zero_bin_ratio, qcoeff_arr[0]);
-  // ac coeff
-  for (int i = 1; i < coeff_num; ++i) {
-    est_rate += av1_estimate_coeff_entropy(ac_q_step, abs_coeff_mean[i],
-                                           zero_bin_ratio, qcoeff_arr[i]);
-  }
-  return est_rate;
-}
-
 #if CONFIG_RD_COMMAND
 void av1_read_rd_command(const char *filepath, RD_COMMAND *rd_command) {
   FILE *fptr = fopen(filepath, "r");
diff --git a/av1/encoder/tpl_model.h b/av1/encoder/tpl_model.h
index 434bf2d..eaeeaf2 100644
--- a/av1/encoder/tpl_model.h
+++ b/av1/encoder/tpl_model.h
@@ -600,22 +600,6 @@
 double av1_estimate_coeff_entropy(double q_step, double b,
                                   double zero_bin_ratio, int qcoeff);
 
-/*!\brief  Estimate entropy of a transform block using Laplace dsitribution
- *
- *\ingroup tpl_modelling
- *
- * \param[in]    q_index         quantizer index
- * \param[in]    abs_coeff_mean  array of mean absolute deviations
- * \param[in]    qcoeff_arr      array of quantized coefficients
- * \param[in]    coeff_num       number of coefficients per transform block
- *
- * \return estimated transform block entropy
- *
- */
-double av1_estimate_txfm_block_entropy(int q_index,
-                                       const double *abs_coeff_mean,
-                                       int *qcoeff_arr, int coeff_num);
-
 // TODO(angiebird): Add doxygen description here.
 int64_t av1_delta_rate_cost(int64_t delta_rate, int64_t recrf_dist,
                             int64_t srcrf_dist, int pix_num);
