diff options
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/rate.c')
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/rate.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/rate.c b/lib/rbcodec/codecs/libopus/celt/rate.c index e13d839d63..f85c3ee63c 100644 --- a/lib/rbcodec/codecs/libopus/celt/rate.c +++ b/lib/rbcodec/codecs/libopus/celt/rate.c | |||
@@ -333,7 +333,7 @@ static OPUS_INLINE int interp_bits2pulses(const CELTMode *m, int start, int end, | |||
333 | /*Figure out how many left-over bits we would be adding to this band. | 333 | /*Figure out how many left-over bits we would be adding to this band. |
334 | This can include bits we've stolen back from higher, skipped bands.*/ | 334 | This can include bits we've stolen back from higher, skipped bands.*/ |
335 | left = total-psum; | 335 | left = total-psum; |
336 | percoeff = left/(m->eBands[codedBands]-m->eBands[start]); | 336 | percoeff = celt_udiv(left, m->eBands[codedBands]-m->eBands[start]); |
337 | left -= (m->eBands[codedBands]-m->eBands[start])*percoeff; | 337 | left -= (m->eBands[codedBands]-m->eBands[start])*percoeff; |
338 | rem = IMAX(left-(m->eBands[j]-m->eBands[start]),0); | 338 | rem = IMAX(left-(m->eBands[j]-m->eBands[start]),0); |
339 | band_width = m->eBands[codedBands]-m->eBands[j]; | 339 | band_width = m->eBands[codedBands]-m->eBands[j]; |
@@ -414,7 +414,7 @@ static OPUS_INLINE int interp_bits2pulses(const CELTMode *m, int start, int end, | |||
414 | 414 | ||
415 | /* Allocate the remaining bits */ | 415 | /* Allocate the remaining bits */ |
416 | left = total-psum; | 416 | left = total-psum; |
417 | percoeff = left/(m->eBands[codedBands]-m->eBands[start]); | 417 | percoeff = celt_udiv(left, m->eBands[codedBands]-m->eBands[start]); |
418 | left -= (m->eBands[codedBands]-m->eBands[start])*percoeff; | 418 | left -= (m->eBands[codedBands]-m->eBands[start])*percoeff; |
419 | for (j=start;j<codedBands;j++) | 419 | for (j=start;j<codedBands;j++) |
420 | bits[j] += ((int)percoeff*(m->eBands[j+1]-m->eBands[j])); | 420 | bits[j] += ((int)percoeff*(m->eBands[j+1]-m->eBands[j])); |
@@ -465,7 +465,8 @@ static OPUS_INLINE int interp_bits2pulses(const CELTMode *m, int start, int end, | |||
465 | offset += NClogN>>3; | 465 | offset += NClogN>>3; |
466 | 466 | ||
467 | /* Divide with rounding */ | 467 | /* Divide with rounding */ |
468 | ebits[j] = IMAX(0, (bits[j] + offset + (den<<(BITRES-1))) / (den<<BITRES)); | 468 | ebits[j] = IMAX(0, (bits[j] + offset + (den<<(BITRES-1)))); |
469 | ebits[j] = celt_udiv(ebits[j], den)>>BITRES; | ||
469 | 470 | ||
470 | /* Make sure not to bust */ | 471 | /* Make sure not to bust */ |
471 | if (C*ebits[j] > (bits[j]>>BITRES)) | 472 | if (C*ebits[j] > (bits[j]>>BITRES)) |