- Jan 08, 2014
-
-
Jean-Marc Valin authored
-
- Jan 07, 2014
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Also minor C89 fix for the previous commit
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
This saves 640 bytes on the peak stack usage.
-
- Dec 09, 2013
-
-
Jean-Marc Valin authored
Should make it easier when writing assembly.
-
- Nov 20, 2013
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
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>
-
- Nov 15, 2013
-
-
Jean-Marc Valin authored
Works by turning off pitch and energy prediction in CELT, while setting first_frame_after_reset in SILK to disable pitch and LSF interpolation and reduce LPC gain.
-
- Nov 12, 2013
-
-
Jean-Marc Valin authored
-
- Nov 11, 2013
-
-
Jean-Marc Valin authored
-
- Nov 09, 2013
-
-
Jean-Marc Valin authored
-
- Nov 05, 2013
-
-
Jean-Marc Valin authored
Code behaviour is unchanged
-
- 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.
-
- Oct 23, 2013
-
-
The compiler warned: silk/float/pitch_analysis_core_FLP.c: In function 'silk_P_Ana_calc_corr_st3': silk/float/pitch_analysis_core_FLP.c:499:36: warning: variable 'basis_ptr' set but not used [-Wunused-but-set-variable] const silk_float *target_ptr, *basis_ptr; This means we can safely remove it. Signed-off-by:
Stefan Beller <stefanbeller@googlemail.com> Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Sep 16, 2013
-
-
Ralph Giles authored
-
- Aug 29, 2013
-
-
Jean-Marc Valin authored
Saves 2.5% on ARM without any asm. The float build still uses the old code because celt_fir() then becomes a float function.
-
Jean-Marc Valin authored
bit-exact with original version
-
- Aug 28, 2013
-
-
Jean-Marc Valin authored
-
- Aug 26, 2013
-
-
Jean-Marc Valin authored
Should gives us ARM/SSE optimizations for free.
-
- Jul 15, 2013
-
-
Ralph Giles authored
By default Visual Studio warns about various C stdlib calls, recommending non-portable replacements instead. We disable this warning in a number of places in the source. Since they're specific to the Visual Studio build, it's better to disable them just in the project files where they always apply to the correct toolchain. I have only added the disable setting to project files which need it currently: opus, test_opus_encode, and test_opus_decode.
-
Ralph Giles authored
This warning disable was conditional on _WIN32, which mingw also defines, resulting in a warning about the unknown pragma on gcc. Instead make it depend on something only the Visual Studio compiler defines.
-
Gregory Maxwell authored
This reverts commit 43279728.
-
Gregory Maxwell authored
At a minimum MSVC warns on some of this stuff.
-
- Jun 27, 2013
-
-
Jean-Marc Valin authored
commit 77880655f652c54415e4b5f03b5984b951f5267b Author: Timothy B. Terriberry <tterribe@xiph.org> Date: Wed Jun 26 12:23:53 2013 +0200 Fix version.mk parsing in genversion.bat. This was broken by the changes in 0482c82f to make it work with spaces. CMD interprets the quotes to mean the argument to FOR is a string, not a file name. Instead, we expand the path to a short file name. Signed-off-by:
Gian-Carlo Pascutto <gcp@sjeng.org> commit 8e97847ecac3a04956747b117fefef14939cbcbe Merge: 0482c82 3c0aa8fc Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Wed Jun 26 12:19:41 2013 +0200 Merge branch 'master' into msvc_reorg commit 0482c82fea6dd397a7d2ab50dc6cda4965278fc2 Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Tue May 21 17:59:30 2013 +0200 Make genversion.bat work in paths with spaces. commit 3648ec55b7511119735280fc49bc57c7a3b55d6a Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Tue May 21 17:42:14 2013 +0200 Rework output & intermediate dirs for parallel build support. commit c367a0fcfcbf5551fb65d61365d9b832d7af2b38 Merge: bafb1dd b518b56f Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Tue May 21 14:17:11 2013 +0200 Merge branch 'master' into msvc_reorg Conflicts: win32/VS2010/celt.vcxproj win32/VS2010/opus.vcxproj win32/VS2010/silk_common.vcxproj win32/VS2010/silk_float.vcxproj commit bafb1dda3fcf6785decdfb42a1f934c7fab0c567 Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Mon Mar 11 21:25:28 2013 +0100 Fix two more files to not have the Platform Toolset explicitly set. commit c69c870201fec7461862fe79731a37866a1810f1 Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Mon Mar 11 21:08:00 2013 +0100 Add missing SILK MSVC project files. commit a0d41fb7f97558c8f812d500b9027c77907c37c0 Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Fri Mar 8 15:00:51 2013 +0100 Use the default toolset in the MSVC project files. commit 34aac5b2637ed38c5620f0d876e08db232849933 Author: Gian-Carlo Pascutto <gcp@sjeng.org> Date: Fri Mar 8 14:54:41 2013 +0100 Move the MSVC project files outside the source tree. Bring the project structure more in line with the one in libogg.
-
- May 24, 2013
-
-
Timothy B. Terriberry authored
Introduced in c152d602. Thanks to Pedro Becerra for the report.
-
- May 23, 2013
-
-
Timothy B. Terriberry authored
Introduced in c152d602. Thanks to Pedro Becerra for the report.
-
- May 21, 2013
-
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0068b/CIHBJEHG.html says that "Rd cannot be the same as Rm." http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0068b/CIHBJEHG.html says that "RdLo, RdHi, and Rm must all be different registers." This means that some of the early clobbers I removed really should have been there (to prevent aliasing Rd, RdLo, or RdHi with Rm). It also means that we should reverse some of the operands in the FFT's complex multiplies. This should only affect the ARMv4 optimizations. Thanks to Nils Wallménius for the report. While we're here, audit the commutative pair flags again, since I screwed up at least one of them, and eliminate some dead code.
-
- May 20, 2013
-
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
In most cases these will use __builtin_clz(). In a follow-up, we should audit usage of silk_CLZ32() and convert the places where its argument must be non-zero to use EC_ILOG() directly to avoid the test for zero (which is necessary on x86).
-
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 %
-
- May 17, 2013
-
-
Jean-Marc Valin authored
This is a follow-up on ac76b150. When Schur blows up, we set the last RC to +/- 0.99 instead of eliminating it.
-
- May 10, 2013
-
-
Ralph Giles authored
This replaces the OPUS_VERSION removed by ron's auto-updater.
-
- May 09, 2013
-
-
Jean-Marc Valin authored
We stop the schur recursion before any reflection coefficient goes outside of ]-1,1[ and we force reporting a residual energy of at least 1. Assertion was: Fatal (internal) error in ../silk/fixed/noise_shape_analysis_FIX.c, line 290: assertion failed: nrg >= 0 triggered by: opus_demo voip 16000 1 12500 -bandwidth WB -complexity 10 pl04f087.stp-crash out.pcm
-
- May 08, 2013
-
-
Timothy B. Terriberry authored
silk_setup_resamples() was using x_bufFIX for two purposes, and I only allocated enough space for one of them. This patch also switches to slightly more descriptive variable names than nSamples_temp and computes the resampler input/ouput sizes in a way that a little more obviously doesn't have issues with fractional samples (and replaces a divide with a variable divisor by one with a constant divisor).
-
Timothy B. Terriberry authored
This makes all remaining large stack allocations use the vararray macros. This continues the work of 6f2d9f50 to allow compiling with NONTHREADSAFE_PSEUDOSTACK to move the memory for large buffers off the stack for devices where it is very limited. It also does this for some additional large buffers used by the PLC in the decoder.
-