ec_smallmul: Simplify binary read/write.

This should be the same number of operations as the non-ec_smallmul
version (though ideally we'd use the real 15-bit probability
natively).

Encoder output should not change, and all streams should remain
decodable without decoder changes.

Change-Id: I2998a77a02f566cd0c82c415395637acf49b5a97
diff --git a/aom_dsp/daalaboolreader.h b/aom_dsp/daalaboolreader.h
index 29eae48..9ce03c7 100644
--- a/aom_dsp/daalaboolreader.h
+++ b/aom_dsp/daalaboolreader.h
@@ -45,7 +45,11 @@
 
 static INLINE int aom_daala_read(daala_reader *r, int prob) {
   int bit;
-  int p = ((prob << 15) + (256 - prob)) >> 8;
+#if CONFIG_EC_SMALLMUL
+  int p = (0x7FFFFF - (prob << 15) + prob) >> 8;
+#else
+  int p = ((prob << 15) + 256 - prob) >> 8;
+#endif
 #if CONFIG_BITSTREAM_DEBUG
 /*{
   const int queue_r = bitstream_queue_get_read();
@@ -57,7 +61,7 @@
 }*/
 #endif
 
-  bit = od_ec_decode_bool_q15(&r->ec, OD_ICDF(p));
+  bit = od_ec_decode_bool_q15(&r->ec, p);
 
 #if CONFIG_BITSTREAM_DEBUG
   {
diff --git a/aom_dsp/daalaboolwriter.h b/aom_dsp/daalaboolwriter.h
index c4466fc..00da5a0 100644
--- a/aom_dsp/daalaboolwriter.h
+++ b/aom_dsp/daalaboolwriter.h
@@ -36,7 +36,11 @@
 void aom_daala_stop_encode(daala_writer *w);
 
 static INLINE void aom_daala_write(daala_writer *w, int bit, int prob) {
-  int p = ((prob << 15) + (256 - prob)) >> 8;
+#if CONFIG_EC_SMALLMUL
+  int p = (0x7FFFFF - (prob << 15) + prob) >> 8;
+#else
+  int p = ((prob << 15) + 256 - prob) >> 8;
+#endif
 #if CONFIG_BITSTREAM_DEBUG
   aom_cdf_prob cdf[2] = { (aom_cdf_prob)p, 32767 };
   /*int queue_r = 0;
@@ -50,7 +54,7 @@
   bitstream_queue_push(bit, cdf, 2);
 #endif
 
-  od_ec_encode_bool_q15(&w->ec, bit, OD_ICDF(p));
+  od_ec_encode_bool_q15(&w->ec, bit, p);
 }
 
 #if CONFIG_RAWBITS