summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2013-02-13 18:49:55 +0000
committerPaul Wilkins <paulwilkins@google.com>2013-02-13 18:56:56 +0000
commit56049d9488af78bf29a45eaa4625b75d4def865e (patch)
treec0bcc2f4c58c411d52cc41ff34de3a7bd512ab88 /vp9
parent0d284ffed10d8df86caff32bc56caefc45ed5c44 (diff)
downloadlibvpx-56049d9488af78bf29a45eaa4625b75d4def865e.tar
libvpx-56049d9488af78bf29a45eaa4625b75d4def865e.tar.gz
libvpx-56049d9488af78bf29a45eaa4625b75d4def865e.tar.bz2
libvpx-56049d9488af78bf29a45eaa4625b75d4def865e.zip
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
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_quantize.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/vp9/encoder/vp9_quantize.c b/vp9/encoder/vp9_quantize.c
index b2a83bc05..e66db7499 100644
--- a/vp9/encoder/vp9_quantize.c
+++ b/vp9/encoder/vp9_quantize.c
@@ -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