diff options
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/rate.c')
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/rate.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/rate.c b/lib/rbcodec/codecs/libopus/celt/rate.c index 3b056d8dc7..e474cf5004 100644 --- a/lib/rbcodec/codecs/libopus/celt/rate.c +++ b/lib/rbcodec/codecs/libopus/celt/rate.c | |||
@@ -27,7 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #ifdef HAVE_CONFIG_H | 29 | #ifdef HAVE_CONFIG_H |
30 | #include "opus_config.h" | 30 | #include "config.h" |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #include <math.h> | 33 | #include <math.h> |
@@ -248,7 +248,7 @@ void compute_pulse_cache(CELTMode *m, int LM) | |||
248 | static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int skip_start, | 248 | static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int skip_start, |
249 | const int *bits1, const int *bits2, const int *thresh, const int *cap, opus_int32 total, opus_int32 *_balance, | 249 | const int *bits1, const int *bits2, const int *thresh, const int *cap, opus_int32 total, opus_int32 *_balance, |
250 | int skip_rsv, int *intensity, int intensity_rsv, int *dual_stereo, int dual_stereo_rsv, int *bits, | 250 | int skip_rsv, int *intensity, int intensity_rsv, int *dual_stereo, int dual_stereo_rsv, int *bits, |
251 | int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev) | 251 | int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev, int signalBandwidth) |
252 | { | 252 | { |
253 | opus_int32 psum; | 253 | opus_int32 psum; |
254 | int lo, hi; | 254 | int lo, hi; |
@@ -353,7 +353,7 @@ static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int | |||
353 | #ifdef FUZZING | 353 | #ifdef FUZZING |
354 | if ((rand()&0x1) == 0) | 354 | if ((rand()&0x1) == 0) |
355 | #else | 355 | #else |
356 | if (band_bits > ((j<prev?7:9)*band_width<<LM<<BITRES)>>4) | 356 | if (codedBands<=start+2 || (band_bits > ((j<prev?7:9)*band_width<<LM<<BITRES)>>4 && j<=signalBandwidth)) |
357 | #endif | 357 | #endif |
358 | { | 358 | { |
359 | ec_enc_bit_logp(ec, 1, 1); | 359 | ec_enc_bit_logp(ec, 1, 1); |
@@ -524,7 +524,7 @@ static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int | |||
524 | } | 524 | } |
525 | 525 | ||
526 | int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, | 526 | int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, |
527 | opus_int32 total, opus_int32 *balance, int *pulses, int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev) | 527 | opus_int32 total, opus_int32 *balance, int *pulses, int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev, int signalBandwidth) |
528 | { | 528 | { |
529 | int lo, hi, len, j; | 529 | int lo, hi, len, j; |
530 | int codedBands; | 530 | int codedBands; |
@@ -631,7 +631,7 @@ int compute_allocation(const CELTMode *m, int start, int end, const int *offsets | |||
631 | } | 631 | } |
632 | codedBands = interp_bits2pulses(m, start, end, skip_start, bits1, bits2, thresh, cap, | 632 | codedBands = interp_bits2pulses(m, start, end, skip_start, bits1, bits2, thresh, cap, |
633 | total, balance, skip_rsv, intensity, intensity_rsv, dual_stereo, dual_stereo_rsv, | 633 | total, balance, skip_rsv, intensity, intensity_rsv, dual_stereo, dual_stereo_rsv, |
634 | pulses, ebits, fine_priority, C, LM, ec, encode, prev); | 634 | pulses, ebits, fine_priority, C, LM, ec, encode, prev, signalBandwidth); |
635 | RESTORE_STACK; | 635 | RESTORE_STACK; |
636 | return codedBands; | 636 | return codedBands; |
637 | } | 637 | } |