Skip to content
Snippets Groups Projects
  1. May 09, 2013
    • Jean-Marc Valin's avatar
      Fixes an assertion failure in SILK · ac76b150
      Jean-Marc Valin authored
      We stop the schur recursion before any reflection coefficient
      goes outside of ]-1,1[ and we force reporting a residual energy
      of at least 1.
      Assertion was:
      Fatal (internal) error in ../silk/fixed/noise_shape_analysis_FIX.c, line 290: assertion failed: nrg >= 0
      triggered by:
      opus_demo voip 16000 1 12500 -bandwidth WB -complexity 10 pl04f087.stp-crash out.pcm
      ac76b150
  2. 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
    • Timothy B. Terriberry's avatar
      Fix several memory errors in the SILK resampler. · dc58579c
      Timothy B. Terriberry authored
      1) The memcpy's were using sizeof(opus_int32), but the type of the
          local buffer was opus_int16.
      2) Because the size was wrong, this potentially allowed the source
          and destination regions of the memcpy overlap.
         I _believe_ that nSamplesIn is at least fs_in_khZ, which is at
          least 8.
         Since RESAMPLER_ORDER_FIR_12 is only 8, I don't think that's a
          problem once you fix the type size.
      3) The size of the buffer used RESAMPLER_MAX_BATCH_SIZE_IN, but the
          data stored in it was actually _twice_ the input batch size
          (nSamplesIn<<1).
      
      Because this never blew up in testing, I suspect that in practice
       the batch sizes are reasonable enough that none of these things
       was ever a problem, but proving that seems non-obvious.
      
      This patch just converts the whole thing to use CELT's vararrays.
      This fixes the buffer size problems (since we allocate a buffer
       with the actual size we use) and gets these large buffers off the
       stack on devices using the pseudo-stack.
      It also fixes the memcpy problems by changing the sizeof to
       opus_int16.
      It turns out sFIR, which saved state between calls, was being used
       elsewhere as opus_int32, so this converts it to a union to make
       this sharing explicit.
      dc58579c
    • Timothy B. Terriberry's avatar
      Remove trailing whitespace. · c41a8168
      Timothy B. Terriberry authored
      c41a8168
    • Timothy B. Terriberry's avatar
      Fix some warnings. · bfe52ceb
      Timothy B. Terriberry authored
      You can't use /* within a comment.
      bfe52ceb
  3. Feb 19, 2013
    • Jean-Marc Valin's avatar
      Fixes two bandwidth decision issues · 3ecd9c20
      Jean-Marc Valin authored
      1) In cases where the SILK desired bandwidth went down, then quickly up, we
      count get stuck in a mode with the LP variation going the wrong way.
      2) Bandwidth detection can no longer force SILK to go below wideband to
      avoid switches that require redundancy.
      3ecd9c20
  4. Feb 07, 2013
  5. Oct 23, 2012
  6. Oct 11, 2012
  7. Oct 10, 2012
  8. Sep 27, 2012
  9. Sep 21, 2012
    • Jean-Marc Valin's avatar
      Reduces rate/max rate to make room for redundancy · 6b45974f
      Jean-Marc Valin authored
      This fixes a problem where we could end up starving the redundancy
      frame, especially for CBR. The solution is to make sure that some
      bits are left available -- assuming we use the same rate for redundancy
      as for the rest of the frame.
      6b45974f
  10. Sep 12, 2012
  11. Sep 08, 2012
    • Timothy B. Terriberry's avatar
      Use dynamic stack allocations in SILK decoder. · 6f2d9f50
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This allows the decoder to be compiled with
       NONTHREADSAFE_PSEUDOSTACK to move the memory for large buffers off
       the stack for devices where it is very limited.
      This patch only attempts to do this for the decoder.
      The encoder still requires more than 10 kB of stack.
      6f2d9f50
  12. Aug 29, 2012
  13. Aug 27, 2012
  14. Aug 06, 2012
  15. Jul 20, 2012
  16. Jul 16, 2012
    • gcp's avatar
      Output/intermediate dir cleanup and fixes in 64-bit mode. · 642084c4
      gcp authored and Gregory Maxwell's avatar Gregory Maxwell committed
      Also make the 64-bit builds use the default output directories.
      Fix the type of the default Opus output to be a library.
      642084c4
    • gcp's avatar
      Make MSVC build work in parallel. · eeb7bd3d
      gcp authored and Gregory Maxwell's avatar Gregory Maxwell committed
      The (non-default) temporary & output dirs configured in the projects could
      cause issues when doing compilation on a multiprocessor machine. Cleaned
      this up a little to use the defaults, which makes that work again and
      doesn't make the output structure any worse. Also removed debug output for
      release binaries & a tiny whitespace fix.
      eeb7bd3d
  17. Jul 12, 2012
  18. Jun 01, 2012
  19. May 23, 2012
    • Gregory Maxwell's avatar
      Use 'frame' instead of 'signal', take out stdlib.h in silk/. · e052947f
      Gregory Maxwell authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      On MacOS, stdlib.h ends up including sys/signal.h, generating
      warnings about the local variables called 'signal' shadowing
      the global symbol signal(3).
      
      This was originally done in 86476906 but it missed some use
      of 'signal' in prototypes in headers where it didn't cause
      warnings. Later the prototypes were moved around and the
      warnings came back.
      
      This also cleans up some cases in where stdlib.h was used
      but shouldn't be required.
      e052947f
  20. May 15, 2012
  21. May 10, 2012
  22. Apr 25, 2012
  23. Apr 24, 2012
Loading