Age | Commit message (Collapse) | Author |
|
|
|
This implements an API used in future encoders to avoid dynalloc doing silly things
on periodic LSB patterns and to reduce the bitrate on near-silence.
|
|
|
|
Add more MSVC files to .gitignore.
Make all configurations use default floating point model.
|
|
|
|
When libopus is forced to sufficiently low rates it will start
outputting 'PLC' (one byte) frames. The code that did this
did not sanitize the mode well enough and would create corrupted
TOC values in some cases.
|
|
|
|
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.
|
|
|
|
|
|
This is the less-surprising behavior and will hopefully
result in fewer corner case bugs (e.g. losing gain
after seeking). This commit also updates the documentation.
|
|
This CTL was requested by Nicolas George for FFmpeg.
|
|
|
|
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.
|
|
|
|
|
|
!(VAR_ARRAYS||USE_ALLOCA||NONTHREADSAFE_PSEUDOSTACK).
This will help prevent people using non-standard build environments from
footgunning themselves and becoming a support burden.
|
|
bytes.
OpusCustomMode begins with a pointer and was getting misaligned on 64 bit arches.
|
|
|
|
|
|
|
|
|
|
Also added 3rd clause to "master" COPYING file
|
|
See http://www.ietf.org/mail-archive/web/codec/current/msg02833.html
Still more changes to come
|
|
|
|
|
|
|
|
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.
|
|
- Safer gain clamping for PLC
- Makes opus_decoder_get_nb_samples() report an error on invalid ToC
- Giving a free license to the text ofthe draft (not just the code)
|
|
- When it cannot produce the rate it's being asked, the encoder now
returns a "PLC packet"
- Makes it possible to use the CELT PLC for more than 20 ms
|
|
decoder:
- fixed incorrect scaling of filter states for the smallest quantization
step sizes
- NLSF2A now limits the prediction gain of LPC filters
encoder:
- increased damping of LTP coefficients in LTP analysis
- increased white noise fraction in noise shaping LPC analysis
- introduced maximum total prediction gain. Used by Burg's method to
exit early if prediction gain is exceeded. This improves packet
loss robustness and numerical robustness in Burg's method
- Prefiltered signal is now in int32 Q10 domain, from int16 Q0
- Increased max number of iterations in CBR gain control loop from 5 to 6
- Removed useless code from LTP scaling control
- Optimization: smarter LPC loop unrolling
- Switched default win32 compile mode to be floating-point
resampler:
- made resampler have constant delay of 0.75 ms; removed delay
compensation from silk code.
- removed obsolete table entries (~850 Bytes)
- increased downsampling filter order from 16 to 18/24/36 (depending on
frequency ratio)
- reoptimized filter coefficients
|
|
This has no impact on opus_demo, test vectors, or "normal" codec operation
|
|
C reserves identifiers of the from _[A-Z]+ and we have a number of
those in the code. This patch renames the various function arguments,
MACROS and preprocessor symbols to avoid the reserved form.
It also removes the CHANNELS() macro altogether. This was a
minor optimization for TI DSP to force a mono-only build,
as were the associated local 'const' versions. Since stereo
support is manditory, it wasn't worth keeping.
Thanks to John Ridges for raising the issue, and Jean-Marc Valin
and Greg Maxwell for reviewing the changes.
|
|
These fix corner cases discovered during the latest fuzzing tests.
|
|
|
|
Undocumented for now
|
|
|
|
Undocumented for now.
|