Increase caps/allocation accuracy.
authorTimothy B. Terriberry <tterribe@xiph.org>
Wed, 2 Feb 2011 01:41:12 +0000 (17:41 -0800)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Wed, 2 Feb 2011 02:17:57 +0000 (21:17 -0500)
commitce6d0904a1548143758f58d56340f5d4ddd2f96c
tree475304f0f928fa593ac21a21b013701efe904385
parent424eb7427960a84f27f7d8dc412aca17306b714c
Increase caps/allocation accuracy.

This stores the caps array in 32nd bits/sample instead of 1/2 bits
 scaled by LM and the channel count, which is slightly less
 less accurate for the last two bands, and much more accurate for
 all the other bands.
A constant offset is subtracted to allow it to represent values
 larger than 255 in 8 bits (the range of unoffset values is
 77...304).
In addition, this replaces the last modeline in the allocation table
 with the caps array, allowing the initial interpolation to
 allocate 8 bits/sample or more, which was otherwise impossible.
libcelt/celt.c
libcelt/modes.c
libcelt/rate.c
libcelt/static_modes_fixed.c
libcelt/static_modes_float.c