Remove unused variables from AV1_COMMON & AV1_COMP

Remove a number of variables from AV1_COMMON and AV1_COMP which were
* Never used
* Assigned to but never read
* Assigned and read but had no effect
* Duplicates of other variables

This forms part of wider restructuring and refactoring in order to
achieve a clean API separation at the entry to the low-level encoder.

BUG=aomedia:2244

Change-Id: I874e4cb2a050cf1b477b1999de7b1484aa0d0216
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 51bbea7..3a3764d 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1086,10 +1086,8 @@
   // Features disabled, 0, with delta coding (Default state).
   av1_clearall_segfeatures(&cm->seg);
 
-  cm->current_frame_seg_map = cm->cur_frame->seg_map;
-
-  if (cm->current_frame_seg_map)
-    memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
+  if (cm->cur_frame->seg_map)
+    memset(cm->cur_frame->seg_map, 0, (cm->mi_rows * cm->mi_cols));
 
   // reset mode ref deltas
   av1_set_default_ref_deltas(cm->cur_frame->ref_deltas);
@@ -1099,7 +1097,6 @@
   av1_default_coef_probs(cm);
   init_mode_probs(cm->fc);
   av1_init_mv_probs(cm);
-  av1_init_lv_map(cm);
   cm->fc->initialized = 1;
   av1_setup_frame_contexts(cm);
 
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 117afb6..d6f7e66 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -194,13 +194,6 @@
   InternalFrameBufferList int_frame_buffers;
 } BufferPool;
 
-typedef struct {
-  int base_ctx_table[2 /*row*/][2 /*col*/][3 /*sig_map*/]
-                    [BASE_CONTEXT_POSITION_NUM + 1];
-} LV_MAP_CTX_TABLE;
-typedef int BASE_CTX_TABLE[2 /*col*/][3 /*sig_map*/]
-                          [BASE_CONTEXT_POSITION_NUM + 1];
-
 typedef struct BitstreamLevel {
   uint8_t major;
   uint8_t minor;
@@ -337,8 +330,6 @@
   int height;
   int render_width;
   int render_height;
-  int last_width;
-  int last_height;
   int timing_info_present;
   aom_timing_info_t timing_info;
   int buffer_removal_time_present;
@@ -348,7 +339,6 @@
   uint32_t frame_presentation_time;
 
   int largest_tile_id;
-  size_t largest_tile_size;
   int context_update_tile_id;
 
   // Scale of the current frame with respect to itself.
@@ -375,8 +365,6 @@
   // decoded) in the buffer pool 'cm->buffer_pool'.
   int new_fb_idx;
 
-  FRAME_TYPE last_frame_type; /* last frame's frame type for motion search.*/
-
   int show_frame;
   int showable_frame;  // frame can be used as show existing frame in future
   int show_existing_frame;
@@ -384,7 +372,6 @@
   int is_reference_frame;
   int reset_decoder_state;
 
-  uint8_t last_intra_only;
   uint8_t disable_cdf_update;
   int allow_high_precision_mv;
   int cur_frame_force_integer_mv;  // 0 the default in AOM, 1 only integer
@@ -465,8 +452,6 @@
   int allow_ref_frame_mvs;
 
   uint8_t *last_frame_seg_map;
-  uint8_t *current_frame_seg_map;
-  int seg_map_alloc_size;
 
   InterpFilter interp_filter;
 
@@ -509,13 +494,10 @@
   int fb_of_context_type[REF_FRAMES];
   int primary_ref_frame;
 
-  aom_bit_depth_t dequant_bit_depth;  // bit_depth of current dequantizer
-
   int error_resilient_mode;
   int force_primary_ref_none;
 
   int tile_cols, tile_rows;
-  int last_tile_cols, last_tile_rows;
 
   int max_tile_width_sb;
   int min_log2_tile_cols;
@@ -556,7 +538,6 @@
   int ref_frame_id[REF_FRAMES];
   int valid_for_referencing[REF_FRAMES];
   int invalid_delta_frame_id_minus_1;
-  LV_MAP_CTX_TABLE coeff_ctx_table;
   TPL_MV_REF *tpl_mvs;
   int tpl_mvs_mem_size;
   // TODO(jingning): This can be combined with sign_bias later.
diff --git a/av1/common/pred_common.h b/av1/common/pred_common.h
index f667057..4ddb843 100644
--- a/av1/common/pred_common.h
+++ b/av1/common/pred_common.h
@@ -48,16 +48,16 @@
   int prev_l = -1;   // left segment_id
   int prev_u = -1;   // top segment_id
   if ((xd->up_available) && (xd->left_available)) {
-    prev_ul = get_segment_id(cm, cm->current_frame_seg_map, BLOCK_4X4,
-                             mi_row - 1, mi_col - 1);
+    prev_ul = get_segment_id(cm, cm->cur_frame->seg_map, BLOCK_4X4, mi_row - 1,
+                             mi_col - 1);
   }
   if (xd->up_available) {
-    prev_u = get_segment_id(cm, cm->current_frame_seg_map, BLOCK_4X4,
-                            mi_row - 1, mi_col - 0);
+    prev_u = get_segment_id(cm, cm->cur_frame->seg_map, BLOCK_4X4, mi_row - 1,
+                            mi_col - 0);
   }
   if (xd->left_available) {
-    prev_l = get_segment_id(cm, cm->current_frame_seg_map, BLOCK_4X4,
-                            mi_row - 0, mi_col - 1);
+    prev_l = get_segment_id(cm, cm->cur_frame->seg_map, BLOCK_4X4, mi_row - 0,
+                            mi_col - 1);
   }
 
   // Pick CDF index based on number of matching/out-of-bounds segment IDs.
diff --git a/av1/common/tile_common.h b/av1/common/tile_common.h
index aa94a4b..7f9544d8 100644
--- a/av1/common/tile_common.h
+++ b/av1/common/tile_common.h
@@ -25,7 +25,6 @@
 typedef struct TileInfo {
   int mi_row_start, mi_row_end;
   int mi_col_start, mi_col_end;
-  int tg_horz_boundary;
   int tile_row;
   int tile_col;
 } TileInfo;
diff --git a/av1/common/txb_common.c b/av1/common/txb_common.c
index c96d37c..cb92bd8 100644
--- a/av1/common/txb_common.c
+++ b/av1/common/txb_common.c
@@ -453,23 +453,6 @@
   av1_nz_map_ctx_offset_64x32,  // TX_64x16
 };
 
