Skip to content
Snippets Groups Projects
  1. May 09, 2013
    • Jean-Marc Valin's avatar
      Bump version to match 1.0.x branch · 80c4834c
      Jean-Marc Valin authored
      80c4834c
    • 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. May 06, 2013
  4. May 05, 2013
  5. Apr 23, 2013
  6. Apr 20, 2013
  7. Apr 19, 2013
    • Jean-Marc Valin's avatar
      Variable framesize improvements · 3252bf2a
      Jean-Marc Valin authored
      - Properly apply the transient boost by counting all the bits in the cost
      - Disable the post-filter for non-20-ms frames that follow a transient (applies
        only to variable framesize)
      3252bf2a
  8. Apr 15, 2013
  9. Apr 06, 2013
  10. Mar 18, 2013
  11. Mar 13, 2013
  12. Mar 12, 2013
    • Jean-Marc Valin's avatar
      Makes bandwidth detection less aggressive. · c5e04e4a
      Jean-Marc Valin authored
      The original code was causing parts of a sine sweep to be completely dropped
      due to the 300 Hz margin and the hysteresis. Also, fixes scaling for the
      analysis downmix when the input is 16-bit PCM.
      c5e04e4a
  13. Mar 11, 2013
  14. Mar 08, 2013
  15. Mar 07, 2013
  16. Mar 05, 2013
  17. Mar 01, 2013
  18. Feb 28, 2013
  19. Feb 22, 2013
  20. Feb 21, 2013
  21. 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
  22. Feb 19, 2013
  23. Feb 18, 2013
Loading