- Oct 04, 2014
-
-
1. Only for fixed point on x86 platform (32bit and 64bit, uses SIMD intrinsics up to SSE4.2) 2. Use "configure --enable-fixed-point --enable-intrinsics" to enable optimization, default is disabled. 3. Official test cases are verified and passed. Signed-off-by:
Timothy B. Terriberry <tterribe@xiph.org>
-
- Jun 19, 2014
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Nov 18, 2013
-
-
Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up FIRs, IIRs and auto-correlations Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- 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.
-
- Sep 16, 2013
-
-
Ralph Giles authored
-
- May 21, 2013
-
-
Timothy B. Terriberry authored
-
- May 20, 2013
-
-
Timothy B. Terriberry authored
Since the last patch originally had them mangled (presumably by mailer, http server, or something else), let's just get rid of them.
-
Timothy B. Terriberry authored
Original patch by Aurélien Zanelli <aurelien.zanelli@parrot.com>: http://lists.xiph.org/pipermail/opus/2013-May/002078.html Revised version: - Add autconf detection (ported from libtheora). - Rename ARM5E to ARMv5E (an ARM5 is not the same thing as ARMv5!). - Use actual macros so they can still be selectively overridden. - Split out ARMv4 parts and add a few more ARMv4 macros. - Label blocks to make them easy to find in generated assembly. - Fix MULT16_32_Q15() so we can pass make check. The MDCT test passes in values larger than 2**30 for b. The new version should be just as fast (or faster, since it's easier to merge the shift with following instructions), and there's no appreciable impact on accuracy (FFT/MDCT SNR actually goes up in most cases). - Fix register constraints. We were using early-clobber flags in a bunch of places that didn't need them, and commutative-pair flags in a bunch of places that weren't actually commutative. This was Jean-Marc's fault (the original code came from Speex). - Simplify silk_CLZ16(). - Port over iFFT C_MULC asm by Andree Buschmann <AndreeBuschmann@t-online.de> from Rockbox. - Speed up the C_MULC asm by using LDRD, allowing more flexible addressing, re-ordering instructions to avoid some stalls, allowing more flexible register allocation, and getting things out of the inline asm block so the compiler can schedule them better. - Add C_MUL and C_MUL4 asm for the FFT to the encoder based, on the new C_MULC. In total, this patch gives a 22.3% speed-up on test_opus_encoder on a 600 MHz Cortex A8 using gcc 4.2.1, When restricted to ARMv4 optimizations, it gives a 9.6% speed-up on the same processor/compiler. On the conformance test vectors: Average mono quality is 97.0583 % Average stereo quality is 97.775 %
-
- Oct 10, 2012
-
-
Normalizes the cost function by (x+y) instead of sqrt(x*y)
-
- Sep 27, 2012
-
-
I stumbled upon the typo in README.draft, so took the opportunity to grep for common misspellings using List_of_common_misspellings.txt for hunspell.
-
- May 23, 2012
-
-
On MacOS, stdlib.h ends up including sys/signal.h, generating warnings about the local variables called 'signal' shadowing the global symbol signal(3). This was originally done in 86476906 but it missed some use of 'signal' in prototypes in headers where it didn't cause warnings. Later the prototypes were moved around and the warnings came back. This also cleans up some cases in where stdlib.h was used but shouldn't be required.
-
- Apr 20, 2012
-
-
Jean-Marc Valin authored
-
- Apr 02, 2012
-
-
Also fixes a minor typo.
-
- Mar 05, 2012
-
-
- Dec 13, 2011
-
-
decoder: - fixed incorrect scaling of filter states for the smallest quantization step sizes - NLSF2A now limits the prediction gain of LPC filters encoder: - increased damping of LTP coefficients in LTP analysis - increased white noise fraction in noise shaping LPC analysis - introduced maximum total prediction gain. Used by Burg's method to exit early if prediction gain is exceeded. This improves packet loss robustness and numerical robustness in Burg's method - Prefiltered signal is now in int32 Q10 domain, from int16 Q0 - Increased max number of iterations in CBR gain control loop from 5 to 6 - Removed useless code from LTP scaling control - Optimization: smarter LPC loop unrolling - Switched default win32 compile mode to be floating-point resampler: - made resampler have constant delay of 0.75 ms; removed delay compensation from silk code. - removed obsolete table entries (~850 Bytes) - increased downsampling filter order from 16 to 18/24/36 (depending on frequency ratio) - reoptimized filter coefficients
-
- 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.
-
- Oct 28, 2011
-
-
- Oct 27, 2011
-
-
Jean-Marc Valin authored
-
- Oct 20, 2011
-
-
Jean-Marc Valin authored
This is achieved by running the encoding process in a loop and padding when we don't reach the exact rate. It also implements VBR-with-cap, which means we no longer need to artificially decrease the SILK bandwidth when it's close to the cap.
-
- Oct 11, 2011
-
-
Jean-Marc Valin authored
-
- Sep 28, 2011
-
-
Gregory Maxwell authored
-
Gregory Maxwell authored
-
Gregory Maxwell authored
-
- Sep 23, 2011
-
-
Jean-Marc Valin authored
Result should be bit-identical on most machines/compilers, minus the undefined behaviour
-
- Sep 21, 2011
-
-
- Sep 16, 2011
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Mainly implementing signed overflow behaviour in a way that isn't undefined in the C standard
-
- Sep 01, 2011
-
-
Jean-Marc Valin authored
Doesn't work for fixed-point for some unknown reason
-
- Aug 29, 2011
-
-
Jean-Marc Valin authored
-
- Aug 28, 2011
-
-
Jean-Marc Valin authored
-
- Aug 15, 2011
-
-
Jean-Marc Valin authored
The config.h will take care of compat issues with "inline"
-
- Jul 31, 2011
-
-
whitespace.
-
- Jul 29, 2011
-
-
Jean-Marc Valin authored
-
- Jun 11, 2011
-
-
Jean-Marc Valin authored
- Merged the LPC stabilization from NLSF2A_stable.c into NLSF2A.c - The bandwidth expansion in NLSF2A() now operates on int32 LPC coefficients in Q17 domain (instead of int16 Q12 coefficients) - The function bwexpander_32() has a more precise way of updating the chirp variable (round to nearest, instead of round down) - Changed a few variables in NLSF_stabilize() from int16 to int32 to avoid signed wrap-around (no difference in results as the wrap-around would always be reversed later) - The LSF codebook for WB speech has a quantization stepsize of 0.15 (was 0.16). This doesn't break the bitstream, although it slightly limits quality of signals encoded with the old version and decoded with the new one (I can't really hear it and PESQ gives high scores as well). I does improve handling of tonal signals. - As discussed: the Q-domain of the poly function is now in Q16 (was Q20) - As discussed: limiting the LSFs in NLSF_decode() to 0...32767 - The silk_NLSF_DELTA_MIN values were lowered to deal with a possible future situation with less or no input HP filtering.
-
- May 19, 2011
-
-
Jean-Marc Valin authored
commit 5b64cf7c4d67af9050bc959996ef976ce6326888 Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Thu May 19 16:40:35 2011 -0400 Fixes a few bugs introduced in the latest update commit b91eb86025d2de3c4cf04f4fb1aa48a28ad676a3 Author: Timothy B. Terriberry <tterribe@xiph.org> Date: Thu May 19 16:12:02 2011 -0400 build_draft.sh fixes commit 0b10c30db7ad60ff7d4bfc1139bdb86e0543c035 Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Thu May 19 15:30:21 2011 -0400 Fixes the draft build commit 164424cded5978e657105104e171ac202dde5e5b Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Thu May 19 15:00:23 2011 -0400 Updated build system commit 188d9fcba8c3a1b1ad67c67c430e1b37e3658a40 Author: Koen Vos <koen.vos@skype.net> Date: Thu May 19 17:14:57 2011 -0400 SILK/Opus update
-
- Apr 28, 2011
-
-
Jean-Marc Valin authored
-
- Apr 27, 2011
-
-
commit c44b37355295df2963daa724649ff1876b690488 Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> Date: Wed Apr 27 00:33:12 2011 -0400 decoder size fix commit 78f864e9ddacd94d03d717d79a6e606712e25edd Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> Date: Tue Apr 26 23:26:14 2011 -0400 Makefile fix commit a0e884e463af88bcaa2f410ea8cc85e5bebd2c3b Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> Date: Tue Apr 26 22:53:27 2011 -0400 Making some progress commit 9e30457f2199bba7b5e37bb577ff75dc85ba9306 Author: Koen Vos <koen.vos@skype.net> Date: Tue Apr 26 22:29:42 2011 -0400 SILK update with stereo support
-
- Feb 28, 2011
-
-
Koen Vos authored
commit 7721daf733c6986cb2c2511c81e6fc14fea1ec6a Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Mon Feb 28 16:00:52 2011 -0500 Makefile.am update commit 47dcc4edad849f57240b0c364036a378b5d22a9a Author: Koen Vos <koen.vos@skype.net> Date: Mon Feb 28 15:46:23 2011 -0500 SILK update (prefill, new LSF quant)
-
- Feb 17, 2011
-
-
Koen Vos authored
commit 8501776e52242de200b48841b0a19a512f78085d Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Thu Feb 17 16:35:02 2011 -0500 Remove useless file commit 8fdc775812f84df1bb75aa4366760c768b101d02 Author: Koen Vos <koen.vos@skype.net> Date: Thu Feb 17 16:22:05 2011 -0500 SILK update (fixes a bandwidth control bug and adds encoder prefill)
-