diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c
index 5093eba..788427a 100644
--- a/av1/encoder/encodetxb.c
+++ b/av1/encoder/encodetxb.c
@@ -373,12 +373,6 @@
   return cost;
 }
 
-typedef struct TxbParams {
-  const AV1_COMP *cpi;
-  ThreadData *td;
-  int rate;
-} TxbParams;
-
 int av1_get_txb_entropy_context(const tran_low_t *qcoeff,
                                 const SCAN_ORDER *scan_order, int eob) {
   const int16_t *scan = scan_order->scan;
@@ -397,7 +391,7 @@
 static void update_txb_context(int plane, int block, int blk_row, int blk_col,
                                BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
                                void *arg) {
-  TxbParams *const args = arg;
+  struct tokenize_b_args *const args = arg;
   const AV1_COMP *cpi = args->cpi;
   const AV1_COMMON *cm = &cpi->common;
   ThreadData *const td = args->td;
@@ -421,7 +415,7 @@
 static void update_and_record_txb_context(int plane, int block, int blk_row,
                                           int blk_col, BLOCK_SIZE plane_bsize,
                                           TX_SIZE tx_size, void *arg) {
-  TxbParams *const args = arg;
+  struct tokenize_b_args *const args = arg;
   const AV1_COMP *cpi = args->cpi;
   const AV1_COMMON *cm = &cpi->common;
   ThreadData *const td = args->td;
@@ -568,7 +562,7 @@
   const int ctx = av1_get_skip_context(xd);
   const int skip_inc =
       !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP);
-  struct TxbParams arg = { cpi, td, 0 };
+  struct tokenize_b_args arg = { cpi, td, NULL, 0 };
   (void)rate;
   (void)mi_row;
   (void)mi_col;
diff --git a/av1/encoder/tokenize.c b/av1/encoder/tokenize.c
index 01ca36c..4ed829c 100644
--- a/av1/encoder/tokenize.c
+++ b/av1/encoder/tokenize.c
@@ -268,13 +268,6 @@
 };
 #endif  // !CONFIG_EC_MULTISYMBOL
 
-struct tokenize_b_args {
-  const AV1_COMP *cpi;
-  ThreadData *td;
-  TOKENEXTRA **tp;
-  int this_rate;
-};
-
 #if !CONFIG_PVQ || CONFIG_VAR_TX
 static void cost_coeffs_b(int plane, int block, int blk_row, int blk_col,
                           BLOCK_SIZE plane_bsize, TX_SIZE tx_size, void *arg) {
diff --git a/av1/encoder/tokenize.h b/av1/encoder/tokenize.h
index 098d3d1..0a8dc55 100644
--- a/av1/encoder/tokenize.h
+++ b/av1/encoder/tokenize.h
@@ -58,6 +58,13 @@
 struct AV1_COMP;
 struct ThreadData;
 
+struct tokenize_b_args {
+  const struct AV1_COMP *cpi;
+  struct ThreadData *td;
+  TOKENEXTRA **tp;
+  int this_rate;
+};
+
 typedef enum {
   OUTPUT_ENABLED = 0,
   DRY_RUN_NORMAL,
