Add a symbol decode call count to accounting.

This keeps track of how many calls have been made
to read symbols or bits. A given syntax element
may make multiple calls to symbol decoding functions,
and these variables keep track of the entropy
decoding engine throughput.

Change-Id: Iab3a720cbfe68f8d5ca3e4c415f7baa683b24268
diff --git a/aom_dsp/bitreader.h b/aom_dsp/bitreader.h
index b6bf06c..aefa01d 100644
--- a/aom_dsp/bitreader.h
+++ b/aom_dsp/bitreader.h
@@ -144,6 +144,14 @@
     r->accounting->last_tell_frac = tell_frac;
   }
 }
+
+static INLINE void aom_update_symb_counts(const aom_reader *r,
+                                          const int is_binary) {
+  if (r->accounting != NULL) {
+    r->accounting->syms.num_multi_syms += !is_binary;
+    r->accounting->syms.num_binary_syms += !!is_binary;
+  }
+}
 #endif
 
 static INLINE int aom_read_(aom_reader *r, int prob ACCT_STR_PARAM) {
@@ -157,6 +165,7 @@
 #endif
 #if CONFIG_ACCOUNTING
   if (ACCT_STR_NAME) aom_process_accounting(r, ACCT_STR_NAME);
+  aom_update_symb_counts(r, 1);
 #endif
   return ret;
 }
@@ -167,6 +176,7 @@
   ret = rabs_read_bit(r);  // Non trivial optimization at half probability
 #elif CONFIG_DAALA_EC && CONFIG_RAWBITS
   // Note this uses raw bits and is not the same as aom_daala_read(r, 128);
+  // Calls to this function are omitted from raw symbol accounting.
   ret = aom_daala_read_bit(r);
 #else
   ret = aom_read(r, 128, NULL);  // aom_prob_half
@@ -213,6 +223,7 @@
 
 #if CONFIG_ACCOUNTING
   if (ACCT_STR_NAME) aom_process_accounting(r, ACCT_STR_NAME);
+  aom_update_symb_counts(r, (nsymbs == 2));
 #endif
   return ret;
 }
@@ -239,6 +250,7 @@
 
 #if CONFIG_ACCOUNTING
   if (ACCT_STR_NAME) aom_process_accounting(r, ACCT_STR_NAME);
+  aom_update_raw_counts(r, (nsymbs == 2));
 #endif
   return ret;
 }