Arun Raghavan
fed81a77c9
Allow disabling inline SSE
...
Should make building on i686 without SSE feasible.
Fixes: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
2024-12-26 17:35:08 -05:00
Arun Raghavan
c144c53039
Drop WAV-related files
...
These are only used when WEBRTC_APM_DEBUG_DUMP=1, which we do not set.
Hopefully this makes building on big-endian machines possible.
Fixes: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/31
2024-12-26 13:07:40 -05:00
Arun Raghavan
0d4c5f27b5
build: Bump version to 2.0
2024-12-26 12:55:16 -05:00
Arun Raghavan
9b194c2d99
ci: Switch CI over to Fedora
...
Ubuntu/Debian absl are currently lagging. We should switch back to
Debian once recent abseil lands in unstable/testing.
2024-12-26 12:55:16 -05:00
Arun Raghavan
d090f7a927
ci: Bump iOS version to 11.0
...
This is needed for std::optional to be usable (specifically for .value()
to be available).
2024-12-26 12:55:16 -05:00
Arun Raghavan
ad563b095c
Fix up XMM intrinsics usage on MSVC
...
Repplying 0a0050746bc20ef970b9f260d485e4367c7ba854 after M131 bump.
2024-12-26 12:55:16 -05:00
Arun Raghavan
b5c48b97f6
Bump to WebRTC M131 release
...
Ongoing fixes and improvements, transient suppressor is gone. Also,
dropping isac because it doesn't seem to be useful, and is just build
system deadweight now.
Upstream references:
Version: 131.0.6778.200
WebRTC: 79aff54b0fa9238ce3518dd9eaf9610cd6f22e82
Chromium: 2a19506ad24af755f2a215a4c61f775393e0db42
2024-12-26 12:55:16 -05:00
Arun Raghavan
8bdb53d91c
meson: Update abseil wrap to 20240722
...
We need something recent enough with the stringify API for the M131 bump.
2024-12-26 12:55:12 -05:00
Arun Raghavan
ced0ff6765
ci: Fix up workflow rules for MR vs. branch pipelines
2024-12-26 09:27:14 -05:00
Alper Nebi Yasak
1ff1a0b860
Decode base64-encoded third-party files
...
Some files were committed into the repository as base64 encoded files.
Presumably, this is because the "text" download links on Google's
Gitiles web interface sends them as such. These can be found by running
`git grep "^[[:alnum:]]\{128,\}=*$"`. Decode them with `base64 -d`.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2024-12-24 19:42:56 -05:00
Arun Raghavan
867e2d875b
Add a trivial example to run AEC offline
...
Just allows for some sanity testing for now, will improve for
configurability and add some sample data in the future.
2024-12-24 18:57:37 -05:00
Arun Raghavan
a729ccfe0f
ci: Bump to Ubuntu 24.04
2024-12-24 18:57:37 -05:00
Arun Raghavan
4c81b31652
ci: Bump Windows to cpp_std=c++20
...
Required for designated initializers.
2024-12-24 12:02:19 -05:00
Arun Raghavan
0a0050746b
Fix up XMM intrinsics usage on MSVC
2024-12-24 12:02:19 -05:00
Arun Raghavan
06157f1659
build: Use Visual Studio-specific flags for AVX
...
Needed for now, but unstable-simd is likely a better fix for all our
SIMD building.
2024-12-24 12:02:19 -05:00
Arun Raghavan
c6abf6cd3f
Bump to WebRTC M120 release
...
Some API deprecation -- ExperimentalAgc and ExperimentalNs are gone.
We're continuing to carry iSAC even though it's gone upstream, but maybe
we'll want to drop that soon.
2024-12-24 11:05:39 -05:00
L. E. Segovia
9a202fb8c2
file_wrapper.h: Fix build with GCC13
...
It is a missed instance of cdec109331de34958a892a1418d67806b171b862 (!31 ).
Fixes #32
2024-04-04 18:32:39 -03:00
L. E. Segovia
a949f1de2d
build: Appease MSYS2 UCRT64 GCC 13
...
Undefining this macro makes GCC in standards C++ mode very unhappy:
In file included from D:/msys64/ucrt64/include/c++/13.2.0/bits/requires_hosted.h:31,
from D:/msys64/ucrt64/include/c++/13.2.0/string:38,
from ..\subprojects\webrtc-audio-processing\webrtc/rtc_base/system/file_wrapper.h:17,
from ../subprojects/webrtc-audio-processing/webrtc/rtc_base/system/file_wrapper.cc:11:
D:/msys64/ucrt64/include/c++/13.2.0/x86_64-w64-mingw32/bits/c++config.h:666:2: warning: #warning "__STRICT_ANSI__ seems to have been undefined; this is not supported" [-Wcpp]
666 | #warning "__STRICT_ANSI__ seems to have been undefined; this is not supported"
| ^~~~~~~
See: https://github.com/fmtlib/fmt/issues/2059#issue-761209068
See: #32
2024-03-23 16:34:50 -03:00
Ben Brown
f89958d824
Bring arch.h in line with upstream webrtc
...
Largely to bring in preprocessor support for additional architectures as
based on 6215ba804eb500f3e28b39088c73af3c4f4cd10a by
Timothy Gu <timothygu99@gmail.com>:
Add preprocessor support for additional architectures
- _M_ARM is used by Microsoft [1]
- __riscv and __riscv_xlen are defined by [2]
- __sparc and __sparc__ are documented at [3]
- __MIPSEB__, __PPC__, __PPC64__ are documented at [3] and used in
Chromium's build/build_config.h [4]
Note: Chromium assumes that all PowerPC architectures are 64-bit. This
is in fact not true.
[1]: https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160
[2]: feca479356 (cc-preprocessor-definitions)
[3]: https://sourceforge.net/p/predef/wiki/Architectures/
[4]: https://source.chromium.org/chromium/chromium/src/+/master:build/build_config.h;drc=e12bf2e5ff1eacb9aca3e9a26bdeebdbdad5965a
2023-11-29 16:59:12 +00:00
Arun Raghavan
8e258a1933
build: Bump version to 1.3
v1.3
2023-09-05 11:19:47 -04:00
Nirbheek Chauhan
0691ae20d8
meson: Fix generation of pkgconfig files
...
Too much information was specified manually. All this is deduced
automatically if you specify the library as the first positional
argument.
Only absl_base needs to be in Requires: because absl_optional's header
file is needed at build time.
Also add a check in the CI for the pc files being usable.
2023-09-05 01:50:51 +05:30
Arun Raghavan
c9b0a675e4
build: Bump version to 1.2
v1.2
2023-09-01 11:05:31 -04:00
Arun Raghavan
315b2222a8
meson: Update minimum version based on what abseil wrap needs
2023-08-13 17:42:29 -04:00
Arun Raghavan
bc401b3cbf
build: Expose absl as a dependency of webrtc-audio-processing
...
This is needed because the audio processing header references
abseil's optional.h. Clean up the declared dependencies while we're at
it.
Fixes: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/34
2023-08-13 17:42:29 -04:00
Nirbheek Chauhan
92a4765a7e
meson: Update to latest wrap, install required absl headers
2023-06-01 17:46:28 +05:30
Arun Raghavan
c76b8bf340
doc: Update tarball generation process
...
Use meson dist, include subproject tarballs, and sha256sum files are
also autogenerated.
v1.1
2023-05-25 18:25:51 -04:00
Martin Jansa
cdec109331
file_utils.h: Fix build with gcc-13
...
* add missing include as reported by gcc-13:
webrtc/modules/audio_processing/transient/file_utils.cc:11:
../webrtc-audio-processing-1.0/webrtc/modules/audio_processing/transient/file_utils.h:36:35: error: 'uint8_t' does not name a type
36 | int ConvertByteArrayToFloat(const uint8_t bytes[4], float* out);
| ^~~~~~~
webrtc/modules/audio_processing/transient/file_utils.h:17:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
16 | #include "rtc_base/system/file_wrapper.h"
+++ |+#include <cstdint>
17 |
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-25 18:13:04 -04:00
Nirbheek Chauhan
096b0eaed2
meson: Fixes for MSVC build
...
winsock2.h must be included before windows.h or alternative
definitions of `struct sockaddr` are defined.
```
FAILED: webrtc/rtc_base/liblibbase.a.p/logging.cc.obj
"cl" "-Iwebrtc\rtc_base\liblibbase.a.p" "-Iwebrtc\rtc_base" "-I..\webrtc\rtc_base" "-Iwebrtc" "-I..\webrtc" "-Isubprojects\abseil-cpp-20230125.1" "-I..\subprojects\abseil-cpp-20230125.1" "/MD" "/nologo" "/showIncludes" "/utf-8" "/Zc:__cplusplus" "/W2" "/EHsc" "/std:c++17" "/permissive-" "/O2" "/Zi" "-DWEBRTC_LIBRARY_
IMPL" "-DWEBRTC_ENABLE_SYMBOL_EXPORT" "-DNDEBUG" "-DWEBRTC_WIN" "-D_WIN32" "-U__STRICT_ANSI__" "-D__STDC_FORMAT_MACROS=1" "-DNOMINMAX" "-DWEBRTC_ENABLE_AVX2" "/Fdwebrtc\rtc_base\liblibbase.a.p\logging.cc.pdb" /Fowebrtc/rtc_base/liblibbase.a.p/logging.cc.obj "/c" ../webrtc/rtc_base/logging.cc
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(103): warning C4005: 'AF_IPX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(457): note: see previous definition of 'AF_IPX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(147): warning C4005: 'AF_MAX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(476): note: see previous definition of 'AF_MAX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(187): warning C4005: 'SO_DONTLINGER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(399): note: see previous definition of 'SO_DONTLINGER'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(240): error C2011: 'sockaddr': 'struct' type redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(482): note: see declaration of 'sockaddr'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(442): error C2143: syntax error: missing '}' before 'constant'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(442): error C2059: syntax error: 'constant'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C2143: syntax error: missing ';' before '}'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
...
```
2023-05-26 03:17:31 +05:30
Nirbheek Chauhan
b24229cbbc
meson: Ensure that abseil is built with c++17 too
...
subprojects do not inherit $lang_std default values from the project.
2023-05-26 03:17:31 +05:30
Nirbheek Chauhan
55239c4ca2
ci: Add jobs for MSVC, macOS, iOS, Android
2023-05-26 03:17:31 +05:30
Nirbheek Chauhan
a47df351ca
ci: Bump ubuntu version to 22.10
...
Contains absl with pkgconfig files.
2023-05-26 03:17:31 +05:30
Nirbheek Chauhan
4125ace620
meson: Fix compatibility with Fedora's abseil-cpp package
...
1. Fedora abseil-cpp package is built with C++17:
https://src.fedoraproject.org/rpms/abseil-cpp/blob/rawhide/f/abseil-cpp.spec
2. There is no `absl_types` pkgconfig file, and it's only needed on iOS
2023-05-26 03:16:38 +05:30
Nirbheek Chauhan
aa32d179d0
meson: Update abseil-cpp to latest wrap
2023-05-26 00:45:29 +05:30
Nirbheek Chauhan
9a362bd149
meson: Don't require cross files to set host_system = ios
...
It's not specified as a host_system by meson, so people will often not
set it.
2023-05-26 00:45:29 +05:30
Nirbheek Chauhan
8366ff0ce0
meson: Get rid of cmake and manual library searching
...
Simplify fallback, and prefer it. `[provide]` section requires meson
0.55, so require that.
pkg-config lookup is only provided for distros, since they dislike
static linking / vendoring.
2023-05-26 00:45:00 +05:30
Jan Palus
ca1186946d
build: don't detect neon again when building on aarch64
...
it will try to add -mfpu=neon to cflags not available on aarch64 since
neon is mandatory there
2022-05-21 14:10:48 +02:00
Jan Palus
26f4493405
build: fix -Dneon=runtime
2022-05-21 14:08:15 +02:00
Arun Raghavan
e31340c243
Add builds for distro and vendored versions of abseil
2021-10-20 11:16:19 -04:00
Arun Raghavan
5a5aa66ada
Add an abseil subproject and correctly specify fallback deps
2021-10-20 11:16:18 -04:00
Arun Raghavan
0cc2ebeda2
Add missing absl library for bad_optional_access
2021-10-20 11:15:57 -04:00
Arun Raghavan
6064932abf
Add missing header for C++17 compatibility
...
Hopefully we can drop this change with the next update.
2021-10-19 18:06:37 -04:00
Arun Raghavan
8bf9efad15
Use pkg-config for abseil-cpp detection if available
...
This should make things a bit easier.
2021-10-19 18:06:37 -04:00
Arun Raghavan
ff85c98683
Some fixes for MinGW
...
* Rename Windows.h uses to windows.h
* Comment out structured exception handling usage
Makes MinGW happier. Mostly the same as previous work by
Nicolas Dufresne <nicolas.dufresne@collabora.com>, with the exception
that we now don't try to invoke RaiseException which would fail in MinGW
as it raises a Windows structured exception.
2021-10-19 16:09:07 -04:00
Ryo Kawaguchi
57ec282d4f
Remove rnn_vad_tool.cc that contains main().
2021-09-08 12:21:50 +00:00
Arun Raghavan
6e37f37c4e
build: Split out iSAC VAD sources into a separate dependency
...
Avoid having to link webrtc-audio-processing with webrtc-audio-coding,
and makes the required symbols directly available.
Part-of: <https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/22 >
2021-06-19 13:06:12 -04:00
Arun Raghavan
b8ad0dfc22
build: Add framework deps on macOS and iOS
...
Part-of: <https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/21 >
2021-06-18 23:44:18 -04:00
Zhaofeng Li
e47b68df57
arch.h: Add RISC-V support
2021-06-17 01:48:37 +00:00
Arun Raghavan
e74894baeb
build: Add library-based absl detection as a fallback
...
This should help for cases where users can make abseil-cpp available but
wiring up the CMake-build isn't that easy (for example, while
cross-compiling).
2021-06-05 18:37:23 -04:00
Arun Raghavan
589a744585
Fix build on Android
...
There's a bit of system integration that we haven't pulled in (as it has
transitive dependencies), so we manually stub it out.
2021-06-05 18:16:18 -04:00
Arun Raghavan
8ac052ad6f
doc: Add some build instructions to README
2021-02-12 15:44:49 -05:00