Add a generic CDF decoding routine.
authorTimothy B. Terriberry <tterribe@xiph.org>
Fri, 17 Dec 2010 18:49:00 +0000 (10:49 -0800)
committerJean-Marc Valin <jean-marc.valin@octasic.com>
Fri, 17 Dec 2010 19:21:43 +0000 (14:21 -0500)
commita0b664df3dd7cdaf01d1c30af928bb24c675211e
tree91eec5ff139ab7afb1b879840b9cc011b05c4dcb
parent3fed34ae00214e9620dd2ff4b897690e5cdf433a
Add a generic CDF decoding routine.

This decodes a value encoded with ec_encode_bin() without using any
 divisions.
It is only meant for small alphabets.
If a symbol can take on a large number of possible values, a binary
 search would be better.

This patch also converts spread_decision to use it, since it is
 faster and introduces less rounding error to encode a single
 decision for the entire value than to encode it a bit at a time.
libcelt/celt.c
libcelt/entdec.h
libcelt/rangedec.c