Add assertions for band size restrictions.
authorTimothy B. Terriberry <tterribe@xiph.org>
Tue, 1 Feb 2011 20:53:05 +0000 (12:53 -0800)
committerJean-Marc Valin <jean-marc.valin@octasic.com>
Tue, 1 Feb 2011 22:06:58 +0000 (17:06 -0500)
commit2799c29792ebaa7c01e22457013000fecb18169e
treeace0c46f9afa7da4a26a25b0221859a7cdc2420c
parentcb8f366af6d80de6815e3375e4d17aee19366607
Add assertions for band size restrictions.

The way folding is implemented requires two restrictions:
1. The last band must be the largest (so we can use its size to
 allocate a temporary buffer to handle interleaving/TF changes).
2. No band can be larger than twice the size of the previous band
 (so that once we have enough data to start folding, we will always
 have enough data to fold).

Mode creation makes a heuristic attempt to satisfy these
 conditions, but nothing actually guarantees it.
This adds some asserts to check them during mode creation.
They current pass for all supported custom modes.
libcelt/modes.c