- Jun 29, 2022
-
-
Timothy B. Terriberry authored
Valgrind versions prior to 3.17.0 assume that an uninitialized value in ECX causes the whole output of CPUID to be uninitialized, even though ECX is only "read" by CPUID for certain values of EAX. Work around that by guaranteeing that ECX is initialized.
-
Timothy B. Terriberry authored
This function can fail if CPUID is not supported or the maximum supported value of EAX is less than the requested one. Check the return value and explicitly disable all SIMD if it does fail. This was happening before implicitly because of the initialization of info[] to zero, but being explicit about it makes it less likely someone will break this behavior because they did not realize what was going on.
-
- Jun 28, 2022
-
-
Jean-Marc Valin authored
The function copies NLSFs from the stack to the state which for order 10 means we were copying uninitialized values. That in turn breaks check-asm when comparing the state under valgrind. Reviewed by Timothy B. Terriberry.
-
Jean-Marc Valin authored
Make sure we don't try to use the rtcd table when rtcd is disabled. That code still needs a lot more cleaning up.
-
Jean-Marc Valin authored
Reviewed by Timothy B. Terriberry.
-
Jean-Marc Valin authored
Thanks Tim
-
- Jun 26, 2022
-
-
Mark Harris authored
Even if the redundancy is ignored, the final range from the decoder is needed for testing. Reviewed by Timothy B. Terriberry.
-
Jean-Marc Valin authored
We now update the background noise estimate even in frames classified as transient. It shouldn't be a problem because we're using min statistics. Also, it avoids problems when update frames get missclassified as transient. In addition, we now use the duration of losses rather than the number of lost packets to make decisions. That should make PLC/DTX behaviour more consistent across frame sizes.
-
- Jun 25, 2022
-
-
Mark Harris authored
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.
-
- Apr 02, 2022
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Prevents using lrint/lrintf when compiling with -std=c90 even though the functions are in libm. This was causing tests to fail, likely due to incorrect prototypes.
-
- Apr 01, 2022
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Mar 08, 2022
-
-
Francis Quiers authored
-
- Feb 24, 2022
-
-
Prevent int32 overflow when applying HARM FIR filter in NSQ.c by using a saturating sum. This matches behavior in NSQ_del_dec.c. Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Jan 14, 2022
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Dec 18, 2021
-
-
Jean-Marc Valin authored
These could result in 16-byte-aligned loads on unaligned data, causing a segfault.
-
- Dec 15, 2021
-
-
Felicia Lim authored
Before, an overflow can occur in the last loop if `len` is not a multiple of 4 as OP_CVTEPI16_EPI32_M64 tries to load 64 bits, but there are insufficient bits allocated in `x`.
-
- Sep 28, 2021
-
-
Felicia Lim authored
encoder
-
- Jul 08, 2021
-
-
Felicia Lim authored
-
- Jun 15, 2021
-
-
For git worktree directories .git is not a directory but a file that points to the real .git dir. The `update_version` script used by other builds works correctly with git worktrees. Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
- Jun 10, 2021
-
-
Felicia Lim authored
-
- Jun 07, 2021
-
-
Felicia Lim authored
-
- May 12, 2021
-
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Ralph Giles authored
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>
-
- Mar 03, 2021
-
-
Felicia Lim authored
The LPCs are computed in 32-bit, so increase the allowed range from +/-8 to +/-64 to avoid overflows caught during fuzzing. Before downshifting back down to the +/-8 range in the final 16-bit output, perform bandwidth extension to avoid any additional overflow issues.
-
- Feb 19, 2021
-
-
Signed-off-by:
Felicia Lim <flim@google.com>
-
- Jan 23, 2021
-
-
Mark Harris authored
Reported by toto.
-
- Dec 23, 2020
-
-
Tim-Philipp Müller authored
This way CI pipeline runs for branches and tags and makes it show up in merge requests where a branch is used as source branch. Makes all jobs show up in merge request CI indicator (not just the whitespace job) and only runs a single CI pipeline, without the additional detached pipeline. https://docs.gitlab.com/ce/ci/yaml/#workflowrules-templates Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
- Dec 08, 2020
-
-
There is a small typo in celt/fixed_generic.h. Should read `nearest` rather than `neareast`. Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
- Nov 26, 2020
-
-
meson.source_root() and meson.build_root() have been deprecated in latest Meson release because they are a trap. They point to the root of parent project instead of root of current subproject. Meson 0.56.0 added meson.project_source/build_root() but it is just as easy to use meson.current_source/build_dir() in the root meson.build file and avoids bumping required meson version. Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
- Nov 21, 2020
-
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
This is required for Windows because it doesn't have RPATH, thus it fails to find Opus if it's not in the same directory as the executables or in PATH. Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
This is required in case the output path for tests is changed by a project adding Opus as submodule. Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
Signed-off-by:
Ralph Giles <giles@thaumas.net>
-
- Oct 28, 2020
-
-
Tim-Philipp Müller authored
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
-