diff options
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/mathops.c')
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/mathops.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/mathops.c b/lib/rbcodec/codecs/libopus/celt/mathops.c index 1af6672592..21fd942960 100644 --- a/lib/rbcodec/codecs/libopus/celt/mathops.c +++ b/lib/rbcodec/codecs/libopus/celt/mathops.c | |||
@@ -32,7 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #ifdef HAVE_CONFIG_H | 34 | #ifdef HAVE_CONFIG_H |
35 | #include "opus_config.h" | 35 | #include "config.h" |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #include "mathops.h" | 38 | #include "mathops.h" |
@@ -123,6 +123,8 @@ opus_val32 celt_sqrt(opus_val32 x) | |||
123 | static const opus_val16 C[5] = {23175, 11561, -3011, 1699, -664}; | 123 | static const opus_val16 C[5] = {23175, 11561, -3011, 1699, -664}; |
124 | if (x==0) | 124 | if (x==0) |
125 | return 0; | 125 | return 0; |
126 | else if (x>=1073741824) | ||
127 | return 32767; | ||
126 | k = (celt_ilog2(x)>>1)-7; | 128 | k = (celt_ilog2(x)>>1)-7; |
127 | x = VSHR32(x, 2*k); | 129 | x = VSHR32(x, 2*k); |
128 | n = x-32768; | 130 | n = x-32768; |