-void av1_init_lv_map(AV1_COMMON *cm) {
-  LV_MAP_CTX_TABLE *coeff_ctx_table = &cm->coeff_ctx_table;
-  for (int row = 0; row < 2; ++row) {
-    for (int col = 0; col < 2; ++col) {
-      for (int sig_mag = 0; sig_mag < 3; ++sig_mag) {
-        for (int count = 0; count < BASE_CONTEXT_POSITION_NUM + 1; ++count) {
-          if (row == 0 && col == 0 && count > 5) continue;
-          if ((row == 0 || col == 0) && count > 8) continue;
-
-          coeff_ctx_table->base_ctx_table[row][col][sig_mag][count] =
-              get_base_ctx_from_count_mag(row, col, count, sig_mag);
-        }
-      }
-    }
-  }
-}
-
 const int16_t k_eob_group_start[12] = { 0,  1,  2,  3,   5,   9,
                                         17, 33, 65, 129, 257, 513 };
 const int16_t k_eob_offset_bits[12] = { 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
diff --git a/av1/common/txb_common.h b/av1/common/txb_common.h
index 698e95b..533103d 100644
--- a/av1/common/txb_common.h
+++ b/av1/common/txb_common.h
@@ -421,6 +421,4 @@
 #undef MAX_TX_SIZE_UNIT
 }
 
-void av1_init_lv_map(AV1_COMMON *cm);
-
 #endif  // AOM_AV1_COMMON_TXB_COMMON_H_
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 9a1c457..9cf967d 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2238,7 +2238,6 @@
     cm->v_dc_delta_q = 0;
     cm->v_ac_delta_q = 0;
   }
-  cm->dequant_bit_depth = seq_params->bit_depth;
   cm->using_qmatrix = aom_rb_read_bit(rb);
   if (cm->using_qmatrix) {
     cm->qm_y = aom_rb_read_literal(rb, QM_LEVEL_BITS);
@@ -4794,9 +4793,6 @@
                        "No sequence header");
   }
 
