- Jan 27, 2025
-
-
Jean-Marc Valin authored
-
- Jul 06, 2022
-
-
Jean-Marc Valin authored
-
- Oct 16, 2018
-
-
Jean-Marc Valin authored
As suggested in https://github.com/xiph/opus/pull/83
-
- Nov 02, 2016
-
-
Jean-Marc Valin authored
We now try not to fold below band 17 since that produces a lot of harshness. This mostly helps around 32-40 kb/s.
-
- Mar 24, 2016
-
-
Jean-Marc Valin authored
As reported by Giovanni Rovatti, this should fix some TI C55 issues.
-
- Dec 31, 2015
-
-
Jean-Marc Valin authored
Avoids accidental name collisions
-
- Jan 30, 2014
-
-
Jean-Marc Valin authored
-
- Jan 21, 2014
-
-
Jean-Marc Valin authored
-
- Oct 28, 2013
-
-
Gregory Maxwell authored
Newer versions of MSVC are unhappy with the strategy of the build environment redefining "inline" (even though they don't support the actual keyword). Instead we define OPUS_INLINE to the right thing in opus_defines.h. This is the same approach we use for restrict.
-
- Dec 21, 2012
-
-
Jean-Marc Valin authored
-
- Oct 19, 2012
-
-
Jean-Marc Valin authored
This fixes a SWB hybrid issue where band 18 isn't folded and cannot even be folded because it's wider than band 17. This was causing noise to be injected instead.
-
- Sep 13, 2012
-
-
Jean-Marc Valin authored
-
- May 16, 2012
-
-
Jean-Marc Valin authored
This reverts commit 9f407afa.
-
- Apr 24, 2012
-
-
Jean-Marc Valin authored
-
- Apr 20, 2012
-
-
Jean-Marc Valin authored
Also added 3rd clause to "master" COPYING file
-
- Dec 02, 2011
-
-
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.
-
- Sep 30, 2011
-
-
As of commit 44203907 all celt bands N>1 are even, including custom modes. In light of this, remove some pointless tests.
-
- Sep 24, 2011
-
-
Jean-Marc Valin authored
-
- Sep 14, 2011
-
-
Jean-Marc Valin authored
-
- Aug 31, 2011
-
-
The object code is unchanged (except ectest). Also reenables -Wparentheses, -Wsign-compare, and the MSVC warnings.
-
- Aug 30, 2011
-
-
Gregory Maxwell authored
The object code is unchanged.
-
Jean-Marc Valin authored
-
- Aug 11, 2011
-
-
Jean-Marc Valin authored
-
- Aug 02, 2011
-
-
Gregory Maxwell authored
-
- Jul 31, 2011
-
-
non-ascii characters from the source.
-
- Jul 29, 2011
-
-
Jean-Marc Valin authored
-
- Mar 11, 2011
-
-
Jean-Marc Valin authored
-
- Feb 16, 2011
-
-
Jean-Marc Valin authored
-
- Feb 14, 2011
-
-
Jean-Marc Valin authored
-
- Feb 10, 2011
-
-
Jean-Marc Valin authored
Got authorization from all copyright holders
-
- Feb 07, 2011
-
-
Jean-Marc Valin authored
-
- Feb 06, 2011
-
-
This fixes a number of issues for platforms with a 16-bit int, but by no means all of them. The type change for ec_window (for platforms where sizeof(size_t)==2) will break ABI (but not API) compatibility with libsilk and libopus, and reduce speed on x86-64, but allows the code to work in real-mode DOS without using the huge memory model, which is useful for testing 16-bit int compliance.
-
- Feb 04, 2011
-
-
This unifies the byte buffer, encoder, and decoder into a single struct. The common encoder and decoder functions (such as ec_tell()) can operate on either one, simplifying code which uses both. The precision argument to ec_tell() has been removed. It now comes in two precisions: ec_tell() gives 1 bit precision in two operations, and ec_tell_frac() gives 1/8th bit precision in... somewhat more. ec_{enc|dec}_bit_prob() were removed (they are no longer needed). Some of the byte buffer access functions were made static and removed from the cross-module API. All of the code in rangeenc.c and rangedec.c was merged into entenc.c and entdec.c, respectively, as we are no longer considering alternative backends. rangeenc.c and rangede.c have been removed entirely. This passes make check, after disabling the modes that we removed support for in cf5d3a8c.
-
- Feb 03, 2011
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Feb 02, 2011
-
-
This stores the caps array in 32nd bits/sample instead of 1/2 bits scaled by LM and the channel count, which is slightly less less accurate for the last two bands, and much more accurate for all the other bands. A constant offset is subtracted to allow it to represent values larger than 255 in 8 bits (the range of unoffset values is 77...304). In addition, this replaces the last modeline in the allocation table with the caps array, allowing the initial interpolation to allocate 8 bits/sample or more, which was otherwise impossible.
-
- Feb 01, 2011
-
-
9b34bd83 caused serious regressions for 240-sample frame stereo, because the previous qb limit was _always_ hit for two-phase stereo. Two-phase stereo really does operate with a different model (for example, the single bit allocated to the side should really probably be thought of as a sign bit for qtheta, but we don't count it as part of qtheta's allocation). The old code was equivalent to a separate two-phase offset of 12, however Greg Maxwell's testing demonstrates that 16 performs best.
-
Previously, we would only split a band if it was allocated more than 32 bits. However, the N=4 codebook can only produce about 22.5 bits, and two N=2 bands combined can only produce 26 bits, including 8 bits for qtheta, so if we wait until we allocate 32, we're guaranteed to fall short. Several of the larger bands come pretty far from filling 32 bits as well, though their split versions will. Greg Maxwell also suggested adding an offset to the threshold to account for the inefficiency of using qtheta compared to another VQ dimension. This patch uses 1 bit as a placeholder, as it's a clear improvement, but we may adjust this later after collecting data on more possibilities over more files.
-