diff --git a/libcelt/bands.c b/libcelt/bands.c index 97daef94..92caee49 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -594,7 +594,7 @@ void haar1(celt_norm *X, int N0, int stride) } } -static int compute_qn(int N, int b, int offset, int stereo) +static int compute_qn(int N, int b, int offset, int pulse_cap, int stereo) { static const celt_int16 exp2_table8[8] = {16384, 17866, 19483, 21247, 23170, 25267, 27554, 30048}; @@ -602,9 +602,12 @@ static int compute_qn(int N, int b, int offset, int stereo) int N2 = 2*N-1; if (stereo && N==2) N2--; - qb = IMIN((b>>1)-(1<>1)) { qn = 1; @@ -748,13 +751,15 @@ static unsigned quant_band(int encode, const CELTMode *m, int i, celt_norm *X, c int itheta=0; int mbits, sbits, delta; int qalloc; + int pulse_cap; int offset; int orig_fill; celt_int32 tell; /* Decide on the resolution to give to the split parameter theta */ - offset = ((m->logN[i]+(LM<>1) - (stereo ? QTHETA_OFFSET_STEREO : QTHETA_OFFSET); - qn = compute_qn(N, b, offset, stereo); + pulse_cap = m->logN[i]+(LM<>1) - (stereo ? QTHETA_OFFSET_STEREO : QTHETA_OFFSET); + qn = compute_qn(N, b, offset, pulse_cap, stereo); if (stereo && i>=intensity) qn = 1; if (encode)