summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/celt/rate.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/rate.c')
-rw-r--r--lib/rbcodec/codecs/libopus/celt/rate.c7
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))