- May 09, 2013
-
-
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
-
- May 08, 2013
-
-
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).
-
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.
-
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.
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
You can't use /* within a comment.
-
- Feb 19, 2013
-
-
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.
-
- Feb 07, 2013
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
By not reinitializing the stereo state during a switch, the old stereo memory would create a false impulse (i.e. single sample) in the decoded audio. This change affects the normative part of the decoder. Fortunately, the modified decoder is still compliant with the specification because it still easily passes the testvectors. For example, for the float decoder at 48 kHz, the opus_compare (arbitrary) "quality score" changes from from 99.9333% to 99.925%.
-
- Oct 23, 2012
-
-
Emily Bowman authored
Specify the correct debug runtime libraries for the test and demo executables to prevent mismatch warnings with the default runtime. Signed-off-by:
Ralph Giles <giles@mozilla.com>
-
- Oct 11, 2012
-
-
- Oct 10, 2012
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Normalizes the cost function by (x+y) instead of sqrt(x*y)
-
- Sep 27, 2012
-
-
-
I stumbled upon the typo in README.draft, so took the opportunity to grep for common misspellings using List_of_common_misspellings.txt for hunspell.
-
- Sep 21, 2012
-
-
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.
-
- Sep 12, 2012
-
-
These are only being used outside if the translation unit and only in a few codepaths; by making them static in the header, the compiler can optimize them quickly. This avoids GOT-based access to the external symbol on Unix, and can allow for constant propagation to optimize the code. Signed-off-by:
Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
Signed-off-by:
Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
This is similar to the change for functions, but is only used to perform DCE. Signed-off-by:
Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
This allows the compiler to perform more optimization on them as it knows how the functions are being called. Signed-off-by:
Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
- Sep 08, 2012
-
-
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.
-
- Aug 29, 2012
-
-
Jean-Marc Valin authored
-
- Aug 27, 2012
-
-
Jean-Marc Valin authored
-
- Aug 06, 2012
-
-
Gregory Maxwell authored
-
Signed-off-by:
Gregory Maxwell <greg@xiph.org> silk_get_TOC is unused, unreachable, and not useful without some packet pre-processing, but until we remove it it should be correct. This was also reported by Mozilla.
-
- Jul 20, 2012
-
-
Add more MSVC files to .gitignore. Make all configurations use default floating point model.
-
-
- Jul 16, 2012
-
-
Also make the 64-bit builds use the default output directories. Fix the type of the default Opus output to be a library.
-
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.
-
- Jul 12, 2012
-
-
- Jun 01, 2012
-
-
modified the Visual Studio 2010 projects and solution file to include a x64 configuration. modified the output folders such that the architecture is included in the path (so you get Release64, Debug32, etc.) so you can have all build types in one tree.
-
- May 23, 2012
-
-
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.
-
- May 15, 2012
-
-
- May 10, 2012
-
-
Jean-Marc Valin authored
One in SILK, one in CELT, none of them causing real harm in practice it seems
-
- Apr 25, 2012
-
-
Jean-Marc Valin authored
Actual behaviour was correct on most architectures and breaking that code would have required a particularly smart compiler.
-
- Apr 24, 2012
-
-
Jean-Marc Valin authored
-
-