Skip to content
Snippets Groups Projects
  1. Jul 24, 2022
  2. Mar 27, 2018
  3. Jul 19, 2016
  4. Jul 17, 2016
  5. Aug 10, 2015
    • Koen Vos's avatar
      Fix for flutter with FEC · 3499e78b
      Koen Vos authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      
      The bug was caused by an improper feedback of the per-frame bitrate, causing
      the bitrate to jump up and down from frame to frame, within a packet.
      The patch avoids this, and also gives a slight improvement in general for
      multi-frame packets, even without FEC.
      
      Signed-off-by: default avatarJean-Marc Valin <jmvalin@jmvalin.ca>
      3499e78b
  6. 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
  7. Sep 16, 2013
  8. May 20, 2013
  9. May 08, 2013
    • Timothy B. Terriberry's avatar
      Fix bustage from c152d602. · c9f857ef
      Timothy B. Terriberry authored
      silk_setup_resamples() was using x_bufFIX for two purposes, and I
       only allocated enough space for one of them.
      This patch also switches to slightly more descriptive variable
       names than nSamples_temp and computes the resampler input/ouput
       sizes in a way that a little more obviously doesn't have issues
       with fractional samples (and replaces a divide with a variable
       divisor by one with a constant divisor).
      c9f857ef
    • 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
  10. Sep 12, 2012
  11. Apr 20, 2012
  12. Mar 08, 2012
  13. Dec 14, 2011
  14. Dec 13, 2011
    • Koen Vos's avatar
      Improves the accuracy such that it matches a float decoder much better · bbfc9c9e
      Koen Vos authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      bbfc9c9e
    • 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
  15. Oct 28, 2011
  16. Oct 22, 2011
  17. Oct 20, 2011
    • Jean-Marc Valin's avatar
      Implements hard CBR for SILK · 294bfec2
      Jean-Marc Valin authored
      This is achieved by running the encoding process in a loop and
      padding when we don't reach the exact rate. It also implements
      VBR-with-cap, which means we no longer need to artificially decrease
      the SILK bandwidth when it's close to the cap.
      294bfec2
  18. Oct 12, 2011
    • Jean-Marc Valin's avatar
      Misc bug fixes · b24e5746
      Jean-Marc Valin authored
      - There was a bug where the decoder resampler was not properly initialized
      when fs_kHz == API_fs_kHz. In that case the resampler would continue to
      upsample, and the output was corrupt.
      
      - The delay value in the decoder was taken from the state before it was
      potentially updated. This caused the decoder to apply the new dalay value one
      frame late
      
      - The encoder and decoder states are now updated more consistently, when
      the sampling rate changes (pesq liked these changes)
      
      - Properly resetting the side channel encoder and decoder for the first
      frame with side coding active again
      
      - Faster updating the "ratio" value in the LR_to_MS() code for large
      prediction values means that for certain extreme/artificial input
      signals the output looks better
      b24e5746
  19. Oct 07, 2011
    • Jean-Marc Valin's avatar
      Proper SILK delay compensation for resampling · b5972388
      Jean-Marc Valin authored
      Adds SILK delay compensation that depends on encode and decode sampling
      rate, as well as SILK internal coding rate. This ensures that the SILK
      part of Opus is always in sync with the CELT part no matter what the
      sampling rates are. It also increases the resampling delay to 1.15 ms
      (was previously 0.48 ms).
      b5972388
  20. Sep 16, 2011
  21. Aug 15, 2011
  22. Aug 12, 2011
    • Jean-Marc Valin's avatar
      Fixes a stereo rate mismatch bug · 3120e225
      Jean-Marc Valin authored
      This is a tentative fix for a bug found in fuzzing where the encoder
      switched from mono to stereo while in the process of changing bandwidth.
      The result was that the newly added side would use the new sampling
      rate, while the mid hadn't switched yet, causing an encoder/decoder
      mismatch. The fix is that the side rate selection gets overridden
      to use the mid rate.
      The bug would occur when compiling with fuzzing enabled and using:
      ./test_opus 0 48000 2 24000 input.sw output.sw
      3120e225
  23. Jul 31, 2011
  24. Jul 29, 2011
  25. Jun 11, 2011
    • Jean-Marc Valin's avatar
      Addressing multiple LSF-related issues · f6e781ab
      Jean-Marc Valin authored
      - Merged the LPC stabilization from NLSF2A_stable.c into NLSF2A.c
      - The bandwidth expansion in NLSF2A() now operates on int32 LPC coefficients in
      Q17 domain (instead of int16 Q12 coefficients)
      - The function bwexpander_32() has a more precise way of updating the chirp
      variable (round to nearest, instead of round down)
      - Changed a few variables in NLSF_stabilize() from int16 to int32 to avoid signed
      wrap-around (no difference in results as the wrap-around would always be reversed
      later)
      - The LSF codebook for WB speech has a quantization stepsize of 0.15 (was 0.16).
      This doesn't break the bitstream, although it slightly limits quality of signals
      encoded with the old version and decoded with the new one (I can't really hear it
      and PESQ gives high scores as well).  I does improve handling of tonal signals.
      - As discussed: the Q-domain of the poly function is now in Q16 (was Q20)
      - As discussed: limiting the LSFs in NLSF_decode() to 0...32767
      - The silk_NLSF_DELTA_MIN values were lowered to deal with a possible future situation with less or no input HP filtering.
      f6e781ab
  26. May 25, 2011
  27. May 20, 2011
  28. May 19, 2011
    • Jean-Marc Valin's avatar
      Squashed commit of the following: · 103302b3
      Jean-Marc Valin authored
      commit 5b64cf7c4d67af9050bc959996ef976ce6326888
      Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
      Date:   Thu May 19 16:40:35 2011 -0400
      
          Fixes a few bugs introduced in the latest update
      
      commit b91eb86025d2de3c4cf04f4fb1aa48a28ad676a3
      Author: Timothy B. Terriberry <tterribe@xiph.org>
      Date:   Thu May 19 16:12:02 2011 -0400
      
          build_draft.sh fixes
      
      commit 0b10c30db7ad60ff7d4bfc1139bdb86e0543c035
      Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
      Date:   Thu May 19 15:30:21 2011 -0400
      
          Fixes the draft build
      
      commit 164424cded5978e657105104e171ac202dde5e5b
      Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
      Date:   Thu May 19 15:00:23 2011 -0400
      
          Updated build system
      
      commit 188d9fcba8c3a1b1ad67c67c430e1b37e3658a40
      Author: Koen Vos <koen.vos@skype.net>
      Date:   Thu May 19 17:14:57 2011 -0400
      
          SILK/Opus update
      103302b3
  29. May 02, 2011
    • Jean-Marc Valin's avatar
      ecb2ff7d
    • 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
  30. Apr 30, 2011
Loading