Merge "Add a runtime flag to enable bit accounting." into nextgenv2
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index f39c002..e12b9da 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2792,7 +2792,9 @@
pbi->allocated_tiles = n_tiles;
}
#if CONFIG_ACCOUNTING
- aom_accounting_reset(&pbi->accounting);
+ if (pbi->acct_enabled) {
+ aom_accounting_reset(&pbi->accounting);
+ }
#endif
// Load all tile information into tile_data.
for (tile_row = tile_rows_start; tile_row < tile_rows_end; ++tile_row) {
@@ -2817,7 +2819,11 @@
&td->bit_reader, pbi->decrypt_cb, pbi->decrypt_state);
#endif
#if CONFIG_ACCOUNTING
- tile_data->bit_reader.accounting = &pbi->accounting;
+ if (pbi->acct_enabled) {
+ tile_data->bit_reader.accounting = &pbi->accounting;
+ } else {
+ tile_data->bit_reader.accounting = NULL;
+ }
#endif
av1_init_macroblockd(cm, &td->xd, td->dqcoeff);
#if CONFIG_PALETTE
@@ -2838,8 +2844,10 @@
const int col = inv_col_order ? tile_cols - 1 - tile_col : tile_col;
TileData *const td = pbi->tile_data + tile_cols * row + col;
#if CONFIG_ACCOUNTING
- tile_data->bit_reader.accounting->last_tell_frac =
- aom_reader_tell_frac(&tile_data->bit_reader);
+ if (pbi->acct_enabled) {
+ tile_data->bit_reader.accounting->last_tell_frac =
+ aom_reader_tell_frac(&tile_data->bit_reader);
+ }
#endif
av1_tile_set_col(&tile_info, cm, col);
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c
index bcc6a1b..2263d56 100644
--- a/av1/decoder/decoder.c
+++ b/av1/decoder/decoder.c
@@ -131,6 +131,7 @@
av1_loop_restoration_precal();
#endif // CONFIG_LOOP_RESTORATION
#if CONFIG_ACCOUNTING
+ pbi->acct_enabled = 1;
aom_accounting_init(&pbi->accounting);
#endif
diff --git a/av1/decoder/decoder.h b/av1/decoder/decoder.h
index 7575260..fd68d13 100644
--- a/av1/decoder/decoder.h
+++ b/av1/decoder/decoder.h
@@ -104,6 +104,7 @@
int dec_tile_row, dec_tile_col;
#endif // CONFIG_EXT_TILE
#if CONFIG_ACCOUNTING
+ int acct_enabled;
Accounting accounting;
#endif