24 Commits

Author SHA1 Message Date
Arun Raghavan
54a632f018 meson: Convert the 'neon' option into a feature
Easier to express things, now that runtime is a no-op.
2024-12-30 16:21:08 -05:00
Alper Nebi Yasak
73aed233b2 meson: Use neon_opt to control building neon files
Using the have_neon boolean to enable NEON code means we have to either
fully enable it or fully disable it. When using -Dneon=runtime, ideally
only the parts that support runtime checks would be built for NEON, and
those that don't would be built without NEON. Though, there are no
longer any runtime checks for NEON anywhere, so it's equivalent to 'no'
with a warning.

In general, we should use have_* variables to indicate compiler support,
and *_opt options to choose if and how we want to utilize that. Use
neon_opt to control NEON compilation and avoid modifying have_neon which
now would fully refer to compiler support.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2024-12-30 14:18:44 -05:00
Arun Raghavan
ecb8817972 Remove some unused files 2024-12-30 12:48:46 -05:00
Alper Nebi Yasak
4a17c682e9 common_audio: Add MIPS_DSP_R1_LE guard for vector scaling ops
The MIPS-specific source for vector scaling operations fails to build on
Debian's mips64el:

  [97/303] Compiling C object webrtc/common_audio/libcommon_audio.a.p/signal_processing_vector_scaling_operations_mips.c.o
  FAILED: webrtc/common_audio/libcommon_audio.a.p/signal_processing_vector_scaling_operations_mips.c.o
  cc [...] webrtc/common_audio/libcommon_audio.a.p/signal_processing_vector_scaling_operations_mips.c.o.d -o webrtc/common_audio/libcommon_audio.a.p/signal_processing_vector_scaling_operations_mips.c.o -c ../webrtc/common_audio/signal_processing/vector_scaling_operations_mips.c
  /tmp/cc7UGPkY.s: Assembler messages:
  /tmp/cc7UGPkY.s:57: Error: opcode not supported on this processor: mips64r2 (mips64r2) `extrv_r.w $3,$ac0,$8'
  ninja: build stopped: subcommand failed.

The EXTRV_R.W instruction it uses is part of DSP extensions for this
architecture. In signal_processing_library.h, this function's prototype
is guarded with #if defined(MIPS_DSP_R1_LE). Guard the implementation
like that as well to fix the error.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2024-12-30 12:06:56 -05:00
Jonas Smedegaard
da757ff09f Fix MIPS-specific source path
Link: https://sources.debian.org/patches/webrtc-audio-processing/1.0-0.2/fix-mips-source-path.patch
2024-12-30 12:06:46 -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
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
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
Arun Raghavan
e5402cd638 build: Fix up some ARM-related mistakes 2020-11-27 14:03:06 -05:00
Arun Raghavan
bcec8b0b21 Update to current webrtc library
This is from the upstream library commit id
3326535126e435f1ba647885ce43a8f0f3d317eb, corresponding to Chromium
88.0.4290.1.
2020-10-23 13:30:23 -04:00
Guillaume Desmottes
301110c655 remove autotools
In Meson we trust.
2020-03-24 14:10:59 +01:00
Matthew Waters
eb398328ab Initial meson build files 2018-10-28 23:25:18 +11:00
Rex Dieter
066cf53da7 build: Make sure files with SSE2 code are compiled with -msse2
Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2016-06-21 16:46:48 +05:30
Arun Raghavan
34abadd258 Update code to current Chromium master
This corresponds to:

Chromium: 6555f9456074c0c0e5f7713564b978588ac04a5d
webrtc: c8b569e0a7ad0b369e15f0197b3a558699ec8efa
2015-11-04 13:11:30 +05:30
Arun Raghavan
66cdc2e923 common_audio: Remove extraneous header
This one is left over from a previous version of the code base.
2015-11-04 13:11:30 +05:30
Arun Raghavan
a6e73f4d94 build: Conditionally build C variants of assembler-optimised code 2015-10-19 11:48:52 +05:30
Arun Raghavan
7d9c65b625 build: Define assembler flags where required 2015-10-19 11:41:13 +05:30
Arun Raghavan
98454ed265 build: Add architecture checks for x86 and ARM
On x86, SSE optimisations are always compiled in, and used based on
runtime checks.

On ARM, we try to autodetect NEON support (with an option of runtime
detection). This has not been build-tested on ARM yet.

This leaves MIPS to be done.
2015-10-15 16:18:47 +05:30
Arun Raghavan
7fcd4d2df5 build: More build fixes and cleanups 2015-10-15 16:18:47 +05:30
Arun Raghavan
e68571d456 build: Some fixes for make distcheck 2015-10-15 16:18:47 +05:30
Arun Raghavan
407bfbf651 build: Make build succeed without test and non-audio deps 2015-10-15 16:18:47 +05:30
Arun Raghavan
753eada3aa Update audio_processing module
Corresponds to upstream commit 524e9b043e7e86fd72353b987c9d5f6a1ebf83e1

Update notes:

 * Pull in third party license file

 * Replace .gypi files with BUILD.gn to keep track of what changes
   upstream

 * Bunch of new filse pulled in as dependencies

 * Won't build yet due to changes needed on top of these
2015-10-15 16:18:45 +05:30
Arun Raghavan
c4fb4e38de Update common_audio
Corresponds to upstream commit 524e9b043e7e86fd72353b987c9d5f6a1ebf83e1

Update notes:

 * Moved src/ to webrtc/ to easily diff against the third_party/webrtc
   in the chromium tree

 * ARM/NEON/MIPS support is not yet hooked up

 * Tests have not been copied
2015-10-15 16:18:25 +05:30