Making bits2pulses() use a fixed number of iterations to allow further

optimisations.
This commit is contained in:
Jean-Marc Valin 2008-03-24 17:06:08 +11:00
parent a75e25dac5
commit 0de9d8abec
2 changed files with 6 additions and 1 deletions

View file

@ -154,11 +154,15 @@ void compute_alloc_cache(CELTMode *m)
static int bits2pulses(const CELTMode *m, int band, int bits)
{
int i;
int lo, hi;
lo = 0;
hi = MAX_PULSES-1;
while (hi-lo != 1)
/* Instead of using the "bisection confition" we use a fixed number of
iterations because it should be faster */
/*while (hi-lo != 1)*/
for (i=0;i<LOG_MAX_PULSES;i++)
{
int mid = (lo+hi)>>1;
if (m->bits[band][mid] >= bits)

View file

@ -33,6 +33,7 @@
#define RATE_H
#define MAX_PULSES 64
#define LOG_MAX_PULSES 6
/** Computes a cache of the pulses->bits mapping in each band */
void compute_alloc_cache(CELTMode *m);