diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index e4e903f..ea3cfc0 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -569,6 +569,15 @@
     }
   }
 
+  int rate_cost = 1;
+  get_rate_distortion(&rate_cost, &recon_error, &pred_error, src_diff, coeff,
+                      qcoeff, dqcoeff, cm, x, NULL, rec_buffer_pool,
+                      rec_stride_pool, tx_size, best_mode, mi_row, mi_col,
+                      use_y_only_rate_distortion, NULL);
+
+  tpl_stats->intra_dist = recon_error << TPL_DEP_COST_SCALE_LOG2;
+  tpl_stats->intra_sse = pred_error << TPL_DEP_COST_SCALE_LOG2;
+
   if (cpi->third_pass_ctx &&
       frame_offset < cpi->third_pass_ctx->frame_info_count &&
       tpl_data->frame_idx < gf_group->size) {
@@ -889,7 +898,7 @@
           ? tpl_data->src_ref_frame[comp_ref_frames[best_cmp_rf_idx][1]]
           : NULL,
     };
-    int rate_cost = 1;
+    rate_cost = 1;
     get_rate_distortion(&rate_cost, &recon_error, &pred_error, src_diff, coeff,
                         qcoeff, dqcoeff, cm, x, ref_frame_ptr, rec_buffer_pool,
                         rec_stride_pool, tx_size, best_mode, mi_row, mi_col,
@@ -906,7 +915,7 @@
   tpl_stats->srcrf_sse = pred_error << TPL_DEP_COST_SCALE_LOG2;
 
   // Final encode
-  int rate_cost = 0;
+  rate_cost = 0;
   const YV12_BUFFER_CONFIG *ref_frame_ptr[2];
 
   ref_frame_ptr[0] =
@@ -923,11 +932,12 @@
                       rec_stride_pool, tx_size, best_mode, mi_row, mi_col,
                       use_y_only_rate_distortion, tpl_txfm_stats);
 
-  tpl_stats->recrf_dist = recon_error << (TPL_DEP_COST_SCALE_LOG2);
+  tpl_stats->recrf_dist = recon_error << TPL_DEP_COST_SCALE_LOG2;
+  tpl_stats->recrf_sse = pred_error << TPL_DEP_COST_SCALE_LOG2;
   tpl_stats->recrf_rate = rate_cost;
 
   if (!is_inter_mode(best_mode)) {
-    tpl_stats->srcrf_dist = recon_error << (TPL_DEP_COST_SCALE_LOG2);
+    tpl_stats->srcrf_dist = recon_error << TPL_DEP_COST_SCALE_LOG2;
     tpl_stats->srcrf_rate = rate_cost;
     tpl_stats->srcrf_sse = pred_error << TPL_DEP_COST_SCALE_LOG2;
   }
diff --git a/av1/encoder/tpl_model.h b/av1/encoder/tpl_model.h
index ec49ea5..ed98478 100644
--- a/av1/encoder/tpl_model.h
+++ b/av1/encoder/tpl_model.h
@@ -106,7 +106,10 @@
 typedef struct TplDepStats {
   int64_t srcrf_sse;
   int64_t srcrf_dist;
+  int64_t recrf_sse;
   int64_t recrf_dist;
+  int64_t intra_sse;
+  int64_t intra_dist;
   int64_t cmp_recrf_dist[2];
   int64_t mc_dep_rate;
   int64_t mc_dep_dist;
diff --git a/av1/qmode_rc/ratectrl_qmode_interface.h b/av1/qmode_rc/ratectrl_qmode_interface.h
index d50b587..6e71207 100644
--- a/av1/qmode_rc/ratectrl_qmode_interface.h
+++ b/av1/qmode_rc/ratectrl_qmode_interface.h
@@ -67,16 +67,18 @@
 };
 
 struct TplBlockStats {
-  int16_t height;  // Pixel height.
-  int16_t width;   // Pixel width.
-  int16_t row;     // Pixel row of the top left corner.
-  int16_t col;     // Pixel col of the top left corner.
-  int64_t intra_cost;
-  int64_t inter_cost;
+  int16_t height;      // Pixel height.
+  int16_t width;       // Pixel width.
+  int16_t row;         // Pixel row of the top left corner.
+  int16_t col;         // Pixel col of the top left corner.
+  int64_t intra_cost;  // Rd cost of the best intra mode.
+  int64_t inter_cost;  // Rd cost of the best inter mode.
 
   // Valid only if TplFrameStats::rate_dist_present is true:
-  int64_t recrf_rate;  // Bits when using recon as reference.
-  int64_t recrf_dist;  // Distortion when using recon as reference.
+  int64_t recrf_rate;      // Bits when using recon as reference.
+  int64_t recrf_dist;      // Distortion when using recon as reference.
+  int64_t intra_pred_err;  // Prediction residual of the intra mode.
+  int64_t inter_pred_err;  // Prediction residual of the inter mode.
 
   std::array<MotionVector, kBlockRefCount> mv;
   std::array<int, kBlockRefCount> ref_frame_index;
