Opus merge requestshttps://gitlab.xiph.org/xiph/opus/-/merge_requests2020-06-01T19:22:00Zhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/5Bug 2324 silk complexity levels 1 and 2 are inconsistent2020-06-01T19:22:00ZFrancis QuiersBug 2324 silk complexity levels 1 and 2 are inconsistentProposed fix for: https://gitlab.xiph.org/xiph/opus/-/issues/2324Proposed fix for: https://gitlab.xiph.org/xiph/opus/-/issues/2324https://gitlab.xiph.org/xiph/opus/-/merge_requests/7gitlab-ci: Build and run tests for the cmake build.2020-06-11T18:31:52ZRalph Gilesgitlab-ci: Build and run tests for the cmake build.Improve converage for the CMake build system on Gitlab.
Signed-off-by: Ralph Giles <giles@thaumas.net>Improve converage for the CMake build system on Gitlab.
Signed-off-by: Ralph Giles <giles@thaumas.net>Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opus/-/merge_requests/16CMake refactoring for upcoming CI work.2020-11-21T16:51:03ZMarcus AsteborgCMake refactoring for upcoming CI work.Fixes for #2338 (remove confusing logging)
Parts of #2337 in preparation for CI scripts add missing options
CTest fixes from Davide
Change has been tested here: https://github.com/xnorpx/opus/actions/runs/375763518
@jmvalin @markh @ril...Fixes for #2338 (remove confusing logging)
Parts of #2337 in preparation for CI scripts add missing options
CTest fixes from Davide
Change has been tested here: https://github.com/xnorpx/opus/actions/runs/375763518
@jmvalin @markh @rillian
If you want patches if it's easier for signoff comment let me know.https://gitlab.xiph.org/xiph/opus/-/merge_requests/23Draft: gitlab-ci: Re-enable builds for merge requests.2020-12-23T04:50:08ZRalph GilesDraft: gitlab-ci: Re-enable builds for merge requests.When the whitespace job was added, we marked it with
only: merge_requests
because we wanted it to only run on new merge requests.
However, adding an `only` clause like this disables all the
unmarked jobs for merge requests, which ...When the whitespace job was added, we marked it with
only: merge_requests
because we wanted it to only run on new merge requests.
However, adding an `only` clause like this disables all the
unmarked jobs for merge requests, which means we don't get
the more important feedback about build failures.
Instead, use the `rules` key, added in Gitlab 12.3. This
more flexible mechanism is currently recommended and lets
us specify what we want without having to add additional
decorations to every other job.Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opus/-/merge_requests/24cast after bitshift for gcc10 i686 builds github issue #2152021-01-08T04:31:40ZMarcus Asteborgcast after bitshift for gcc10 i686 builds github issue #215Fix segmentation fault in gcc10 i686 in test code.
Tested by me and reporter in their build system in https://github.com/xiph/opus/issues/215
It does not happen on O1 so GCC10 have some optimization on I686 that causing segmentation fa...Fix segmentation fault in gcc10 i686 in test code.
Tested by me and reporter in their build system in https://github.com/xiph/opus/issues/215
It does not happen on O1 so GCC10 have some optimization on I686 that causing segmentation fault based on the previous code.
The change do the cast on the rand and then downcast it afterwards.
I am not curious enough to start looking at assembler and track bugs in GCC if there would be one.https://gitlab.xiph.org/xiph/opus/-/merge_requests/21cmake - add support to run ctest on android #23472021-05-12T18:49:30ZMarcus Asteborgcmake - add support to run ctest on android #2347Add support to run binaries with ctest on android devices, ctest is not supported on iOS so we simply error out there.
The change is mostly for dev inner loop to quickly test android changes on device. It could be use with simulator on ...Add support to run binaries with ctest on android devices, ctest is not supported on iOS so we simply error out there.
The change is mostly for dev inner loop to quickly test android changes on device. It could be use with simulator on CI but haven't tested this.
Removed the test from shared lib build, mostly because it's not really cleanly done and that parts needs refactoring. So test on cmake will only be on static lib for now.https://gitlab.xiph.org/xiph/opus/-/merge_requests/25meson: fix get-version script for git worktrees2021-06-15T23:00:59ZTim-Philipp Müllermeson: fix get-version script for git worktreesFor git worktree directories .git is not a directory
but a file that points to the real .git dir.For git worktree directories .git is not a directory
but a file that points to the real .git dir.https://gitlab.xiph.org/xiph/opus/-/merge_requests/3Update and re-enable SILK SSE4.1 optimisations2022-03-08T08:44:41ZFrancis QuiersUpdate and re-enable SILK SSE4.1 optimisationsA number of fixed-point SIMD intrinsics optimizations for Intel processors (up to the SSE4.1 instruction set) made to the SILK code a few years ago were subsequently disabled due to changes in the corresponding C functions, for example i...A number of fixed-point SIMD intrinsics optimizations for Intel processors (up to the SSE4.1 instruction set) made to the SILK code a few years ago were subsequently disabled due to changes in the corresponding C functions, for example in the precision of input data.
This is an update of those optimizations so that they can be used again with the latest codebase.
Also included are bit-exactness checks against the C code. They can be enabled like so:
`./autogen.sh && ./configure --enable-fixed-point --enable-check-asm --enable-assertions && make check`
Note 1: I only briefly looked at the CELT optimizations, as they are still enabled on master. However the C code seems to have changed a little bit over the past few years, so it could be that updates would be required there too. I also tried adding bit-exactness checks to some of them (whose corresponding C code hadn't changed) and got failures, so that could be something to look at in the future.
Note 2: Unfortunately, in terms of performance, re-enabling the SILK SSE4.1 optimizations hardly seems to make a difference to the overall performance, as most cycles seem to be spent in other bottlenecks, particularly the noise shape feedback warping filter. However, that is inherently difficult to parallelize, as each element of the filter depends on the result of the previous one. Therefore I did not attempt to make changes in that area as part of this branch, as my primary goal was just to re-instate the existing optimizations. I may try again in a separate branch.https://gitlab.xiph.org/xiph/opus/-/merge_requests/31Fix opus.h for doxygen when referencing alternative values.2022-07-06T03:00:16ZAlexander TraudFix opus.h for doxygen when referencing alternative values.The latest Doxygen was not able to resolve the references because it looked for OPUS_APPLICATION_VOIP/@ref. Because the second reference could not be resolved either, Doxygen printed two warnings actually:
```
include/opus.h:201: warning...The latest Doxygen was not able to resolve the references because it looked for OPUS_APPLICATION_VOIP/@ref. Because the second reference could not be resolved either, Doxygen printed two warnings actually:
```
include/opus.h:201: warning: unable to resolve reference to 'OPUS_APPLICATION_VOIP/@ref' for \ref command
include/opus.h:201: warning: expected whitespace after \ref command
```https://gitlab.xiph.org/xiph/opus/-/merge_requests/34Update x86 CPU detection configure check.2022-07-06T16:59:56ZTimothy B. TerriberryUpdate x86 CPU detection configure check.Commit 6577534a80c8 switched from using __get_cpuid() to
__get_cpuid_count(), but the corresponding configure check was not
updated.
Since __get_cpuid_count() was introduced much later, make sure we
check for the function we actually ...Commit 6577534a80c8 switched from using __get_cpuid() to
__get_cpuid_count(), but the corresponding configure check was not
updated.
Since __get_cpuid_count() was introduced much later, make sure we
check for the function we actually use.
Thanks to Mark Harris for the report.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/41meson: Fix reporting of cpu family if intrinsics not supported2022-07-06T17:01:18ZTim-Philipp Müllermeson: Fix reporting of cpu family if intrinsics not supportedSigned-off-by: Doug Nazar <nazard@nazar.ca>Signed-off-by: Doug Nazar <nazard@nazar.ca>https://gitlab.xiph.org/xiph/opus/-/merge_requests/42Don't compile x86 cpu detection without RTCD.2022-07-06T23:49:49ZTimothy B. TerriberryDon't compile x86 cpu detection without RTCD.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/43Don't compile x86 cpu detection without RTCD.2022-07-07T00:15:14ZTimothy B. TerriberryDon't compile x86 cpu detection without RTCD.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/46Fix possible loss of data warnings on msvc2022-07-08T02:37:22ZMarcus AsteborgFix possible loss of data warnings on msvcThese are the only warnings on MSVC /w2 would be nice to get warning free build for msvc.
3>C:\git\gitlab\opus\src\opus_compare.c(78,46): warning C4244: '=': conversion from 'int' to 'float', possible loss of data
3>C:\git\gitlab\opus\s...These are the only warnings on MSVC /w2 would be nice to get warning free build for msvc.
3>C:\git\gitlab\opus\src\opus_compare.c(78,46): warning C4244: '=': conversion from 'int' to 'float', possible loss of data
3>C:\git\gitlab\opus\src\opus_compare.c(233,38): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
3>C:\git\gitlab\opus\src\opus_compare.c(349,24): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
3>C:\git\gitlab\opus\src\opus_compare.c(370,8): warning C4244: '=': conversion from 'double' to 'float', possible loss of datahttps://gitlab.xiph.org/xiph/opus/-/merge_requests/44Don't compile x86 cpu detection without RTCD.2022-07-09T04:37:49ZTimothy B. TerriberryDon't compile x86 cpu detection without RTCD.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/48update doc on custom mode2022-07-09T06:27:16ZMarcus Asteborgupdate doc on custom modeWhile it is stated in the header file that
The mode MUST NOT BE DESTROYED until the encoders and decoders that use it are destroyed as well.
Right below the the mode definiton.
In the generated html doc they are far apart, this makes i...While it is stated in the header file that
The mode MUST NOT BE DESTROYED until the encoders and decoders that use it are destroyed as well.
Right below the the mode definiton.
In the generated html doc they are far apart, this makes it easy to misinterpret that the mode is only
used for initialization.
The encode api returned BadArg when the mode had been destroyed.https://gitlab.xiph.org/xiph/opus/-/merge_requests/50Don't compile x86 cpu detection without RTCD.2022-07-10T04:20:55ZTimothy B. TerriberryDon't compile x86 cpu detection without RTCD.This has passed 1000 iterations of opus_build_test.sh on x86-64 and AArch64.This has passed 1000 iterations of opus_build_test.sh on x86-64 and AArch64.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/51C90 fixes2022-07-10T23:15:49ZJean-Marc ValinC90 fixesJean-Marc ValinJean-Marc Valinhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/53UBSan Fixes2022-07-22T15:48:57ZJean-Marc ValinUBSan FixesUBSan-related fixesUBSan-related fixesJean-Marc ValinJean-Marc Valinhttps://gitlab.xiph.org/xiph/opus/-/merge_requests/54UBSan fixes2022-07-25T03:26:23ZJean-Marc ValinUBSan fixesUBSan fixesUBSan fixesJean-Marc ValinJean-Marc Valin