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.c10
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)
248static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int skip_start, 248static 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
526int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, 526int 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}