]> granicus.if.org Git - libvpx/commitdiff
Merge "Moving txfm_size bits before prediction mode bits." into experimental
authorRonald S. Bultje <rbultje@google.com>
Tue, 28 May 2013 16:40:42 +0000 (09:40 -0700)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Tue, 28 May 2013 16:40:42 +0000 (09:40 -0700)
1  2 
vp9/decoder/vp9_decodemv.c
vp9/encoder/vp9_bitstream.c

Simple merge
index 26f22b4be3feb53092f65a3d6fc47fe5b0911c3b,48f70e2e42a4d0cc10bbcbdc3fa97446456a19ba..15253406d9ad5432da090b0c58bbb0845543b2a7
@@@ -841,9 -842,20 +841,20 @@@ static void write_mb_modes_kf(const VP9
      vp9_write(bc, skip_coeff, vp9_get_pred_prob(c, xd, PRED_MBSKIP));
    }
  
+   if (m->mbmi.sb_type >= BLOCK_SIZE_SB8X8 && c->txfm_mode == TX_MODE_SELECT) {
+     TX_SIZE sz = m->mbmi.txfm_size;
+     // FIXME(rbultje) code ternary symbol once all experiments are merged
+     vp9_write(bc, sz != TX_4X4, c->prob_tx[0]);
+     if (m->mbmi.sb_type >= BLOCK_SIZE_MB16X16 && sz != TX_4X4) {
+       vp9_write(bc, sz != TX_8X8, c->prob_tx[1]);
+       if (m->mbmi.sb_type >= BLOCK_SIZE_SB32X32 && sz != TX_8X8)
+         vp9_write(bc, sz != TX_16X16, c->prob_tx[2]);
+     }
+   }
    if (m->mbmi.sb_type >= BLOCK_SIZE_SB8X8) {
 -    const B_PREDICTION_MODE A = above_block_mode(m, 0, mis);
 -    const B_PREDICTION_MODE L = xd->left_available ?
 +    const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis);
 +    const MB_PREDICTION_MODE L = xd->left_available ?
                                   left_block_mode(m, 0) : DC_PRED;
      write_kf_bmode(bc, ym, c->kf_bmode_prob[A][L]);
    }