Commit graph

19 commits

Author SHA1 Message Date
Jean-Marc Valin
ef203135b4
Adding ENABLE_HARDENING
Enables "safes" assertions even with ENABLE_ASSERTIONS isn't set
2018-03-27 15:13:25 -04:00
Jean-Marc Valin
76596ad93a Fixes comment 2016-07-24 22:16:29 -04:00
Jean-Marc Valin
c544b1238c Fixes an overflow in amp2Log2() for very large encoder input 2016-07-24 22:06:38 -04:00
Jean-Marc Valin
6fccb4b615 Adds some smoothing to the energy quantization
When the energy is stable, we slightly bias energy quantization towards
the previous error to make the gain more stable (a constant offset is
better than fluctuations).

We reduce the bitrate by about 0.2% to 1% at low bitrate for the same quality.
2016-07-19 16:11:50 -04:00
Jean-Marc Valin
257ab37674 Oops, fixes max_decay for LFE in fixed-point 2015-12-23 16:13:49 -05:00
Jean-Marc Valin
77a5963658 gcc -pedantic had "comparison of unsigned expression < 0 is always false" 2013-11-11 17:39:02 -05:00
Jean-Marc Valin
f6066df2b9 More size-zero VLA fixes and making opus_decode* return BAD_ARG on framesize<0 2013-11-11 13:06:54 -05:00
Jean-Marc Valin
ee2506b2c7 Moves log2Amp inside denormalise_bands() and get rid of bandE[]
Also get rid of the MSE measurement code which is outdated and no longer useful
2013-06-16 20:24:52 -04:00
Jean-Marc Valin
b08c4ca3f5 Surround: Better LFE handling
Forces CELT-only mode for LFE (despite the rate) and "locks" most of the
CELT analysis:
- No transient or TF
- Band boost on first band
- Only first two bands get PVQ bits
- Forced energy decay after the first two bands
2013-05-05 02:31:38 -04:00
Jean-Marc Valin
d47308de21 Remove long-outdated comment 2012-11-08 23:59:20 -05:00
Jean-Marc Valin
9ed3d02761 Fixes a quant_coarse_energy() hybrid mode bug
max_decay was being computed based on the small number of bits allocated
to CELT. It's now set to the max value (16) when in hybrid mode.
2012-11-08 21:50:05 -05:00
Jean-Marc Valin
cf1053dc85 Implements OPUS_{GET,SET}_LSB_DEPTH
This is used to avoid dynalloc doing silly things on periodic LSB
patterns and to reduce the bitrate on near-silence.
2012-07-13 14:52:52 -04:00
Jean-Marc Valin
ab5a049705 Merge commit '390c89225d' 2012-04-24 13:39:22 -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
367c394866 Fixes several overflows in the CELT fixed-point
These were all mostly benign and would at worst result in (rare)
suboptimal encoder decisions rather than signal corruption.
2012-04-12 11:09:09 -04:00
Ralph Giles
120800f8fa Rename '_FOO' to avoid potentional collisions with reserved identifiers.
C reserves identifiers of the from _[A-Z]+ and we have a number of
those in the code. This patch renames the various function arguments,
MACROS and preprocessor symbols to avoid the reserved form.

It also removes the CHANNELS() macro altogether. This was a
minor optimization for TI DSP to force a mono-only build,
as were the associated local 'const' versions. Since stereo
support is manditory, it wasn't worth keeping.

Thanks to John Ridges for raising the issue, and Jean-Marc Valin
and Greg Maxwell for reviewing the changes.
2011-12-02 12:31:36 -05:00
Jean-Marc Valin
3737862620 Using a noise-based PLC for the CELT layer in hybrid mode 2011-10-11 15:03:38 -04:00
Gregory Maxwell
5d5875a93a Add the noreturn attribute on the assert functions to aid static analysis, improve test_repacketizer error handling, and silence 19 clang static analysis errors with additional assertions. 2011-10-03 21:38:21 -04:00
Jean-Marc Valin
c37499090b renames the libcelt/ directory to celt/ 2011-09-13 18:21:18 -07:00
Renamed from libcelt/quant_bands.c (Browse further)