summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix warnings when compiling with FUZZING enabledJean-Marc Valin2022-07-061-0/+4
|
* Adds OPUS_SET_INBAND_FEC(2) optionJean-Marc Valin2022-06-301-5/+8
| | | | | Unlike OPUS_SET_INBAND_FEC(1), the encoder does not necessarily switch to SILK if we have music.
* Fix 8101b33 to decode ignored redundancyMark Harris2022-06-261-5/+9
| | | | | | | Even if the redundancy is ignored, the final range from the decoder is needed for testing. Reviewed by Timothy B. Terriberry.
* Correct redundancy handling with lost/DTX framesMark Harris2022-06-251-2/+7
| | | | | | | | | | | | | | | | | 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.
* Check channels/stream counts and mapping when creating the multistreamFelicia Lim2021-09-271-4/+5
| | | | encoder
* Fix trailing whitespace.Ralph Giles2021-05-121-4/+4
| | | | | | | | | 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>
* Sending refresh DTX packets every 400 ms independently of the encoded frame ↵Jesús de Vicente Peña2021-02-191-11/+15
| | | | | | size. Signed-off-by: Felicia Lim <flim@google.com>
* Add support for Meson build systemTim-Philipp Müller2020-10-281-0/+45
| | | | | | | | | | | | | | 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
* repacketizer_demo: check for read errors to fix compiler warningsNirbheek Chauhan2020-08-211-7/+37
| | | | | | | | | | | 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>
* Silence clang silk_encoder alignment warningMark Harris2020-06-131-1/+1
|
* Build time improvement, for MSVC use intrin0.h instead of intrin.h and ↵Marcus Asteborg2020-06-111-0/+2
| | | | | | remove usage of stdio.h in production code Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix for an assertion when running the fixed point testsJesús de Vicente Peña2020-02-141-9/+11
| | | | Signed-off-by: Felicia Lim <flim@google.com>
* Reland "Fixes to the the activity flag that is passed to Silk so it ↵Jesús de Vicente Peña2020-02-141-35/+20
| | | | | | | | | | 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>
* Revert "Fixes to the the activity flag that is passed to Silk so it ↵Felicia Lim2020-02-101-19/+35
| | | | | | represents the final activity flag used in the DTX decision" This reverts commit ea3b30f946d0e3a8d5b88d1b71cac56fb87955fd.
* Fixes to the the activity flag that is passed to Silk so it represents the ↵Jesús de Vicente Peña2020-02-101-35/+19
| | | | | | | | | | 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>
* OPUS_GET_IN_DTX handles Silk middle channel onlyGustaf Ullberg2019-12-041-6/+5
| | | | Signed-off-by: Felicia Lim <flim@google.com>
* Don't update null data pointer after each multistream decoderFelicia Lim2019-12-031-2/+5
| | | | The data pointer could be null in the case of DTX or packet loss.
* API for checking whether the encoder is in DTXGustaf Ullberg2019-04-101-0/+27
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Correctly enable/disable SILK DTX with forced modeMark Harris2019-04-081-7/+9
|
* Fix mismatching arg names in function declaration and definitionFelicia Lim2019-03-011-1/+1
|
* Reset nb_no_activity_frames when analysis DTX isn't usedanalysis_fix2Jean-Marc Valin2019-02-131-0/+2
|
* Improve silence handlingJean-Marc Valin2019-02-131-1/+5
| | | | Copy the previous analysis data instead of flagging as invalid
* Fixing initialization issues on small frame sizesJean-Marc Valin2019-02-131-3/+5
|
* Fixes analysis buffering for silence and complexity changesJean-Marc Valin2019-02-134-20/+50
| | | | The previous code would go out of sync in those cases.
* Avoiding problems with x87Jean-Marc Valin2019-02-121-1/+1
| | | | logE[b] can end up slightly larger than tonal->highE[b] due to rounding
* Properly handle a bad stream_id in OPUS_MULTISTREAM_GET_*_STATE_REQUESTJean-Marc Valin2019-01-232-2/+2
| | | | Thanks to Dmitriy for reporting this.
* Refactoring: Isolating the matrix-vector product in gemm_accum()Jean-Marc Valin2018-11-221-36/+39
|
* Remove useless OPUS_SET_EXPERT_FRAME_DURATION() on CELTJean-Marc Valin2018-10-301-1/+0
| | | | | | | 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.
* Retrain RNN classifier weights to include reverberated speechJean-Marc Valin2018-09-252-627/+625
|
* Fixes packet parsing for 16-bit CPUsv1.3-rc2Jean-Marc Valin2018-09-141-1/+1
| | | | | | | 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.
* Avoiding get_demixing_matrix() symbol clash on unified buildJean-Marc Valin2018-09-102-8/+8
|
* OpusMSDecoder does not have an arch fieldJean-Marc Valin2018-09-101-4/+0
|
* Apply equal bit allocation to ambisonic channelsMarcin Gorzel2018-08-311-51/+6
| | | | | | Fixes issue #95 on GitHub. Signed-off-by: Felicia Lim <flim@google.com>
* Fixing arithmetic problems for 16-bit CPUs in ambisonics_rate_allocation()Jean-Marc Valin2018-07-281-5/+5
|
* Fix bitrate allocation for channel mapping 2Felicia Lim2018-07-281-1/+3
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fixes C90 "mixed declarations and code" errorJean-Marc Valin2018-07-261-1/+1
|
* Remove ambisonics experimental flagJean-Marc Valin2018-07-266-223/+1
|
* Use ambisonics families 2 and 3 instead of 254 and 253Jean-Marc Valin2018-07-252-5/+5
|
* Validate multistream/projection decoder frame_sizeMark Harris2018-07-211-0/+5
|
* Silence compiler warningsMark Harris2018-07-213-7/+19
| | | | | | | 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
* Make bandwidth detection more conservative to avoid low-passing framesJean-Marc Valin2018-06-141-0/+16
|
* Avoiding arithmetic on NULL pointerv1.3-rcJean-Marc Valin2018-05-291-2/+0
| | | | | Causes a warning with -Wnull-pointer-arithmetic and the code wasn't doing anything anyway (the ctl call ignores NULLs)
* Avoiding leaks when opus_demo exits with an errorJean-Marc Valin2018-05-291-46/+36
| | | | | This gets rid of false positives in static analysis (see https://trac.webkit.org/changeset/232236/webkit)
* Only call isqrt32() with a positive argumentMark Harris2018-05-282-6/+10
| | | | Fixes test_opus_projection failure under ubsan, due to clz(0).
* Switch from narrowband to wideband at 9 kb/s, don't use mediumbandexp_bandwidth_fix4Jean-Marc Valin2018-05-241-8/+12
|
* Fix decision thresholds for larger frame sizesexp_bandwidth_fix3Jean-Marc Valin2018-05-241-1/+2
| | | | Don't assume that frames larger than 20 ms save any overhead compared to 20 ms.
* Fixes a SILK bandwidth switching regressionJean-Marc Valin2018-05-241-2/+5
| | | | | | | 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.
* Silk makes use of Opus VADGustaf Ullberg2018-05-141-2/+11
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Misc assertion cleanupJean-Marc Valin2018-03-272-3/+4
|
* Some missing checksJean-Marc Valin2018-03-272-1/+3
|