- May 21, 2013
-
-
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
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 %
-
- Dec 21, 2012
-
-
Jean-Marc Valin authored
-
- Dec 07, 2012
-
-
Ralph Giles authored
-
- Oct 30, 2012
-
-
Jean-Marc Valin authored
-
- Oct 23, 2012
-
-
Ralph Giles authored
Previously the test programmes happened to link because _getpid returns an int, which is the default prototype. Instead, include the appropriate header to supply a real declaration, fixing the associated warning. I moved the getpid->_getpid define to the site of the header inclusion to make clear what's going on, rather than have it floating in win32/config.h.
-
- Aug 09, 2012
-
-
Gregory Maxwell authored
-
- Jul 20, 2012
-
-
- Jul 16, 2012
-
-
The (non-default) temporary & output dirs configured in the projects could cause issues when doing compilation on a multiprocessor machine. Cleaned this up a little to use the defaults, which makes that work again and doesn't make the output structure any worse. Also removed debug output for release binaries & a tiny whitespace fix.
-
- Jul 12, 2012
-
-
Add project files for Opus tests, fixup test source for Win32.
-
-
- 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
-
- Aug 31, 2011
-
-
The object code is unchanged (except ectest). Also reenables -Wparentheses, -Wsign-compare, and the MSVC warnings.
-
- Aug 29, 2011
-
-
Jean-Marc Valin authored
-
- Jul 29, 2011
-
-
Jean-Marc Valin authored
-
- May 02, 2011
-
-
Koen Vos authored
commit dfe4d46f9abf6b0e96e66370d428da4e283204ce Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Mon May 2 09:59:45 2011 -0400 SILK file list update commit 5faf541d86445eb8ce1775ea206e88afe83c7107 Author: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Mon May 2 09:51:29 2011 -0400 Makefiles update commit f5d70b3ccbe209cc07a1a604fffca93ea34bc64b Author: Koen Vos <koen.vos@skype.net> Date: Mon May 2 09:50:33 2011 -0400 SILK stereo update and MSVC build update
-
- Feb 15, 2011
-
-
Jean-Marc Valin authored
-