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. May 19, 2013
  4. May 18, 2013
  5. May 17, 2013
  6. May 10, 2013
    • Ralph Giles's avatar
      Change Visual Studio files to use PACKAGE_VERSION. · b7d5531f
      Ralph Giles authored
      This replaces the OPUS_VERSION removed by ron's auto-updater.
      b7d5531f
    • Ron's avatar
      Fully automate version updating · 2f2f9d63
      Ron authored
      This one meets or exceeds the following requirements:
      
       - Version is checked/updated for every build action when in the git repo.
         Does not require the user to re- ./configure to get the correct version.
      
       - Version is not updated automatically when using exported tarball source.
         Avoids accidentally getting a wrong version from some other git repo in
         a parent directory of the source, and allows setting the correct version
         for distro package exports.
      
       - Automatic updating can be manually suppressed.
         For developers doing lots of change/rebuild cycles they don't plan to
         release, when they don't want a full rebuild triggered for every commit,
         and again for every change made immediately after a commit.
         The version will still always be updated if they do a `make dist`.
      
       - Does not require any manual updating of versions in the mainline git
         repo for each release aside from normal tagging.  The version is
         recorded in one file only, that is automatically generated and will
         never need to be committed.
      
       - Does not require gnu-make features for the autoconf builds.
      
      It does not currently:
      
       - Keep a checksum of every source file in tarball releases to mangle the
         version if people modify the tarball source.  Responsible people can
         manually update the version easily though in such cases.
      
      The version.mk file is now only used by the VC project files.  Once they
      are updated to use the package_version file too, then it can be deleted
      from the repository.
      2f2f9d63
  7. 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
  8. May 06, 2013
  9. May 05, 2013
  10. Apr 20, 2013
  11. Apr 19, 2013
    • Jean-Marc Valin's avatar
      Variable framesize improvements · 3252bf2a
      Jean-Marc Valin authored
      - Properly apply the transient boost by counting all the bits in the cost
      - Disable the post-filter for non-20-ms frames that follow a transient (applies
        only to variable framesize)
      3252bf2a
  12. Mar 07, 2013
  13. Feb 19, 2013
  14. Feb 18, 2013
  15. Feb 10, 2013
  16. Jan 09, 2013
  17. Jan 04, 2013
  18. Jan 03, 2013
  19. Dec 23, 2012
  20. Dec 21, 2012
  21. Dec 14, 2012
Loading