]> granicus.if.org Git - libvpx/commitdiff
Fixed encoder decoder mismatch.
authorPaul Wilkins <paulwilkins@google.com>
Wed, 13 Feb 2013 18:49:55 +0000 (18:49 +0000)
committerPaul Wilkins <paulwilkins@google.com>
Wed, 13 Feb 2013 18:56:56 +0000 (18:56 +0000)
Reverted part of change
I19981d1ef0b33e4e5732739574f367fe82771a84

That gives rise to an enc/dec mismatch.
As things stand the memsets are still needed.

Change-Id: I9fa076a703909aa0c4da0059ac6ae19aa530db30

vp9/encoder/vp9_quantize.c

index b2a83bc053a1b487a289136692cb4cfab599f4c3..e66db749949d53d26a9ca8bcb6d8011ce942adc2 100644 (file)
@@ -228,6 +228,12 @@ void vp9_regular_quantize_b_2x2(BLOCK *b, BLOCKD *d) {
 }
 
 void vp9_regular_quantize_b_8x8(BLOCK *b, BLOCKD *d) {
+  int16_t *qcoeff_ptr = d->qcoeff;
+  int16_t *dqcoeff_ptr = d->dqcoeff;
+
+  vpx_memset(qcoeff_ptr, 0, 64 * sizeof(int16_t));
+  vpx_memset(dqcoeff_ptr, 0, 64 * sizeof(int16_t));
+
   if (!b->skip_block) {
     int i, rc, eob;
     int zbin;
@@ -239,14 +245,9 @@ void vp9_regular_quantize_b_8x8(BLOCK *b, BLOCKD *d) {
     int16_t *round_ptr  = b->round;
     int16_t *quant_ptr  = b->quant;
     uint8_t *quant_shift_ptr = b->quant_shift;
-    int16_t *qcoeff_ptr = d->qcoeff;
-    int16_t *dqcoeff_ptr = d->dqcoeff;
     int16_t *dequant_ptr = d->dequant;
     int zbin_oq_value = b->zbin_extra;
 
-    vpx_memset(qcoeff_ptr, 0, 64 * sizeof(int16_t));
-    vpx_memset(dqcoeff_ptr, 0, 64 * sizeof(int16_t));
-
     eob = -1;
 
     // Special case for DC as it is the one triggering access in various