Skip to content
Snippets Groups Projects
  1. Feb 09, 2016
  2. Sep 01, 2015
  3. Oct 04, 2014
  4. Jun 19, 2014
  5. Nov 18, 2013
  6. Oct 28, 2013
    • Gregory Maxwell's avatar
      Replace "inline" with OPUS_INLINE. · 7830cf1b
      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.
      7830cf1b
  7. Sep 16, 2013
  8. May 21, 2013
  9. May 20, 2013
    • Timothy B. Terriberry's avatar
      Fix bustage in a16cef62. · 9880c4cd
      Timothy B. Terriberry authored
      9880c4cd
    • Timothy B. Terriberry's avatar
      Replace silk_CLZ functions with EC_ILOG(). · a16cef62
      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).
      a16cef62
    • Timothy B. Terriberry's avatar
      Convert quotes in license headers to ASCII. · 80ad3837
      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.
      80ad3837
    • Timothy B. Terriberry's avatar
      Add ARMv4/ARMv5E macros. · 972a34ec
      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 %
      972a34ec
  10. May 08, 2013
    • Timothy B. Terriberry's avatar
      Use dynamic stack allocation in the SILK encoder. · c152d602
      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.
      c152d602
  11. Apr 20, 2012
  12. Apr 12, 2012
  13. Mar 05, 2012
  14. Dec 13, 2011
    • Koen Vos's avatar
      SILK fixes following last codec WG meeting · bf75c8ec
      Koen Vos authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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
      bf75c8ec
  15. Dec 02, 2011
    • Ralph Giles's avatar
      Rename '_FOO' to avoid potentional collisions with reserved identifiers. · 120800f8
      Ralph Giles authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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.
      120800f8
  16. Sep 16, 2011
  17. Aug 28, 2011
  18. Aug 15, 2011
  19. Jul 31, 2011
  20. Jul 29, 2011
  21. May 19, 2011
    • Jean-Marc Valin's avatar
      Squashed commit of the following: · 103302b3
      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
      103302b3
  22. Apr 28, 2011
  23. Feb 14, 2011
  24. Jun 30, 2010
Loading