Skip to content
Snippets Groups Projects
  1. Feb 13, 2019
  2. Oct 05, 2017
  3. Jun 26, 2017
  4. Jun 04, 2017
  5. Dec 20, 2016
    • Jean-Marc Valin's avatar
      Makes analysis run at 24 kHz, with 20-ms frames · cf9409fe
      Jean-Marc Valin authored
      The change also makes the analysis run for sampling rates of 16 kHz and 24 kHz
      since the features are only computed on the 0-8 kHz band. The longer time
      window (20 ms instead of 10 ms) makes the tonality estimator more reliable
      for low-pitch harmonics.
      Verified
      cf9409fe
  6. Nov 05, 2016
  7. Dec 31, 2015
    • Ralph Giles's avatar
      Add tonality_analysis_reset(). · 9e3872a8
      Ralph Giles authored
      
      Add a reset function for the TonalityAnalysisState struct
      and call it on encoder reset.
      
      Move the state struct above the clear line in OpusEncoder
      so reset doesn't clobber reusable fields. Currently this
      is only the arch field, which is moved to to top of the
      struct so we can use the same memset-to-the-end pattern
      as OpusEncoder.
      
      Signed-off-by: default avatarJean-Marc Valin <jmvalin@jmvalin.ca>
      9e3872a8
    • Ralph Giles's avatar
      Add an initializer for TonalityAnalysisState. · d43445f3
      Ralph Giles authored
      
      This interns the asm flags parameter in the state struct
      so we don't need to pass it with every call. It can be
      expensive, so we don't want to query every run_analysis()
      call, but since this (private) api is used by webrtc code
      we need to provide a supportable interface for filling in
      the correct value.
      
      Note the initialization code is partially duplicated between
      opus_encoder_init and the OPUS_RESET_STATE switch case, so we
      must re-initialize it there.
      
      Signed-off-by: default avatarJean-Marc Valin <jmvalin@jmvalin.ca>
      d43445f3
  8. Oct 07, 2015
    • Viswanath Puttagunta's avatar
      armv7(float): Optimize encode usecase using NE10 library · f48abe83
      Viswanath Puttagunta authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      Optimize opus encode (float only) usecase using ARM NE10
      library. Mainly effects opus_fft and ctl_mdct_forward
      and related functions.
      
      This optimization can be used for ARM CPUs that have NEON
      VFP unit. This patch only enables optimizations for ARMv7.
      
      Official ARM NE10 library page available at
      http://projectne10.github.io/Ne10/
      
      
      
      To enable this optimization, use
      --enable-intrinsics --with-NE10=<install_prefix>
      or
      --enable-intrinsics --with-NE10-libraries=<NE10_lib_dir> --with-NE10-includes=<NE10_includes_dir>
      
      Compile time checks made during configure process to make sure
      optimization option available only when compiler supports NEON
      instrinsics.
      
      Runtime checks made to make sure optimized functions only called
      on appropriate hardware.
      
      Signed-off-by: default avatarTimothy B. Terriberry <tterribe@xiph.org>
      f48abe83
  9. Dec 10, 2013
  10. Nov 13, 2013
  11. Sep 28, 2013
  12. Sep 16, 2013
  13. Sep 06, 2013
  14. Jul 02, 2013
  15. May 17, 2013
  16. Feb 28, 2013
  17. Feb 20, 2013
    • Jean-Marc Valin's avatar
      Adds support for delayed decision · 51f4a32e
      Jean-Marc Valin authored
      Variable duration option renamed to OPUS_SET_EXPERT_FRAME_DURATION,
      with new API.
      Also moves up the analysis to avoid having to do int->float conversion
      on large buffers.
      51f4a32e
  18. Feb 10, 2013
  19. Dec 21, 2012
  20. Jul 13, 2012
  21. May 16, 2012
  22. Apr 24, 2012
  23. Apr 20, 2012
  24. Sep 07, 2011
    • Ralph Giles's avatar
      Move the fallback OPUS_VERSION to libcelt. · b0f4e90b
      Ralph Giles authored
      In f9265ddf opus_get_version_string() was moved
      to libcelt, but the fallback definition for OPUS_VERSION
      stayed in src/opus.c. This is helpful for those using
      and external build system, which may not duplicate
      all the defines from the included build files.
      b0f4e90b
  25. Sep 01, 2011
  26. Aug 23, 2011
  27. Aug 12, 2011
  28. Aug 02, 2011
  29. Aug 01, 2011
  30. Jul 05, 2011
  31. 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
  32. Feb 10, 2011
Loading