Age | Commit message (Collapse) | Author |
|
|
|
Unlike OPUS_SET_INBAND_FEC(1), the encoder does not necessarily
switch to SILK if we have music.
|
|
Even if the redundancy is ignored, the final range from the decoder is
needed for testing.
Reviewed by Timothy B. Terriberry.
|
|
In https://github.com/xiph/opus/issues/253, the encoder generates a
Hybrid frame with redundancy, to switch to CELT-only mode, and then
activates DTX immediately afterwards. The decoder ran Hybrid PLC,
which isn't right. Use CELT PLC instead if there was already a
transition to CELT via redundancy at the end of the previous frame.
Also do not use a stale CELT decoder to decode a second redundancy
frame when the first redundancy frame for a transition from SILK-only
mode was lost. Instead of mixing in old audio from the last time
that CELT was used, ignore the second redundancy frame in this case.
Alternatively the CELT decoder could be reset before decoding, but
it would not be ready until after the 2.5 ms of audio that is needed.
Reviewed by Jean-Marc Valin.
|
|
encoder
|
|
This was introduced in February, and fails the corresponding
check in gitlab ci runs.
Also indent the subsequent lines to match and correct typos.
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
|
|
size.
Signed-off-by: Felicia Lim <flim@google.com>
|
|
Tested on:
- Linux/x86* with gcc
- Android armv7 arm64 x86 x86_64 with clang
- Windows x86 x86_64 with Visual Studio 2017
- Windows x86 x86_64 with MinGW
- macOS x86_64 with clang
- iOS arm64 x86_64 with clang
Co-authored by: Nirbheek Chauhan <nirbheek@centricular.com>
https://gitlab.xiph.org/xiph/opus/-/merge_requests/13
|
|
Actually check for read errors instead of just storing the
return value in a variable that then never gets checked.
Also fixes "conversion from 'size_t' to 'int', possible loss
of data" compiler warnings on Windows with MSVC caused by
storing the size_t returned by fread() into an int variable.
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
|
|
|
|
remove usage of stdio.h in production code
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
Signed-off-by: Felicia Lim <flim@google.com>
|
|
represents the final activity flag used in the DTX decision"
This flag was modified after calling the Silk encoder function. This commit corrects that behavior by introducing those modifications before calling the Silk encoder.
Slightly modified comments by Felicia Lim
Signed-off-by: Felicia Lim <flim@google.com>
|
|
represents the final activity flag used in the DTX decision"
This reverts commit ea3b30f946d0e3a8d5b88d1b71cac56fb87955fd.
|
|
final activity flag used in the DTX decision
This flag was modified after calling the Silk encoder function. This commit corrects that behavior by introducing those modifications before calling the Silk encoder.
Slightly modified comments by Felicia Lim
Signed-off-by: Felicia Lim <flim@google.com>
|
|
Signed-off-by: Felicia Lim <flim@google.com>
|
|
The data pointer could be null in the case of DTX or packet loss.
|
|
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
|
|
Copy the previous analysis data instead of flagging as invalid
|
|
|
|
The previous code would go out of sync in those cases.
|
|
logE[b] can end up slightly larger than tonal->highE[b] due to rounding
|
|
Thanks to Dmitriy for reporting this.
|
|
|
|
frame diration is only handled at the Opus layer. There's no change
in behaviour, just less puzzling code.
Thanks to Dmitriy <dmilvdv@gmail.com> for reporting this.
|
|
|
|
Without that change, a very long (> 682 ms) illegal packet could trigger
a wrap-around in the test and be accepted as valid.
Only 16-bit architectures (e.g. TI C5x) were affected.
|
|
|
|
|
|
Fixes issue #95 on GitHub.
Signed-off-by: Felicia Lim <flim@google.com>
|
|
|
|
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
|
|
|
|
clang -Wcast-align warnings with ambisonics enabled
clang -Wnull-pointer-arithmetic warnings in test_opus_api.c
gcc -Wimplicit-fallthrough warnings on arm
msvc warning C4244 in celt_encoder.c with fixed point
|
|
|
|
Causes a warning with -Wnull-pointer-arithmetic and the code wasn't doing
anything anyway (the ctl call ignores NULLs)
|
|
This gets rid of false positives in static analysis
(see https://trac.webkit.org/changeset/232236/webkit)
|
|
Fixes test_opus_projection failure under ubsan, due to clz(0).
|
|
|
|
Don't assume that frames larger than 20 ms save any overhead compared to 20 ms.
|
|
The bug was triggered because f982b84d started using prefill for
SILK bandwidth changes, which reinitialized the encoder state and
prevented the variable lowpass from working properly. To fix the problem,
we preserve the sampling rate and variable low-pass when prefilling.
|
|
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|