diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c
index 28bb523a61e23b4bee6596a587cb8707c8440bee..928a814a87f555f1b2a3208bfa3e1842d4a080a6 100644
--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -281,7 +281,6 @@ static void decode_8x8(VP9D_COMP *pbi, MACROBLOCKD *xd,
     assert(get_2nd_order_usage(xd) == 0);
     for (i = 0; i < 4; i++) {
       int ib = vp9_i8x8_block[i];
-      const int iblock[4] = {0, 1, 4, 5};
       int idx = (ib & 0x02) ? (ib + 2) : ib;
       short *q  = xd->block[idx].qcoeff;
       short *dq = xd->block[0].dequant;
@@ -310,8 +309,8 @@ static void decode_8x8(VP9D_COMP *pbi, MACROBLOCKD *xd,
                                      xd->dst.y_stride,
                                      xd->eobs, xd);
   } else {
-    assert(get_2nd_order_usage(xd) == 1);
     BLOCKD *b = &xd->block[24];
+    assert(get_2nd_order_usage(xd) == 1);
     vp9_dequantize_b_2x2(b);
     vp9_short_ihaar2x2(&b->dqcoeff[0], b->diff, 8);
     ((int *)b->qcoeff)[0] = 0;  // 2nd order block are set to 0 after idct
@@ -384,12 +383,6 @@ static void decode_4x4(VP9D_COMP *pbi, MACROBLOCKD *xd,
       int j;
       int i8x8mode;
       BLOCKD *b;
-      int idx = (ib & 0x02) ? (ib + 2) : ib;
-      short *q  = xd->block[idx].qcoeff;
-      short *dq = xd->block[0].dequant;
-      unsigned char *pre = xd->block[ib].predictor;
-      unsigned char *dst = *(xd->block[ib].base_dst) + xd->block[ib].dst;
-      int stride = xd->dst.y_stride;
       b = &xd->block[ib];
       i8x8mode = b->bmi.as_mode.first;
       vp9_intra8x8_predict(b, i8x8mode, b->predictor);
@@ -514,8 +507,8 @@ static void decode_4x4(VP9D_COMP *pbi, MACROBLOCKD *xd,
         }
       }
     } else {
-      assert(get_2nd_order_usage(xd) == 1);
       BLOCKD *b = &xd->block[24];
+      assert(get_2nd_order_usage(xd) == 1);
       vp9_dequantize_b(b);
       if (xd->eobs[24] > 1) {
         vp9_short_inv_walsh4x4(&b->dqcoeff[0], b->diff);
@@ -766,7 +759,6 @@ static void decode_macroblock(VP9D_COMP *pbi, MACROBLOCKD *xd,
   MB_PREDICTION_MODE mode;
   int i;
   int tx_size;
-  TX_TYPE tx_type;
 
 #if CONFIG_SUPERBLOCKS
   assert(!xd->mode_info_context->mbmi.encoded_as_sb);
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 0f1793b883b838ffae0d4e408233545b7f9fae17..1c83997fcc482e39241e613b2a71940372d53b2c 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -4153,8 +4153,7 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags,
                                           cpi->frames_till_gf_update_due))) {
       cpi->alt_ref_source = cpi->source;
       if (cpi->oxcf.arnr_max_frames > 0) {
-        vp9_temporal_filter_prepare_c(cpi,
-                                      cpi->frames_till_gf_update_due);
+        vp9_temporal_filter_prepare_c(cpi, cpi->frames_till_gf_update_due);
         force_src_buffer = &cpi->alt_ref_buffer;
       }
       cm->frames_till_alt_ref_frame = cpi->frames_till_gf_update_due;
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 8ae77c056c701f5eb652c52c1d24a21997643aa9..5a5e8a62d036a0f2bd8aedbfda32584cbbf15f59 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -567,12 +567,12 @@ static int cost_coeffs(MACROBLOCK *mb, BLOCKD *b, PLANE_TYPE type,
   MB_MODE_INFO *mbmi = &mb->e_mbd.mode_info_context->mbmi;
   TX_TYPE tx_type = DCT_DCT;
   int segment_id = mbmi->segment_id;
+  scan = vp9_default_zig_zag1d;
+  band = vp9_coef_bands;
+  default_eob = 16;
 
   switch (tx_size) {
     case TX_4X4:
-      scan = vp9_default_zig_zag1d;
-      band = vp9_coef_bands;
-      default_eob = 16;
       if (type == PLANE_TYPE_Y_WITH_DC) {
         tx_type = get_tx_type_4x4(xd, b);
         if (tx_type != DCT_DCT) {
@@ -693,13 +693,10 @@ static void macro_block_yrd_4x4(MACROBLOCK *mb,
                                 int *Rate,
                                 int *Distortion,
                                 int *skippable, int backup) {
-  int b;
   MACROBLOCKD *const xd = &mb->e_mbd;
   BLOCK   *const mb_y2 = mb->block + 24;
   BLOCKD *const x_y2  = xd->block + 24;
-  short *Y2DCPtr = mb_y2->src_diff;
-  BLOCK *beptr;
-  int d, i, has_2nd_order;
+  int d, has_2nd_order;
 
   xd->mode_info_context->mbmi.txfm_size = TX_4X4;
   has_2nd_order = get_2nd_order_usage(xd);
@@ -797,9 +794,6 @@ static void macro_block_yrd_16x16(MACROBLOCK *mb, int *Rate, int *Distortion,
                                   int *skippable, int backup) {
   int d;
   MACROBLOCKD *xd = &mb->e_mbd;
-  BLOCKD *b  = &mb->e_mbd.block[0];
-  BLOCK  *be = &mb->block[0];
-  TX_TYPE tx_type;
 
   xd->mode_info_context->mbmi.txfm_size = TX_16X16;
   vp9_transform_mby_16x16(mb);
@@ -2751,17 +2745,14 @@ static void mv_pred(VP9_COMP *cpi, MACROBLOCK *x,
   int_mv this_mv;
   int i;
   int zero_seen = FALSE;
-  int best_index;
+  int best_index = 0;
   int best_sad = INT_MAX;
   int this_sad = INT_MAX;
-  int this_sad2 = INT_MAX;
 
   BLOCK *b = &x->block[0];
   unsigned char *src_y_ptr = *(b->base_src);
   unsigned char *ref_y_ptr;
-  const unsigned char *dst_y_ptr;
-  const int bs = (block_size == BLOCK_16X16) ? 16 : 32;
-  int offset, row_offset, col_offset;
+  int row_offset, col_offset;
 
   // Get the sad for each candidate reference mv
   for (i = 0; i < 4; i++) {
@@ -3090,7 +3081,6 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
   int refs[2] = { mbmi->ref_frame,
                   (mbmi->second_ref_frame < 0 ? 0 : mbmi->second_ref_frame) };
   int_mv cur_mv[2];
-  int_mv mvp;
   int64_t this_rd = 0;
 
   switch (this_mode) {