Making bits2pulses() use a fixed number of iterations to allow further
optimisations.
This commit is contained in:
parent
a75e25dac5
commit
0de9d8abec
2 changed files with 6 additions and 1 deletions
|
@ -154,11 +154,15 @@ void compute_alloc_cache(CELTMode *m)
|
||||||
|
|
||||||
static int bits2pulses(const CELTMode *m, int band, int bits)
|
static int bits2pulses(const CELTMode *m, int band, int bits)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
int lo, hi;
|
int lo, hi;
|
||||||
lo = 0;
|
lo = 0;
|
||||||
hi = MAX_PULSES-1;
|
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;
|
int mid = (lo+hi)>>1;
|
||||||
if (m->bits[band][mid] >= bits)
|
if (m->bits[band][mid] >= bits)
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#define RATE_H
|
#define RATE_H
|
||||||
|
|
||||||
#define MAX_PULSES 64
|
#define MAX_PULSES 64
|
||||||
|
#define LOG_MAX_PULSES 6
|
||||||
|
|
||||||
/** Computes a cache of the pulses->bits mapping in each band */
|
/** Computes a cache of the pulses->bits mapping in each band */
|
||||||
void compute_alloc_cache(CELTMode *m);
|
void compute_alloc_cache(CELTMode *m);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue