]> granicus.if.org Git - libvpx/commitdiff
Merge "Moved dequantization into the token decoder" into experimental
authorScott LaVarnway <slavarnway@google.com>
Thu, 25 Apr 2013 15:53:42 +0000 (08:53 -0700)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Thu, 25 Apr 2013 15:53:42 +0000 (08:53 -0700)
1  2 
vp9/common/vp9_blockd.h
vp9/common/vp9_rtcd_defs.sh
vp9/decoder/vp9_decodframe.c
vp9/decoder/vp9_detokenize.c

Simple merge
Simple merge
index a51c82853aba4363b9fc6ea50422f35fcdf07fc1,c962729fd859036b079bcb650b555955e3296122..ac1c14672943d66bf0787fc033bd8b525503f989
@@@ -313,15 -323,12 +305,12 @@@ static void decode_8x8(MACROBLOCKD *xd
  
  static INLINE void dequant_add_y(MACROBLOCKD *xd, TX_TYPE tx_type, int idx) {
    BLOCKD *const b = &xd->block[idx];
 -  struct mb_plane *const y = &xd->plane[0];
 +  struct macroblockd_plane *const y = &xd->plane[0];
    if (tx_type != DCT_DCT) {
-     vp9_dequant_iht_add_c(tx_type,
-                           BLOCK_OFFSET(y->qcoeff, idx, 16),
-                           b->dequant, *(b->base_dst) + b->dst,
-                           b->dst_stride, y->eobs[idx]);
+     vp9_iht_add_c(tx_type, BLOCK_OFFSET(y->qcoeff, idx, 16),
+                   *(b->base_dst) + b->dst, b->dst_stride, y->eobs[idx]);
    } else {
-     xd->itxm_add(BLOCK_OFFSET(y->qcoeff, idx, 16),
-                  b->dequant, *(b->base_dst) + b->dst,
+     xd->itxm_add(BLOCK_OFFSET(y->qcoeff, idx, 16), *(b->base_dst) + b->dst,
                   b->dst_stride, y->eobs[idx]);
    }
  }
index 02ee7c3d635ebd6c0a73156b9ae2540ec4019c4b,7519108c55d2c6574c8999b94643d10d63e3fb5e..3099b937666dda7648e3429d0a21b95817cca4d5
@@@ -79,13 -64,24 +79,13 @@@ DECLARE_ALIGNED(16, extern const uint8_
    do {                                       \
      coef_counts[type][ref][get_coef_band(scan, txfm_size, c)] \
                 [pt][token]++;     \
 -    token_cache[c] = token; \
 -    pt = vp9_get_coef_context(scan, nb, pad, token_cache,     \
 -                              c + 1, default_eob); \
 +    token_cache[scan[c]] = token; \
    } while (0)
 +#endif
  
 -#if CONFIG_CODE_NONZEROCOUNT
 -#define WRITE_COEF_CONTINUE(val, token)                       \
 -  {                                                           \
 -    qcoeff_ptr[scan[c]] = vp9_read_and_apply_sign(r, val);    \
 -    INCREMENT_COUNT(token);                                   \
 -    c++;                                                      \
 -    nzc++;                                                    \
 -    continue;                                                 \
 -  }
 -#else
  #define WRITE_COEF_CONTINUE(val, token)                  \
    {                                                      \
-     qcoeff_ptr[scan[c]] = vp9_read_and_apply_sign(r, val); \
+     qcoeff_ptr[scan[c]] = vp9_read_and_apply_sign(r, val) * dq[c > 0]; \
      INCREMENT_COUNT(token);                              \
      c++;                                                 \
      continue;                                            \