Adjust fine bits allocation.
authorTimothy B. Terriberry <tterribe@xiph.org>
Tue, 27 Jul 2010 14:49:24 +0000 (07:49 -0700)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Tue, 27 Jul 2010 19:35:43 +0000 (21:35 +0200)
commita345decd971cb77263343168b8801c0812a42f88
treeae50d1f4ea8f304a1f4b28958e28cb359fc781c8
parent6f1cbca519ad1daa59093135da13d9de575e65eb
Adjust fine bits allocation.

The old code allocated too many fine bits to large bands.
New allocations were derived from by numerical optimization using quantization
 MSE sampled from Laplacian distributed random data to within +/- 1 bit for
 N=2...160 and bits per band from 0 to 64.
Those allocations could be modeled with only minor errors using a simple offset
 of 19/8+log2(N), with no bits spent on fine energy when there would not be
 enough bits remaining to code a single pulse.
However, PEAQ testing suggested an offset of 14/8 was better, and that it was
 always worth spending at least one bit on fine energy.
libcelt/rate.c
libcelt/rate.h