From: Ronald S. Bultje Date: Mon, 22 Oct 2012 19:54:39 +0000 (-0700) Subject: Merge changes I02e7f64a,Ide954b00,Idc8b5977 into experimental X-Git-Tag: v1.3.0~1217^2~200 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97096f5fa355a27cd7262bf05f05156e40090c03;p=libvpx Merge changes I02e7f64a,Ide954b00,Idc8b5977 into experimental * changes: Fix another typo in 4x4-transform-for-i8x8-intra-pred coeff contexts. 8x8 transform support in splitmv. Use SPLITMV_PARTITIONING instead of a plain integer type. --- 97096f5fa355a27cd7262bf05f05156e40090c03 diff --cc vp8/decoder/decodframe.c index cc19985fd,fe36a9db8..d961c7b2a --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@@ -382,12 -390,30 +382,18 @@@ static void decode_macroblock(VP8D_COM vp8_dequant_idct_add_c(b->qcoeff, b->dequant, b->predictor, *(b->base_dst) + b->dst, 16, b->dst_stride); } -#else - if (xd->eobs[i] > 1) { - DEQUANT_INVOKE(&pbi->dequant, idct_add) - (b->qcoeff, b->dequant, b->predictor, - *(b->base_dst) + b->dst, 16, b->dst_stride); - } else { - IDCT_INVOKE(RTCD_VTABLE(idct), idct1_scalar_add) - (b->qcoeff[0] * b->dequant[0], b->predictor, - *(b->base_dst) + b->dst, 16, b->dst_stride); - ((int *)b->qcoeff)[0] = 0; - } -#endif } } else if (mode == SPLITMV) { - DEQUANT_INVOKE(&pbi->dequant, idct_add_y_block) - (xd->qcoeff, xd->block[0].dequant, - xd->predictor, xd->dst.y_buffer, - xd->dst.y_stride, xd->eobs); + if (tx_size == TX_8X8) { + vp8_dequant_idct_add_y_block_8x8_c(xd->qcoeff, xd->block[0].dequant, + xd->predictor, xd->dst.y_buffer, + xd->dst.y_stride, xd->eobs, xd); + } else { + DEQUANT_INVOKE(&pbi->dequant, + idct_add_y_block)(xd->qcoeff, xd->block[0].dequant, + xd->predictor, xd->dst.y_buffer, + xd->dst.y_stride, xd->eobs); + } } else { BLOCKD *b = &xd->block[24]; diff --cc vp8/decoder/detokenize.c index 0e5e54418,063fc2da6..d33c602f0 --- a/vp8/decoder/detokenize.c +++ b/vp8/decoder/detokenize.c @@@ -491,9 -533,12 +491,10 @@@ int vp8_decode_mb_tokens_8x8(VP8D_COMP const int segment_id = xd->mode_info_context->mbmi.segment_id; const int seg_active = segfeature_active(xd, segment_id, SEG_LVL_EOB); INT16 *qcoeff_ptr = &xd->qcoeff[0]; -#if CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 TX_TYPE tx_type = DCT_DCT; -#endif - int bufthred = (xd->mode_info_context->mbmi.mode == I8X8_PRED) ? 16 : 24; + int bufthred = (xd->mode_info_context->mbmi.mode == I8X8_PRED || + xd->mode_info_context->mbmi.mode == SPLITMV) ? 16 : 24; if (xd->mode_info_context->mbmi.mode != B_PRED && xd->mode_info_context->mbmi.mode != SPLITMV && xd->mode_info_context->mbmi.mode != I8X8_PRED) {