Fix --enable-accounting with --enable-pvq. The bit accounting was broken when refactor portions of PVQ to use the aom_reader / aom_writer API because the daala_ec calls were using OD_ACCOUNTING instead of CONFIG_ACCOUNTING. This fixes them so that bit accounting will still work with pvq while the full port to --enable-accounting is in review. Change-Id: I99e6b6debc716f1a6780116d5602085f7a2bb827
diff --git a/av1/decoder/generic_decoder.c b/av1/decoder/generic_decoder.c index 7f7fbca..2189460 100644 --- a/av1/decoder/generic_decoder.c +++ b/av1/decoder/generic_decoder.c
@@ -23,6 +23,8 @@ #include "av1/common/odintrin.h" #include "pvq_decoder.h" +#define ACCT_STR __func__ + /** Decodes a value from 0 to N-1 (with N up to 16) based on a cdf and adapts * the cdf accordingly. * @@ -44,7 +46,7 @@ cdf[i] = cdf[i]*32768/ft; } } - val = aom_read_symbol(r, cdf, n, acc_str); + val = aom_read_symbol(r, cdf, n, ACCT_STR); aom_cdf_adapt_q15(val, cdf, n, count, rate); return val; } @@ -108,8 +110,8 @@ id = OD_MINI(GENERIC_TABLES - 1, lg_q1); cdf = model->cdf[id]; ms = (max + (1 << shift >> 1)) >> shift; - if (max == -1) xs = aom_read_symbol_unscaled(r, cdf, 16, acc_str); - else xs = aom_read_symbol_unscaled(r, cdf, OD_MINI(ms + 1, 16), acc_str); + if (max == -1) xs = aom_read_symbol_unscaled(r, cdf, 16, ACCT_STR); + else xs = aom_read_symbol_unscaled(r, cdf, OD_MINI(ms + 1, 16), ACCT_STR); if (xs == 15) { int e; unsigned decay; @@ -121,7 +123,7 @@ e = ((2**ex_q16 >> 8) + (1 << shift >> 1)) >> shift; decay = OD_MAXI(2, OD_MINI(254, 256*e/(e + 256))); #if CONFIG_DAALA_EC - xs += laplace_decode_special(&r->ec, decay, (max == -1) ? -1 : ms - 15, acc_str); + xs += laplace_decode_special(&r->ec, decay, (max == -1) ? -1 : ms - 15, ACCT_STR); #else # error "CONFIG_PVQ currently requires CONFIG_DAALA_EC." #endif @@ -132,7 +134,7 @@ for xs=0 */ special = xs == 0; if (shift - special > 0) { - lsb = aom_read_literal(r, shift - special, acc_str); + lsb = aom_read_literal(r, shift - special, ACCT_STR); } lsb -= !special << (shift - 1); }