]> granicus.if.org Git - libvpx/commitdiff
Merge changes I02e7f64a,Ide954b00,Idc8b5977 into experimental
authorRonald S. Bultje <rbultje@google.com>
Mon, 22 Oct 2012 19:54:39 +0000 (12:54 -0700)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Mon, 22 Oct 2012 19:54:39 +0000 (12:54 -0700)
* 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.

1  2 
vp8/common/blockd.h
vp8/decoder/decodframe.c
vp8/decoder/detokenize.c
vp8/encoder/bitstream.c
vp8/encoder/encodeframe.c
vp8/encoder/encodemb.c
vp8/encoder/onyx_int.h
vp8/encoder/rdopt.c
vp8/encoder/tokenize.c

Simple merge
index cc19985fd2128fe458528233b70016974272171a,fe36a9db89e68dcb156a21e142f50c7400b38f22..d961c7b2ab12df82b0a8a8a20e9dd74045948a3a
@@@ -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];
  
index 0e5e544181dbb9028a2c11d5bdffd92c76205d66,063fc2da67bdf4d870367c7a7d4678a6d737a488..d33c602f0e71ec7a072bf3e16fae7fe630129167
@@@ -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) {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge