diff options
author | Deb Mukherjee <debargha@google.com> | 2012-10-10 11:20:33 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2012-10-10 17:05:54 -0700 |
commit | a7333b0a5b9f9d435bba7b1dce72632ae70c0330 (patch) | |
tree | e3546c793d78bee95a1973133a157a54d8c0b425 /vp8/decoder | |
parent | 239b6a8f3080866de592dcccedf82e694a3a21f3 (diff) | |
download | libvpx-a7333b0a5b9f9d435bba7b1dce72632ae70c0330.tar libvpx-a7333b0a5b9f9d435bba7b1dce72632ae70c0330.tar.gz libvpx-a7333b0a5b9f9d435bba7b1dce72632ae70c0330.tar.bz2 libvpx-a7333b0a5b9f9d435bba7b1dce72632ae70c0330.zip |
Merge of the TX_16X16 experiment
Change-Id: I22aa803ffff330622cdb77277e7b196a9766f882
Diffstat (limited to 'vp8/decoder')
-rw-r--r-- | vp8/decoder/decodemv.c | 14 | ||||
-rw-r--r-- | vp8/decoder/decodframe.c | 28 | ||||
-rw-r--r-- | vp8/decoder/dequantize.c | 2 | ||||
-rw-r--r-- | vp8/decoder/dequantize.h | 4 | ||||
-rw-r--r-- | vp8/decoder/detokenize.c | 14 | ||||
-rw-r--r-- | vp8/decoder/detokenize.h | 2 | ||||
-rw-r--r-- | vp8/decoder/generic/dsystemdependent.c | 2 | ||||
-rw-r--r-- | vp8/decoder/onyxd_int.h | 2 |
8 files changed, 4 insertions, 64 deletions
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c index ddf5301f9..8a231b220 100644 --- a/vp8/decoder/decodemv.c +++ b/vp8/decoder/decodemv.c @@ -175,18 +175,13 @@ static void vp8_kfread_modes(VP8D_COMP *pbi, m->mbmi.mode <= TM_PRED) { // FIXME(rbultje) code ternary symbol once all experiments are merged m->mbmi.txfm_size = vp8_read(bc, cm->prob_tx[0]); -#if CONFIG_TX16X16 if (m->mbmi.txfm_size != TX_4X4) m->mbmi.txfm_size += vp8_read(bc, cm->prob_tx[1]); -#endif } else #endif -#if CONFIG_TX16X16 if (cm->txfm_mode >= ALLOW_16X16 && m->mbmi.mode <= TM_PRED) { m->mbmi.txfm_size = TX_16X16; - } else -#endif - if (cm->txfm_mode >= ALLOW_8X8 && m->mbmi.mode != B_PRED) { + } else if (cm->txfm_mode >= ALLOW_8X8 && m->mbmi.mode != B_PRED) { m->mbmi.txfm_size = TX_8X8; } else { m->mbmi.txfm_size = TX_4X4; @@ -1290,20 +1285,15 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, (mbmi->ref_frame != INTRA_FRAME && mbmi->mode != SPLITMV))) { // FIXME(rbultje) code ternary symbol once all experiments are merged mbmi->txfm_size = vp8_read(bc, cm->prob_tx[0]); -#if CONFIG_TX16X16 if (mbmi->txfm_size != TX_4X4) mbmi->txfm_size += vp8_read(bc, cm->prob_tx[1]); -#endif } else #endif -#if CONFIG_TX16X16 if (cm->txfm_mode >= ALLOW_16X16 && ((mbmi->ref_frame == INTRA_FRAME && mbmi->mode <= TM_PRED) || (mbmi->ref_frame != INTRA_FRAME && mbmi->mode != SPLITMV))) { mbmi->txfm_size = TX_16X16; - } else -#endif - if (cm->txfm_mode >= ALLOW_8X8 && + } else if (cm->txfm_mode >= ALLOW_8X8 && ((mbmi->ref_frame == INTRA_FRAME && mbmi->mode != B_PRED) || (mbmi->ref_frame != INTRA_FRAME && mbmi->mode != SPLITMV))) { mbmi->txfm_size = TX_8X8; diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index a186f6939..b2aca859b 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -290,12 +290,9 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, xd->block[i].eob = 0; xd->eobs[i] = 0; } -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 if (tx_type == TX_16X16) eobtotal = vp8_decode_mb_tokens_16x16(pbi, xd); - else -#endif - if (tx_type == TX_8X8) + else if (tx_type == TX_8X8) eobtotal = vp8_decode_mb_tokens_8x8(pbi, xd); else eobtotal = vp8_decode_mb_tokens(pbi, xd); @@ -457,7 +454,6 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, } else { BLOCKD *b = &xd->block[24]; -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 if (tx_type == TX_16X16) { #if CONFIG_HYBRIDTRANSFORM16X16 if (mode < I8X8_PRED && active_ht16) { @@ -480,9 +476,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, 16, xd->dst.y_stride); #endif } - else -#endif - if (tx_type == TX_8X8) { + else if (tx_type == TX_8X8) { #if CONFIG_SUPERBLOCKS void *orig = xd->mode_info_context; int n, num = xd->mode_info_context->mbmi.encoded_as_sb ? 4 : 1; @@ -569,9 +563,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, #endif if ((tx_type == TX_8X8 && xd->mode_info_context->mbmi.mode != I8X8_PRED) -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 || tx_type == TX_16X16 -#endif ) DEQUANT_INVOKE(&pbi->dequant, idct_add_uv_block_8x8) // (xd->qcoeff + 16 * 16, xd->block[16].dequant, @@ -1012,7 +1004,6 @@ static void read_coef_probs(VP8D_COMP *pbi) { } #endif -#if CONFIG_TX16X16 // 16x16 if (pbi->common.txfm_mode > ALLOW_8X8 && vp8_read_bit(bc)) { // read coef probability tree @@ -1052,7 +1043,6 @@ static void read_coef_probs(VP8D_COMP *pbi) { } } #endif -#endif } int vp8_decode_frame(VP8D_COMP *pbi) { @@ -1282,26 +1272,16 @@ int vp8_decode_frame(VP8D_COMP *pbi) { /* Read the loop filter level and type */ #if CONFIG_TX_SELECT -#if CONFIG_TX16X16 pc->txfm_mode = vp8_read_literal(bc, 2); -#else - pc->txfm_mode = vp8_read_bit(bc); - if (pc->txfm_mode) - pc->txfm_mode += vp8_read_bit(bc); -#endif if (pc->txfm_mode == TX_MODE_SELECT) { pc->prob_tx[0] = vp8_read_literal(bc, 8); -#if CONFIG_TX16X16 pc->prob_tx[1] = vp8_read_literal(bc, 8); -#endif } #else pc->txfm_mode = (TXFM_MODE) vp8_read_bit(bc); -#if CONFIG_TX16X16 if (pc->txfm_mode == ALLOW_8X8) pc->txfm_mode = ALLOW_16X16; #endif -#endif pc->filter_type = (LOOPFILTERTYPE) vp8_read_bit(bc); pc->filter_level = vp8_read_literal(bc, 6); @@ -1445,14 +1425,12 @@ int vp8_decode_frame(VP8D_COMP *pbi) { vp8_copy(pbi->common.fc.pre_hybrid_coef_probs_8x8, pbi->common.fc.hybrid_coef_probs_8x8); #endif -#if CONFIG_TX16X16 vp8_copy(pbi->common.fc.pre_coef_probs_16x16, pbi->common.fc.coef_probs_16x16); #if CONFIG_HYBRIDTRANSFORM16X16 vp8_copy(pbi->common.fc.pre_hybrid_coef_probs_16x16, pbi->common.fc.hybrid_coef_probs_16x16); #endif -#endif vp8_copy(pbi->common.fc.pre_ymode_prob, pbi->common.fc.ymode_prob); vp8_copy(pbi->common.fc.pre_uv_mode_prob, pbi->common.fc.uv_mode_prob); vp8_copy(pbi->common.fc.pre_bmode_prob, pbi->common.fc.bmode_prob); @@ -1473,12 +1451,10 @@ int vp8_decode_frame(VP8D_COMP *pbi) { #if CONFIG_HYBRIDTRANSFORM8X8 vp8_zero(pbi->common.fc.hybrid_coef_counts_8x8); #endif -#if CONFIG_TX16X16 vp8_zero(pbi->common.fc.coef_counts_16x16); #if CONFIG_HYBRIDTRANSFORM16X16 vp8_zero(pbi->common.fc.hybrid_coef_counts_16x16); #endif -#endif vp8_zero(pbi->common.fc.ymode_counts); vp8_zero(pbi->common.fc.uv_mode_counts); vp8_zero(pbi->common.fc.bmode_counts); diff --git a/vp8/decoder/dequantize.c b/vp8/decoder/dequantize.c index 95a3ae272..e55da754b 100644 --- a/vp8/decoder/dequantize.c +++ b/vp8/decoder/dequantize.c @@ -509,7 +509,6 @@ void vp8_ht_dequant_idct_add_16x16_c(TX_TYPE tx_type, short *input, short *dq, } #endif -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 void vp8_dequant_idct_add_16x16_c(short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride) { short output[256]; @@ -544,4 +543,3 @@ void vp8_dequant_idct_add_16x16_c(short *input, short *dq, unsigned char *pred, pred += pitch; } } -#endif diff --git a/vp8/decoder/dequantize.h b/vp8/decoder/dequantize.h index e739ff842..5b7b21598 100644 --- a/vp8/decoder/dequantize.h +++ b/vp8/decoder/dequantize.h @@ -145,12 +145,10 @@ extern prototype_dequant_idct_add_y_block_8x8(vp8_dequant_idct_add_y_block_8x8); #endif extern prototype_dequant_idct_add_uv_block_8x8(vp8_dequant_idct_add_uv_block_8x8); -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 #ifndef vp8_dequant_idct_add_16x16 #define vp8_dequant_idct_add_16x16 vp8_dequant_idct_add_16x16_c #endif extern prototype_dequant_idct_add(vp8_dequant_idct_add_16x16); -#endif typedef prototype_dequant_block((*vp8_dequant_block_fn_t)); @@ -184,9 +182,7 @@ typedef struct { vp8_dequant_dc_idct_add_y_block_fn_t_8x8 dc_idct_add_y_block_8x8; vp8_dequant_idct_add_y_block_fn_t_8x8 idct_add_y_block_8x8; vp8_dequant_idct_add_uv_block_fn_t_8x8 idct_add_uv_block_8x8; -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 vp8_dequant_idct_add_fn_t idct_add_16x16; -#endif } vp8_dequant_rtcd_vtable_t; #if CONFIG_RUNTIME_CPU_DETECT diff --git a/vp8/decoder/detokenize.c b/vp8/decoder/detokenize.c index cfb076862..50e9a7dea 100644 --- a/vp8/decoder/detokenize.c +++ b/vp8/decoder/detokenize.c @@ -39,7 +39,6 @@ DECLARE_ALIGNED(16, const int, coef_bands_x_8x8[64]) = { 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, }; -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 DECLARE_ALIGNED(16, const int, coef_bands_x_16x16[256]) = { 0 * OCB_X, 1 * OCB_X, 2 * OCB_X, 3 * OCB_X, 5 * OCB_X, 4 * OCB_X, 4 * OCB_X, 5 * OCB_X, 5 * OCB_X, 3 * OCB_X, 6 * OCB_X, 3 * OCB_X, 5 * OCB_X, 4 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 5 * OCB_X, 5 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, @@ -58,7 +57,6 @@ DECLARE_ALIGNED(16, const int, coef_bands_x_16x16[256]) = { 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X, 7 * OCB_X }; -#endif #define EOB_CONTEXT_NODE 0 #define ZERO_CONTEXT_NODE 1 @@ -105,9 +103,7 @@ void vp8_reset_mb_tokens_context(MACROBLOCKD *xd) { if ((xd->mode_info_context->mbmi.mode != B_PRED && xd->mode_info_context->mbmi.mode != I8X8_PRED && xd->mode_info_context->mbmi.mode != SPLITMV) -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 || xd->mode_info_context->mbmi.txfm_size == TX_16X16 -#endif ) { vpx_memset(xd->above_context, 0, sizeof(ENTROPY_CONTEXT_PLANES)); vpx_memset(xd->left_context, 0, sizeof(ENTROPY_CONTEXT_PLANES)); @@ -237,7 +233,6 @@ void static count_tokens_8x8(INT16 *qcoeff_ptr, int block, int type, } } -#if CONFIG_TX16X16 void static count_tokens_16x16(INT16 *qcoeff_ptr, int block, int type, #if CONFIG_HYBRIDTRANSFORM16X16 TX_TYPE tx_type, @@ -269,8 +264,6 @@ void static count_tokens_16x16(INT16 *qcoeff_ptr, int block, int type, fc->coef_counts_16x16[type][band][pt][DCT_EOB_TOKEN]++; } } -#endif - static int vp8_get_signed(BOOL_DECODER *br, int value_to_sign) { const int split = (br->range + 1) >> 1; @@ -338,7 +331,6 @@ static int vp8_decode_coefs(VP8D_COMP *dx, const MACROBLOCKD *xd, #endif fc->coef_probs_8x8[type][0][0]; break; -#if CONFIG_TX16X16 case TX_16X16: coef_probs = #if CONFIG_HYBRIDTRANSFORM16X16 @@ -346,7 +338,6 @@ static int vp8_decode_coefs(VP8D_COMP *dx, const MACROBLOCKD *xd, #endif fc->coef_probs_16x16[type][0][0]; break; -#endif } VP8_COMBINEENTROPYCONTEXTS(tmp, *a, *l); @@ -445,18 +436,15 @@ SKIP_START: tx_type, #endif a, l, c, seg_eob, fc); -#if CONFIG_TX16X16 else count_tokens_16x16(qcoeff_ptr, i, type, #if CONFIG_HYBRIDTRANSFORM16X16 tx_type, #endif a, l, c, seg_eob, fc); -#endif return c; } -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 int vp8_decode_mb_tokens_16x16(VP8D_COMP *pbi, MACROBLOCKD *xd) { ENTROPY_CONTEXT* const A = (ENTROPY_CONTEXT *)xd->above_context; ENTROPY_CONTEXT* const L = (ENTROPY_CONTEXT *)xd->left_context; @@ -532,8 +520,6 @@ int vp8_decode_mb_tokens_16x16(VP8D_COMP *pbi, MACROBLOCKD *xd) { vpx_memset(&L[8], 0, sizeof(L[8])); return eobtotal; } -#endif - int vp8_decode_mb_tokens_8x8(VP8D_COMP *pbi, MACROBLOCKD *xd) { ENTROPY_CONTEXT *const A = (ENTROPY_CONTEXT *)xd->above_context; diff --git a/vp8/decoder/detokenize.h b/vp8/decoder/detokenize.h index 5fb1a7f3e..d02d4cae1 100644 --- a/vp8/decoder/detokenize.h +++ b/vp8/decoder/detokenize.h @@ -17,8 +17,6 @@ void vp8_reset_mb_tokens_context(MACROBLOCKD *xd); int vp8_decode_mb_tokens(VP8D_COMP *, MACROBLOCKD *); int vp8_decode_mb_tokens_8x8(VP8D_COMP *, MACROBLOCKD *); -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 int vp8_decode_mb_tokens_16x16(VP8D_COMP *, MACROBLOCKD *); -#endif #endif /* DETOKENIZE_H */ diff --git a/vp8/decoder/generic/dsystemdependent.c b/vp8/decoder/generic/dsystemdependent.c index ccd6764ac..b7b65d902 100644 --- a/vp8/decoder/generic/dsystemdependent.c +++ b/vp8/decoder/generic/dsystemdependent.c @@ -22,9 +22,7 @@ void vp8_dmachine_specific_config(VP8D_COMP *pbi) { pbi->mb.rtcd = &pbi->common.rtcd; pbi->dequant.block_2x2 = vp8_dequantize_b_2x2_c; pbi->dequant.idct_add_8x8 = vp8_dequant_idct_add_8x8_c; -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 pbi->dequant.idct_add_16x16 = vp8_dequant_idct_add_16x16_c; -#endif pbi->dequant.dc_idct_add_8x8 = vp8_dequant_dc_idct_add_8x8_c; pbi->dequant.dc_idct_add_y_block_8x8 = vp8_dequant_dc_idct_add_y_block_8x8_c; pbi->dequant.idct_add_y_block_8x8 = vp8_dequant_idct_add_y_block_8x8_c; diff --git a/vp8/decoder/onyxd_int.h b/vp8/decoder/onyxd_int.h index 68d329f7b..53350b819 100644 --- a/vp8/decoder/onyxd_int.h +++ b/vp8/decoder/onyxd_int.h @@ -49,9 +49,7 @@ typedef struct { vp8_prob const *coef_probs[BLOCK_TYPES]; vp8_prob const *coef_probs_8x8[BLOCK_TYPES_8X8]; -#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 vp8_prob const *coef_probs_16X16[BLOCK_TYPES_16X16]; -#endif UINT8 eob[25]; |