Skip to content
Snippets Groups Projects
  1. Jan 27, 2025
  2. Jul 06, 2022
  3. Oct 16, 2018
  4. Nov 02, 2016
  5. Mar 24, 2016
  6. Dec 31, 2015
  7. Jan 30, 2014
  8. Jan 21, 2014
  9. 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
  10. Dec 21, 2012
  11. Oct 19, 2012
  12. Sep 13, 2012
  13. May 16, 2012
  14. Apr 24, 2012
  15. Apr 20, 2012
  16. 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
  17. Sep 30, 2011
  18. Sep 24, 2011
  19. Sep 14, 2011
  20. Aug 31, 2011
  21. Aug 30, 2011
  22. Aug 11, 2011
  23. Aug 02, 2011
  24. Jul 31, 2011
  25. Jul 29, 2011
  26. Mar 11, 2011
  27. Feb 16, 2011
  28. Feb 14, 2011
  29. Feb 10, 2011
  30. Feb 07, 2011
  31. Feb 06, 2011
    • Timothy B. Terriberry's avatar
      16-bit int fixes. · 285bc372
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This fixes a number of issues for platforms with a 16-bit int, but
       by no means all of them.
      The type change for ec_window (for platforms where sizeof(size_t)==2)
       will break ABI (but not API) compatibility with libsilk and libopus,
       and reduce speed on x86-64, but allows the code to work in real-mode
       DOS without using the huge memory model, which is useful for testing
       16-bit int compliance.
      285bc372
  32. Feb 04, 2011
    • Timothy B. Terriberry's avatar
      Refactor the entropy coder. · a093f4df
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This unifies the byte buffer, encoder, and decoder into a single
       struct.
      The common encoder and decoder functions (such as ec_tell()) can
       operate on either one, simplifying code which uses both.
      The precision argument to ec_tell() has been removed.
      It now comes in two precisions:
        ec_tell() gives 1 bit precision in two operations, and
        ec_tell_frac() gives 1/8th bit precision in... somewhat more.
      ec_{enc|dec}_bit_prob() were removed (they are no longer needed).
      Some of the byte buffer access functions were made static and
       removed from the cross-module API.
      All of the code in rangeenc.c and rangedec.c was merged into
       entenc.c and entdec.c, respectively, as we are no longer
       considering alternative backends.
      rangeenc.c and rangede.c have been removed entirely.
      
      This passes make check, after disabling the modes that we removed
       support for in cf5d3a8c.
      a093f4df
  33. Feb 03, 2011
  34. Feb 02, 2011
    • Timothy B. Terriberry's avatar
      Increase caps/allocation accuracy. · ce6d0904
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This stores the caps array in 32nd bits/sample instead of 1/2 bits
       scaled by LM and the channel count, which is slightly less
       less accurate for the last two bands, and much more accurate for
       all the other bands.
      A constant offset is subtracted to allow it to represent values
       larger than 255 in 8 bits (the range of unoffset values is
       77...304).
      In addition, this replaces the last modeline in the allocation table
       with the caps array, allowing the initial interpolation to
       allocate 8 bits/sample or more, which was otherwise impossible.
      ce6d0904
  35. Feb 01, 2011
    • Timothy B. Terriberry's avatar
      Add a seprate qtheta offset for two-phase stereo. · 411a84fa
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      9b34bd83 caused serious regressions for 240-sample frame stereo,
       because the previous qb limit was _always_ hit for two-phase
       stereo.
      Two-phase stereo really does operate with a different model (for
       example, the single bit allocated to the side should really
       probably be thought of as a sign bit for qtheta, but we don't
       count it as part of qtheta's allocation).
      The old code was equivalent to a separate two-phase offset of 12,
       however Greg Maxwell's testing demonstrates that 16 performs
       best.
      411a84fa
    • Timothy B. Terriberry's avatar
      Adjust the splitting threshold. · 4499263b
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      Previously, we would only split a band if it was allocated more than
       32 bits.
      However, the N=4 codebook can only produce about 22.5 bits, and two
       N=2 bands combined can only produce 26 bits, including 8 bits for
       qtheta, so if we wait until we allocate 32, we're guaranteed to fall
       short.
      Several of the larger bands come pretty far from filling 32 bits as
       well, though their split versions will.
      
      Greg Maxwell also suggested adding an offset to the threshold to
       account for the inefficiency of using qtheta compared to another
       VQ dimension.
      This patch uses 1 bit as a placeholder, as it's a clear
       improvement, but we may adjust this later after collecting data on
       more possibilities over more files.
      4499263b
Loading