Adjust the splitting threshold.
authorTimothy B. Terriberry <tterribe@xiph.org>
Mon, 31 Jan 2011 18:44:03 +0000 (10:44 -0800)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Tue, 1 Feb 2011 03:42:12 +0000 (22:42 -0500)
commit4499263b444645cba4b616e0d8cc85d280695933
treeac36ce38ca01187363ae20c20c236f7a276a9a31
parent5cf41c9d1f5a0ac8aad9a63b5a6a14ffce14f3c3
Adjust the splitting threshold.

Previously, we would only split a band if it was allocated more than
 32 bits.
However, the N=4 codebook can only produce about 22.5 bits, and two
 N=2 bands combined can only produce 26 bits, including 8 bits for
 qtheta, so if we wait until we allocate 32, we're guaranteed to fall
 short.
Several of the larger bands come pretty far from filling 32 bits as
 well, though their split versions will.

Greg Maxwell also suggested adding an offset to the threshold to
 account for the inefficiency of using qtheta compared to another
 VQ dimension.
This patch uses 1 bit as a placeholder, as it's a clear
 improvement, but we may adjust this later after collecting data on
 more possibilities over more files.
libcelt/bands.c
libcelt/rate.c
libcelt/static_modes_fixed.c
libcelt/static_modes_float.c