shithub: libvpx

Download patch

ref: 56049d9488af78bf29a45eaa4625b75d4def865e
parent: 0d284ffed10d8df86caff32bc56caefc45ed5c44
author: Paul Wilkins <paulwilkins@google.com>
date: Wed Feb 13 13:49:55 EST 2013

Fixed encoder decoder mismatch.

Reverted part of change
I19981d1ef0b33e4e5732739574f367fe82771a84

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

Change-Id: I9fa076a703909aa0c4da0059ac6ae19aa530db30

--- a/vp9/encoder/vp9_quantize.c
+++ b/vp9/encoder/vp9_quantize.c
@@ -228,6 +228,12 @@
 }
 
 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,13 +245,8 @@
     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;