Commit graph

17 commits

Author SHA1 Message Date
Felicia Lim
7b05f44f4b
celt_lpc: avoid overflows when computing lpcs in fixed point
The LPCs are computed in 32-bit, so increase the allowed range from +/-8
to +/-64 to avoid overflows caught during fuzzing. Before downshifting
back down to the +/-8 range in the final 16-bit output, perform bandwidth
extension to avoid any additional overflow issues.
2021-03-02 21:35:16 -08:00
Tim Gates
a923218e9b
docs: fix simple typo, neareast -> nearest
There is a small typo in celt/fixed_generic.h.

Should read `nearest` rather than `neareast`.

Signed-off-by: Ralph Giles <giles@thaumas.net>
2020-12-08 14:27:55 -08:00
Mark Harris
d6d70371e8
Fix compiler warnings
- celt/modes.c:430:14: warning: cast from 'const unsigned char *' to
  'opus_int16 *' increases required alignment from 1 to 2 [-Wcast-align]
- 'C[0][1]' may be used uninitialized [-Wmaybe-uninitialized]
- Unused variable/parameter
- Value stored is never read
- MSVC warnings about "possible loss of data" due to type conversions
- MSVC warning C4146: unary minus operator applied to unsigned type
- silk/NLSF_del_dec_quant.c:137:20: warning: array subscript is above
  array bounds [-Warray-bounds] (gcc -O3 false positive)
- src/mlp_train.h:39:20: warning: function declaration isn't a prototype
  [-Wstrict-prototypes]
- Remove SMALL_FOOTPRINT code from SSE 4.1 FIR implementation, matching
  the C implementation.

The clang -Wcast-align warnings with SSE intrinsics are a known
clang issue: https://llvm.org/bugs/show_bug.cgi?id=20670
2017-02-26 19:10:45 -08:00
Jean-Marc Valin
a0bd7d3b84 fixes overflows in celt_iir() by doing proper saturation 2016-07-22 15:57:01 -04:00
Jean-Marc Valin
273906404c silencing overflows in MDCT and FFT 2016-07-22 15:30:19 -04:00
Jonathan Lennox
d6a44c5511 Add OPUS_FAST_INT64 flavors of celt/fixed_generic.h macros.
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2016-07-06 15:00:02 -07:00
Rhishikesh Agashe
f133bac6f9 MIPS optimizations
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2014-06-19 04:04:51 -04:00
Jean-Marc Valin
2e6876c07a Using SSAT in SIG2WORD16() on ARMv6 2014-01-22 19:22:05 -05:00
Jean-Marc Valin
17b197837f Speed up the comb filter on ARM by using MAC16_32_Q16() 2014-01-21 11:07:57 -05:00
Jean-Marc Valin
35a44c6100 Fixes OPUS_SET_GAIN (was a bug in MULT16_32_P16()) 2013-11-29 12:21:34 -05:00
Jean-Marc Valin
3ab03e0556 First pass at making the analysis code run with FIXED_POINT
Code is still float, but at least tonality esitmation seems to work.
Speech/music analysis is still disabled.
2013-09-06 16:00:39 -04:00
Jean-Marc Valin
02fed471a4 Implements fixed-point silk_LPC_analysis_filter() in terms of celt_fir()
Saves 2.5% on ARM without any asm. The float build still uses the old
code because celt_fir() then becomes a float function.
2013-08-29 15:29:02 -04:00
Timothy B. Terriberry
2040606f4a Minor ARMv5E cleanups.
Missed the armv5e extension on a couple of functions.
2013-05-22 08:52:00 -07:00
Gregory Maxwell
28b41ae5ae Add OPUS_{GET|SET}_GAIN CTLs for adjusting output gain.
This CTL was requested by Nicolas George for FFmpeg.
2012-07-11 00:04:24 -04:00
Jean-Marc Valin
cb05e7cd96 s/FOUNDATION/COPYRIGHT OWNER/ in CELT code and "glue code"
Also added 3rd clause to "master" COPYING file
2012-04-20 16:41:42 -04:00
Jean-Marc Valin
1ee139bca0 Making the left shift macros use unsigned to avoid undefined behaviour
Result should be bit-identical on most machines/compilers, minus the undefined
behaviour
2011-09-23 13:08:04 -04:00
Jean-Marc Valin
c37499090b renames the libcelt/ directory to celt/ 2011-09-13 18:21:18 -07:00
Renamed from libcelt/fixed_generic.h (Browse further)