Age | Commit message (Collapse) | Author |
|
<cliff@espico.com>
|
|
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%.
|
|
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>
|
|
|
|
|
|
|
|
Normalizes the cost function by (x+y) instead of sqrt(x*y)
|
|
|
|
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.
|
|
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.
|
|
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>
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
Add more MSVC files to .gitignore.
Make all configurations use default floating point model.
|
|
|
|
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.
|
|
|
|
opus_demo for now.
|
|
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.
|
|
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.
|
|
AMIX4.0/GCC1.4.
|
|
|
|
One in SILK, one in CELT, none of them causing real harm in practice it seems
|
|
Actual behaviour was correct on most architectures and breaking that
code would have required a particularly smart compiler.
|
|
|
|
|
|
|
|
|
|
|
|
This changes the saturation test to ensure that it relies on the
unsigned overflow behaviour (which is allowed) rather than the signed
overflow behaviour (which is undefined).
|
|
Also fixes a minor typo.
|
|
|
|
|
|
We still override the '#if 0' with FIXED_DEBUG, but this
leaves whatever Koen intended here more intact. Suggestion
from Greg Maxwell.
|
|
This isn't entirely accurate, since it's also used on integer
math. However, the idea is similar: to add bounds checking.
This code asserts rather than warning, so one must pass
--enable-assertions to configure as well to get any output,
and in that case the first instance is fatal.
Quick testing shows both test_opus_decode and test_opus_encode
trigger the assertions, but running the draft-10 test vectors
does not.
|
|
The silk math debug macros include a bounds check on silk_abs.
Because INT_MIN = (-INT_MAX - 1), abs(INT_MIN) can't be
represented as an int. The macro was checking for this value
as 0x8000... without a cast to signed, warning on gcc.
silk/typedef.h already defines minimum values for the int
types, so we correct the warning by using those.
|
|
|
|
- Draft updates
- Updated code to produce and check test vectors
- Making sure that the test vectors pass at all rates as well as for mono and stereo
|
|
|
|
Also using the same int->float conversion functions for SILK as for CELT
and changed encoder implementation default to constrained VBR just to
be safe when VBR gets more aggressive.
|
|
Also adds the encoder part of commit ee8adbe701 as well as a few
minor cleanups.
|
|
This is not strictly necessary because the only streams that cause these
already sound horrible, but it helps the testing process.
|
|
|