Skip to content
Snippets Groups Projects
  1. May 21, 2013
  2. May 20, 2013
    • 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
  3. Dec 21, 2012
  4. Dec 07, 2012
  5. Oct 30, 2012
  6. Oct 23, 2012
    • Ralph Giles's avatar
      Include process.h for _getpid on windows. · 662ae9bb
      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.
      662ae9bb
  7. Aug 09, 2012
  8. Jul 20, 2012
  9. Jul 16, 2012
    • gcp's avatar
      Make MSVC build work in parallel. · eeb7bd3d
      gcp authored and Gregory Maxwell's avatar Gregory Maxwell committed
      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.
      eeb7bd3d
  10. Jul 12, 2012
  11. 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
  12. Aug 31, 2011
  13. Aug 29, 2011
  14. Jul 29, 2011
  15. May 02, 2011
    • Koen Vos's avatar
      Squashed commit of the following: · 494ce976
      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
      494ce976
  16. Feb 15, 2011
Loading