From: Ronald S. Bultje Date: Tue, 28 May 2013 16:40:42 +0000 (-0700) Subject: Merge "Moving txfm_size bits before prediction mode bits." into experimental X-Git-Tag: v1.3.0~1104^2~126 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4dd99b34db0eca4e5758dc6d982d8d42171ac5f;p=libvpx Merge "Moving txfm_size bits before prediction mode bits." into experimental --- a4dd99b34db0eca4e5758dc6d982d8d42171ac5f diff --cc vp9/encoder/vp9_bitstream.c index 26f22b4be,48f70e2e4..15253406d --- a/vp9/encoder/vp9_bitstream.c +++ b/vp9/encoder/vp9_bitstream.c @@@ -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]); }