-  cm->last_frame_type = current_frame->frame_type;
-  cm->last_intra_only = current_frame->intra_only;
-
   // NOTE: By default all coded frames to be used as a reference
   cm->is_reference_frame = 1;
 
@@ -5499,8 +5495,6 @@
 
   cm->setup_mi(cm);
 
-  cm->current_frame_seg_map = cm->cur_frame->seg_map;
-
   av1_setup_motion_field(cm);
 
   av1_setup_block_planes(xd, cm->seq_params.subsampling_x,
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 7a94717..febee86 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -299,7 +299,7 @@
 
   for (int y = 0; y < y_mis; y++)
     for (int x = 0; x < x_mis; x++)
-      cm->current_frame_seg_map[mi_offset + y * cm->mi_cols + x] = segment_id;
+      cm->cur_frame->seg_map[mi_offset + y * cm->mi_cols + x] = segment_id;
 }
 
 static int read_intra_segment_id(AV1_COMMON *const cm,
@@ -355,7 +355,7 @@
   if (!seg->enabled) return 0;  // Default for disabled segmentation
 
   if (!seg->update_map) {
-    copy_segment_id(cm, cm->last_frame_seg_map, cm->current_frame_seg_map,
+    copy_segment_id(cm, cm->last_frame_seg_map, cm->cur_frame->seg_map,
                     mi_offset, x_mis, y_mis);
     return get_predicted_segment_id(cm, mi_offset, x_mis, y_mis);
   }
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c
index 773305d..8ac836f 100644
--- a/av1/decoder/decoder.c
+++ b/av1/decoder/decoder.c
@@ -108,7 +108,6 @@
   pbi->common.buffer_pool = pool;
 
   cm->seq_params.bit_depth = AOM_BITS_8;
-  cm->dequant_bit_depth = AOM_BITS_8;
 
   cm->alloc_mi = av1_dec_alloc_mi;
   cm->free_mi = dec_free_mi;
@@ -541,10 +540,6 @@
   }
 
   // Update progress in frame parallel decode.
-  cm->last_width = cm->width;
-  cm->last_height = cm->height;
-  cm->last_tile_cols = cm->tile_cols;
-  cm->last_tile_rows = cm->tile_rows;
   cm->error.setjmp = 0;
 
   return 0;
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index df79b79..cf5bba7 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -460,7 +460,7 @@
     // changing from lossless to lossy.
     assert(is_inter_block(mbmi) || !cpi->has_lossless_segment);
 
-    set_spatial_segment_id(cm, cm->current_frame_seg_map, mbmi->sb_type, mi_row,
+    set_spatial_segment_id(cm, cm->cur_frame->seg_map, mbmi->sb_type, mi_row,
                            mi_col, pred);
     set_spatial_segment_id(cm, cpi->segmentation_map, mbmi->sb_type, mi_row,
                            mi_col, pred);
@@ -473,7 +473,7 @@
       av1_neg_interleave(mbmi->segment_id, pred, seg->last_active_segid + 1);
   aom_cdf_prob *pred_cdf = segp->spatial_pred_seg_cdf[cdf_num];
   aom_write_symbol(w, coded_id, pred_cdf, MAX_SEGMENTS);
-  set_spatial_segment_id(cm, cm->current_frame_seg_map, mbmi->sb_type, mi_row,
+  set_spatial_segment_id(cm, cm->cur_frame->seg_map, mbmi->sb_type, mi_row,
                          mi_col, mbmi->segment_id);
 }
 
@@ -925,7 +925,7 @@
         write_segment_id(cpi, mbmi, w, seg, segp, mi_row, mi_col, 0);
       }
       if (pred_flag) {
-        set_spatial_segment_id(cm, cm->current_frame_seg_map, mbmi->sb_type,
+        set_spatial_segment_id(cm, cm->cur_frame->seg_map, mbmi->sb_type,
                                mi_row, mi_col, mbmi->segment_id);
       }
     } else {
@@ -3270,7 +3270,7 @@
 
   write_tx_mode(cm, &cm->tx_mode, wb);
 
-  if (cpi->allow_comp_inter_inter) {
+  if (!frame_is_intra_only(cm)) {
     const int use_hybrid_pred =
         current_frame->reference_mode == REFERENCE_MODE_SELECT;
 
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index d32be49..9ce494a 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -5834,7 +5834,6 @@
     cm->last_frame_seg_map = cm->prev_frame->seg_map;
   else
     cm->last_frame_seg_map = NULL;
-  cm->current_frame_seg_map = cm->cur_frame->seg_map;
   if (cm->allow_intrabc || cm->coded_lossless) {
     av1_set_default_ref_deltas(cm->lf.ref_deltas);
     av1_set_default_mode_deltas(cm->lf.mode_deltas);
@@ -5995,9 +5994,6 @@
       check_skip_mode_enabled(cpi);
 
   {
-    struct aom_usec_timer emr_timer;
-    aom_usec_timer_start(&emr_timer);
-
 #if CONFIG_FP_MB_STATS
     if (cpi->use_fp_mb_stats) {
       input_fpmb_stats(&cpi->twopass.firstpass_mb_stats, cm,
@@ -6019,9 +6015,6 @@
       else
         encode_tiles(cpi);
     }
-
-    aom_usec_timer_mark(&emr_timer);
-    cpi->time_encode_sb_row += aom_usec_timer_elapsed(&emr_timer);
   }
 
   // If intrabc is allowed but never selected, reset the allow_intrabc flag.
@@ -6075,8 +6068,6 @@
   (void)num_planes;
 #endif
 
-  cpi->allow_comp_inter_inter = !frame_is_intra_only(cm);
-
   if (cpi->sf.frame_parameter_update) {
     int i;
     RD_OPT *const rd_opt = &cpi->rd;
@@ -6098,7 +6089,7 @@
 
     /* prediction (compound, single or hybrid) mode selection */
     // NOTE: "is_alt_ref" is true only for OVERLAY/INTNL_OVERLAY frames
-    if (is_alt_ref || !cpi->allow_comp_inter_inter)
+    if (is_alt_ref || frame_is_intra_only(cm))
       current_frame->reference_mode = SINGLE_REFERENCE;
     else
       current_frame->reference_mode = REFERENCE_MODE_SELECT;
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index d15ea10..312d836 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -809,7 +809,7 @@
 static void update_reference_segmentation_map(AV1_COMP *cpi) {
   AV1_COMMON *const cm = &cpi->common;
   MB_MODE_INFO **mi_4x4_ptr = cm->mi_grid_visible;
-  uint8_t *cache_ptr = cm->current_frame_seg_map;
+  uint8_t *cache_ptr = cm->cur_frame->seg_map;
   int row, col;
 
   for (row = 0; row < cm->mi_rows; row++) {
@@ -981,7 +981,6 @@
     cpi->remapped_ref_idx[fb_idx] = fb_idx;
   cpi->rate_index = 0;
   cpi->rate_size = 0;
-  cpi->cur_poc = -1;
 }
 
 static INLINE int does_level_match(int width, int height, double fps,
@@ -5129,9 +5128,6 @@
 
     *frame_flags = cpi->frame_flags & ~FRAMEFLAGS_KEY;
 
-    // Update the frame type
-    cm->last_frame_type = current_frame->frame_type;
-
     // Since we allocate a spot for the OVERLAY frame in the gf group, we need
     // to do post-encoding update accordingly.
     if (cpi->rc.is_src_frame_alt_ref) {
@@ -5241,9 +5237,6 @@
       return AOM_CODEC_ERROR;
   }
 
-  cm->last_tile_cols = cm->tile_cols;
-  cm->last_tile_rows = cm->tile_rows;
-
 #ifdef OUTPUT_YUV_SKINMAP
   if (cpi->common.current_frame.frame_number > 1) {
     av1_compute_skin_map(cpi, yuv_skinmap_file);
@@ -5332,7 +5325,7 @@
     if (cm->seg.update_map) {
       update_reference_segmentation_map(cpi);
     } else if (cm->last_frame_seg_map) {
-      memcpy(cm->current_frame_seg_map, cm->last_frame_seg_map,
+      memcpy(cm->cur_frame->seg_map, cm->last_frame_seg_map,
              cm->mi_cols * cm->mi_rows * sizeof(uint8_t));
     }
   }
@@ -5367,8 +5360,6 @@
   else
     cpi->frame_flags &= ~FRAMEFLAGS_BWDREF;
 
-  cm->last_frame_type = current_frame->frame_type;
-
   av1_rc_postencode_update(cpi, *size);
 
   if (current_frame->frame_type == KEY_FRAME) {
@@ -5399,13 +5390,6 @@
     ++current_frame->frame_number;
   }
 
-  // NOTE: Shall not refer to any frame not used as reference.
-  if (cm->is_reference_frame) {
-    // keep track of the last coded dimensions
-    cm->last_width = cm->width;
-    cm->last_height = cm->height;
-  }
-
   return AOM_CODEC_OK;
 }
 
@@ -6858,7 +6842,6 @@
     cpi->common.current_frame_id = -1;
   }
 
-  cpi->cur_poc++;
   if (oxcf->pass != 1 && cpi->common.allow_screen_content_tools &&
       !frame_is_intra_only(cm)) {
     if (cpi->common.seq_params.force_integer_mv == 2) {
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index 35567e2..f824af0 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -288,7 +288,6 @@
   int max_threads;
 
   aom_fixed_buf_t two_pass_stats_in;
-  struct aom_codec_pkt_list *output_pkt_list;
 
 #if CONFIG_FP_MB_STATS
   aom_fixed_buf_t firstpass_mb_stats_in;
@@ -304,15 +303,12 @@
   int color_range;
   int render_width;
   int render_height;
-  aom_timing_info_type_t timing_info_type;
   int timing_info_present;
   aom_timing_info_t timing_info;
   int decoder_model_info_present_flag;
   int display_model_info_present_flag;
   int buffer_removal_time_present;
   aom_dec_model_info_t buffer_model;
-  aom_dec_model_op_parameters_t op_params[MAX_NUM_OPERATING_POINTS + 1];
-  aom_op_timing_info_t op_frame_timing[MAX_NUM_OPERATING_POINTS + 1];
   int film_grain_test_vector;
   const char *film_grain_table_filename;
 
@@ -618,7 +614,6 @@
   int rate_index;
   hash_table *previous_hash_table;
   int previous_index;
-  int cur_poc;  // DebugInfo
 
   unsigned int row_mt;
   int scaled_ref_idx[INTER_REFS_PER_FRAME];
@@ -726,7 +721,6 @@
   unsigned int max_mv_magnitude;
   int mv_step_param;
 
-  int allow_comp_inter_inter;
   int all_one_sided_refs;
 
   uint8_t *segmentation_map;
@@ -740,7 +734,6 @@
   uint64_t time_receive_data;
   uint64_t time_compress_data;
   uint64_t time_pick_lpf;
-  uint64_t time_encode_sb_row;
 
 #if CONFIG_FP_MB_STATS
   int use_fp_mb_stats;
@@ -804,7 +797,6 @@
   int allocated_tiles;  // Keep track of memory allocated for tiles.
 
   TOKENEXTRA *tile_tok[MAX_TILE_ROWS][MAX_TILE_COLS];
-  unsigned int tok_count[MAX_TILE_ROWS][MAX_TILE_COLS];
   TOKENLIST *tplist[MAX_TILE_ROWS][MAX_TILE_COLS];
 
   TileBufferEnc tile_buffers[MAX_TILE_ROWS][MAX_TILE_COLS];
@@ -812,7 +804,6 @@
   int resize_state;
   int resize_avg_qp;
   int resize_buffer_underflow;
-  int resize_count;
 
   // Sequence parameters have been transmitted already and locked
   // or not. Once locked av1_change_config cannot change the seq
@@ -833,7 +824,6 @@
   int arf_pos_in_gf[MAX_EXT_ARFS + 1];
   int arf_pos_for_ovrly[MAX_EXT_ARFS + 1];
   int global_motion_search_done;
-  tran_low_t *tcoeff_buf[MAX_MB_PLANE];
   int extra_arf_allowed;
   // A flag to indicate if intrabc is ever used in current frame.
   int intrabc_used;
@@ -842,11 +832,6 @@
   int dv_joint_cost[MV_JOINTS];
   int has_lossless_segment;
 
-  // For frame refs short signaling:
-  //   A mapping of each reference frame from its encoder side value to the
-  //   decoder side value obtained following the short signaling procedure.
-  int ref_conv[REF_FRAMES];
-
   // Factors to control gating of compound type selection based on best
   // approximate rd so far
   int max_comp_type_rd_threshold_mul;
diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c
index a0c6ec1..4c2f825 100644
--- a/av1/encoder/encodetxb.c
+++ b/av1/encoder/encodetxb.c
@@ -1763,10 +1763,9 @@
   assert(width == (1 << bwl));
   const int tx_type_cost = get_tx_type_cost(cm, x, xd, plane, tx_size, tx_type);
   TxbInfo txb_info = {
-    qcoeff,   levels,       dqcoeff,    tcoeff,  dequant, shift,
-    tx_size,  txs_ctx,      tx_type,    bwl,     width,   height,
-    eob,      seg_eob,      scan_order, txb_ctx, rdmult,  &cm->coeff_ctx_table,
-    iqmatrix, tx_type_cost,
+    qcoeff,     levels,  dqcoeff, tcoeff,   dequant,      shift, tx_size,
+    txs_ctx,    tx_type, bwl,     width,    height,       eob,   seg_eob,
+    scan_order, txb_ctx, rdmult,  iqmatrix, tx_type_cost,
   };
 
   // Hash based trellis (hbt) speed feature: avoid expensive optimize_txb calls
diff --git a/av1/encoder/encodetxb.h b/av1/encoder/encodetxb.h
index 4ee41ce..bfc49de 100644
--- a/av1/encoder/encodetxb.h
+++ b/av1/encoder/encodetxb.h
@@ -42,7 +42,6 @@
   const SCAN_ORDER *scan_order;
   TXB_CTX *txb_ctx;
   int64_t rdmult;
-  const LV_MAP_CTX_TABLE *coeff_ctx_table;
   const qm_val_t *iqmatrix;
   int tx_type_cost;
 } TxbInfo;
diff --git a/av1/encoder/firstpass.c b/av1/encoder/firstpass.c
index 5117c67..7d3163d 100644
--- a/av1/encoder/firstpass.c
+++ b/av1/encoder/firstpass.c
@@ -589,7 +589,6 @@
   }
 
   av1_init_mv_probs(cm);
-  av1_init_lv_map(cm);
   av1_initialize_rd_consts(cpi);
 
   // Tiling is ignored in the first pass.
diff --git a/av1/encoder/firstpass.h b/av1/encoder/firstpass.h
index 7c40615..388a45c 100644
--- a/av1/encoder/firstpass.h
+++ b/av1/encoder/firstpass.h
@@ -122,9 +122,6 @@
 #endif  // USE_SYMM_MULTI_LAYER
   unsigned char brf_src_offset[MAX_STATIC_GF_GROUP_LENGTH + 1];
   unsigned char bidir_pred_enabled[MAX_STATIC_GF_GROUP_LENGTH + 1];
-  unsigned char ref_fb_idx_map[MAX_STATIC_GF_GROUP_LENGTH + 1][REF_FRAMES];
-  unsigned char refresh_idx[MAX_STATIC_GF_GROUP_LENGTH + 1];
-  unsigned char refresh_flag[MAX_STATIC_GF_GROUP_LENGTH + 1];
   int bit_allocation[MAX_STATIC_GF_GROUP_LENGTH + 1];
 } GF_GROUP;
 
diff --git a/av1/encoder/ratectrl.h b/av1/encoder/ratectrl.h
index ea8975d..36c386a 100644
--- a/av1/encoder/ratectrl.h
+++ b/av1/encoder/ratectrl.h
@@ -94,7 +94,6 @@
   int last_kf_qindex;       // Q index of the last key frame coded.
 
   int gfu_boost;
-  int last_boost;
   int kf_boost;
 
   double rate_correction_factors[RATE_FACTOR_LEVELS];
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 8047f61..964d5f7 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -11130,7 +11130,7 @@
 
   const int comp_pred = ref_frame[1] > INTRA_FRAME;
   if (comp_pred) {
-    if (!cpi->allow_comp_inter_inter) return 1;
+    if (frame_is_intra_only(cm)) return 1;
 
     if (current_frame->reference_mode == SINGLE_REFERENCE) return 1;