- Apr 12, 2012
-
-
Jean-Marc Valin authored
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).
-
Jean-Marc Valin authored
These were all mostly benign and would at worst result in (rare) suboptimal encoder decisions rather than signal corruption.
-
- Apr 08, 2012
-
-
Jean-Marc Valin authored
celt_ilog2() could be called with 0 which is undefined.
-
- Apr 07, 2012
-
-
Jean-Marc Valin authored
The overflows reported were: - Syy in find_best_pitch() in pitch.c - xy, xx and yy in remove_doubling() in pitch.c The fixes are: - Adaptive scaling in pitch_downsample() which also improves quality - Adding a missing downshift in find_best_pitch() - More conservative yshift when calling find_best_pitch()
-
- Apr 05, 2012
-
-
Ralph Giles authored
The opus_headers.txt, etc. files are makefile fragments defining variables with a list of required header files for the build. As such they should use the .mk filename extension, just like opus_sources.mk, etc.
-
Ralph Giles authored
This file is included unconditionally by celt.h. As such it's a required part of the build and should be in the header index files.
-
- Apr 02, 2012
-
-
The multiply would overflow with 16 bit ints. Thanks to Riccardo Micci for pointing out the issue. Thanks to Tim Terriberry for the valid range of the decay argument. Note that ft is unsigned, but always less than 32736, so we could use a 16 bit signed type here if it allows the compiler to produce faster code (with signed 16*16 and 16*32 multiplies). In the absense of actual cycle counts from a real platform, I've left it as an unsigned for the sake of readability. For similar reasons we cast (16384-decay) to a signed integer even though it is also always positive.
-
The parameter descriptions look like they were copied from encoder_create. Update them for the decode side and repeat the clarifications about what sample rates are allowed and what they mean.
-
Also fixes a minor typo.
-
- Mar 08, 2012
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Mar 06, 2012
-
-
Gregory Maxwell authored
CLANG IOC no longer likes the 'deterministic random' bitstreams, so move the test_opus_decode bailout up.
-
Ralph Giles authored
Doxygen is smart enough to insert a period if the paragraph before the @see directive, which starts a new section, doesn't have one. Unfortunately it's not smart enough to convert a comma to a period. So while the "description, @see foo" idiom used for the CTL documentation scans well in the header file, the Doxygen output end up with "description,.\n". Minimal change to remove the offending commas.
-
Ralph Giles authored
opus_decode() takes a sixth 'enable_fec' option. Naive invocations shoudl set this to zero.
-
Ralph Giles authored
We still override the '#if 0' with FIXED_DEBUG, but this leaves whatever Koen intended here more intact. Suggestion from Greg Maxwell.
-
Ralph Giles authored
-
Ralph Giles authored
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.
-
Ralph Giles authored
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.
-
Ralph Giles authored
The versions of UADD32 and USUB32 in fixed_debug.h take unsigned long long (ideally 64 bit) inputs, and range check the arguments. However, the printed warnings cast them to (unsigned), which is confusing. Instead, print the full value passed in. NB this will make negative values print has huge, rather than negative, values.
-
Ralph Giles authored
-
Ralph Giles authored
Corrects a signed-compare warning.
-
Ralph Giles authored
On my system this speeds up 'make -j8 check' by about 50%. The drawback is that we don't get to see Greg's nice output from the test programmes. It's hidden in a log file, even on failure or 'make V=1'. Probably this is better for most people; developers can run the tests manually.
-
Ralph Giles authored
Use the celt_mips defined in fixed_debug.h from the unit tests by defining CELT_C earlier. We must export celt_mips so it can be used by clients calling the library, like opus_custom_demo.
-
-
-
Jean-Marc Valin authored
Thanks to Vincent Penquerc'h
-
Jean-Marc Valin authored
-
- Mar 05, 2012
-
-
-
Fixes the encoder bitrate CTLs to correctly apply to all streams, prevents the MS encoder from starving the latter streams by not reserving a reasonable minimum amount of space for them.
-
Also change the packet length in the API from int to opus_int32 because repacketized frames are able to go beyond 32767 bytes in size.
-
This fixes some problems with cross-compiles.
-
Jean-Marc Valin authored
-
- Feb 17, 2012
-
-
Jean-Marc Valin authored
- 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
-
- Feb 09, 2012
-
-
Jean-Marc Valin authored
-
- Jan 31, 2012
-
-
-
Jean-Marc Valin authored
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 ee8adbe7 as well as a few minor cleanups.
-
- Jan 24, 2012
-
-
No changes to the codec itself.
-
Jean-Marc Valin authored
This is not strictly necessary because the only streams that cause these already sound horrible, but it helps the testing process.
-
Jean-Marc Valin authored
-