Age | Commit message (Collapse) | Author |
|
This was found to cause a quality regression (e.g. in the velvet sample)
|
|
|
|
Tuned the tonality estimator to trigger on signals where only part of the
spectrum is tonal. Also tuned the pitch detector not to be confused
by short-term correlation.
|
|
|
|
- New DC rejection filter that avoids numerical issues
- Higher cap on HF dynalloc
- Proper filter memory for transient detector
- Prevents transient detector from detecting low-freq tones as transients
|
|
|
|
Fixes two leakage problems on the wood blocks sample
- Removes DC which causes leakage with no masking
- Detect leakage by comparing short-MDCT energy to long-MDCT energy
and boost allocation for bands with leakage
|
|
|
|
|
|
|
|
|
|
Haven't tested it much and not sure not to use it without risk
for high-quality streams that may change bandwidth
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also, reducing the VBR rate on panned mono
|
|
|
|
Should be mostly usable now.
|
|
Conflicts:
src/opus_encoder.c
|
|
|
|
|
|
|
|
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.
|
|
opus_decode() takes a sixth 'enable_fec' option. Naive invocations
shoudl set this to zero.
|
|
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.
|
|
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.
|
|
|
|
Corrects a signed-compare warning.
|
|
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.
|
|
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.
|
|
|
|
|
|
Thanks to Vincent Penquerc'h
|
|
|
|
|
|
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.
|
|
|
|
- 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.
|