Skip to content
Snippets Groups Projects
  1. Jan 21, 2014
  2. May 16, 2012
  3. Apr 24, 2012
  4. Apr 20, 2012
  5. Sep 14, 2011
  6. Aug 11, 2011
  7. Jul 31, 2011
  8. Jul 29, 2011
  9. Mar 03, 2011
    • Timothy B. Terriberry's avatar
      Eliminate the ec_int32 and ec_uint32 typedefs. · 9bac8c17
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      These were used because the entropy coder originally came from
       outside libcelt, and thus did not have a common type system.
      It's now undergone enough modification that it's not ever likely to
       be used as-is in another codec without some porting effort, so
       there's no real reason to maintain the typedefs separately.
      Hopefully we'll replace these all again somedate with a common set
       of Opus typedefs, but for now this will do.
      
      This fixes an issue caused by commit 6c8acbf1, which moved the
       ec_ilog() prototype from entcode.h to ecintrin.h, where the
       ec_uint32 typedef was not yet available.
      Thanks to John Ridges for the report.
      9bac8c17
  10. Feb 10, 2011
  11. May 24, 2010
  12. Oct 18, 2009
  13. Oct 17, 2009
  14. May 26, 2009
    • Timothy B. Terriberry's avatar
      CWRS clean-ups and optimizations. · d98d8ae0
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      Adds specialized O(N*log(K)) versions of cwrsi() and O(N) versions of icwrs()
       for N={3,4,5}, which allows them to operate all the way up to the theoretical
       pulse limit without serious performance degredation.
      Also substantially reduces the computation time and stack usage of
       get_required_bits().
      On x86-64, this gives a 2% speed-up for 256 sample frames, and almost a 16%
       speed-up for 64 sample frames.
      d98d8ae0
  15. Feb 09, 2009
  16. Dec 17, 2008
  17. Sep 22, 2008
  18. Sep 19, 2008
    • Timothy B. Terriberry's avatar
      Change CWRS indexing to use Pyramid VQ's magnitude ordering. · d910274f
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This lets us encode and decode directly from the pulse vector without an
       intermediate transformation.
      This makes old streams undecodable.
      Additionally, ncwrs_u32() has been sped up for large N by using the sliding
       recurrence from Mohorko et al.
      ncwrs_u64 could be sped up in a similar manner, but would require a larger
       table of multiplicative inverses (or several 32x32->64 bit multiplies).
      Note that U(N,M) is now everywhere 1/2 the value it used to be.
      d910274f
  19. Jun 10, 2008
  20. Apr 18, 2008
  21. Apr 05, 2008
    • Timothy B. Terriberry's avatar
      Rework CWRS code. · d883670b
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This eliminates an extra O(nm) lookups on decode, and reduces the rate control
       from O(nm^2) to O(nm), in addition to eliminating O(m) lookups on both encode
       and decode.
      Although the interface is slightly more complex, the internal code is also
       simpler.
      d883670b
  22. Mar 15, 2008
  23. Feb 14, 2008
  24. Jan 31, 2008
  25. Dec 11, 2007
  26. Dec 03, 2007
  27. Nov 30, 2007
Loading