[packages/webrtc-audio-processing2] - updated to 2.1

qboosh qboosh at pld-linux.org
Mon Jul 20 19:07:10 CEST 2026


commit 393295f28fb88bd14db4b112073cd86858b41e75
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Jul 20 19:07:17 2026 +0200

    - updated to 2.1

 webrtc-audio-processing-absl.patch                 | 173 ++++++++++++++++
 webrtc-audio-processing-includes.patch             |  10 +
 webrtc-audio-processing1-nosimd.patch              | 219 ---------------------
 ...ocessing1.spec => webrtc-audio-processing2.spec |  45 ++---
 4 files changed, 200 insertions(+), 247 deletions(-)
---
diff --git a/webrtc-audio-processing1.spec b/webrtc-audio-processing2.spec
similarity index 76%
rename from webrtc-audio-processing1.spec
rename to webrtc-audio-processing2.spec
index a3de48a..637b252 100644
--- a/webrtc-audio-processing1.spec
+++ b/webrtc-audio-processing2.spec
@@ -17,17 +17,18 @@
 
 Summary:	WebRTC Audio Processing library
 Summary(pl.UTF-8):	Biblioteka WebRTC Audio Processing
-Name:		webrtc-audio-processing1
-Version:	1.3
+Name:		webrtc-audio-processing2
+Version:	2.1
 Release:	1
 License:	BSD
 Group:		Libraries
 Source0:	https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-%{version}.tar.gz
-# Source0-md5:	743bf4f5c7132560b1af33aaa0129228
-Patch0:		%{name}-nosimd.patch
+# Source0-md5:	3b91a60162744925731b29834fd56197
+Patch0:		webrtc-audio-processing-absl.patch
+Patch1:		webrtc-audio-processing-includes.patch
 URL:		https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/
-BuildRequires:	abseil-cpp-devel >= 20200923
-BuildRequires:	libstdc++-devel >= 6:5
+BuildRequires:	abseil-cpp-devel >= 20240722
+BuildRequires:	libstdc++-devel >= 6:7
 BuildRequires:	meson >= 0.63
 BuildRequires:	ninja >= 1.5
 BuildRequires:	pkgconfig
@@ -53,7 +54,7 @@ Summary:	Header files for WebRTC Audio Processing library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki WebRTC Audio Processing
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	abseil-cpp-devel >= 20200923
+Requires:	abseil-cpp-devel >= 20240722
 Requires:	libstdc++-devel >= 6:5
 
 %description devel
@@ -79,21 +80,13 @@ Biblioteka statyczna WebRTC Audio Processing.
 %prep
 %setup -q -n webrtc-audio-processing-%{version}
 %patch -P0 -p1
-
-%ifarch %{ix86}
-%if %{without sse2}
-# add -DPFFFT_SIMD_DISABLE
-%{__sed} -i -e 's/have_arm and not have_neon.*/& or true/' webrtc/third_party/pffft/meson.build
-%endif
-%endif
+%patch -P1 -p1
 
 %build
-%if %{with sse2}
-CFLAGS="%{rpmcflags} -msse2"
-CXXFLAGS="%{rpmcxxflags} -msse2"
-%endif
 %meson \
-	-Dneon=%{?with_neon:yes}%{!?with_neon:no}
+	-Dgnustl=disabled \
+	-Dneon=%{__enabled_disabled neon} \
+	-Dinline-sse=%{__true_false sse2}
 
 %meson_build
 
@@ -111,18 +104,14 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS COPYING NEWS README.md webrtc/PATENTS
-%{_libdir}/libwebrtc-audio-coding-1.so.3
-%{_libdir}/libwebrtc-audio-processing-1.so.3
+%{_libdir}/libwebrtc-audio-processing-2.so.1
 
 %files devel
 %defattr(644,root,root,755)
-%{_libdir}/libwebrtc-audio-coding-1.so
-%{_libdir}/libwebrtc-audio-processing-1.so
-%{_includedir}/webrtc-audio-processing-1
-%{_pkgconfigdir}/webrtc-audio-coding-1.pc
-%{_pkgconfigdir}/webrtc-audio-processing-1.pc
+%{_libdir}/libwebrtc-audio-processing-2.so
+%{_includedir}/webrtc-audio-processing-2
+%{_pkgconfigdir}/webrtc-audio-processing-2.pc
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/libwebrtc-audio-coding-1.a
-%{_libdir}/libwebrtc-audio-processing-1.a
+%{_libdir}/libwebrtc-audio-processing-2.a
diff --git a/webrtc-audio-processing-absl.patch b/webrtc-audio-processing-absl.patch
new file mode 100644
index 0000000..881b097
--- /dev/null
+++ b/webrtc-audio-processing-absl.patch
@@ -0,0 +1,173 @@
+--- webrtc-audio-processing-2.1/webrtc/api/scoped_refptr.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/api/scoped_refptr.h	2026-07-20 17:22:57.126469558 +0200
+@@ -79,7 +79,7 @@ class ABSL_NULLABILITY_COMPATIBLE scoped
+   scoped_refptr() : ptr_(nullptr) {}
+   scoped_refptr(std::nullptr_t) : ptr_(nullptr) {}  // NOLINT(runtime/explicit)
+ 
+-  explicit scoped_refptr(absl::Nullable<T*> p) : ptr_(p) {
++  explicit scoped_refptr(T* absl_nullable p) : ptr_(p) {
+     if (ptr_)
+       ptr_->AddRef();
+   }
+@@ -122,7 +122,7 @@ class ABSL_NULLABILITY_COMPATIBLE scoped
+     return retVal;
+   }
+ 
+-  scoped_refptr<T>& operator=(absl::Nullable<T*> p) {
++  scoped_refptr<T>& operator=(T* absl_nullable p) {
+     // AddRef first so that self assignment should work
+     if (p)
+       p->AddRef();
+@@ -152,7 +152,7 @@ class ABSL_NULLABILITY_COMPATIBLE scoped
+     return *this;
+   }
+ 
+-  void swap(absl::Nonnull<T**> pp) noexcept {
++  void swap(T** absl_nonnull pp) noexcept {
+     T* p = ptr_;
+     ptr_ = *pp;
+     *pp = p;
+--- webrtc-audio-processing-2.1/webrtc/api/make_ref_counted.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/api/make_ref_counted.h	2026-07-20 17:31:44.236947289 +0200
+@@ -86,7 +86,7 @@ template <
+     typename std::enable_if<std::is_convertible_v<T*, RefCountInterface*> &&
+                                 std::is_abstract_v<T>,
+                             T>::type* = nullptr>
+-absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
++scoped_refptr<T> absl_nonnull make_ref_counted(Args&&... args) {
+   return scoped_refptr<T>(new RefCountedObject<T>(std::forward<Args>(args)...));
+ }
+ 
+@@ -99,7 +99,7 @@ template <
+         !std::is_convertible_v<T*, RefCountInterface*> &&
+             webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
+         T>::type* = nullptr>
+-absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
++scoped_refptr<T> absl_nonnull make_ref_counted(Args&&... args) {
+   return scoped_refptr<T>(new T(std::forward<Args>(args)...));
+ }
+ 
+@@ -113,7 +113,7 @@ template <
+             !webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
+ 
+         T>::type* = nullptr>
+-absl::Nonnull<scoped_refptr<FinalRefCountedObject<T>>> make_ref_counted(
++scoped_refptr<FinalRefCountedObject<T>> absl_nonnull make_ref_counted(
+     Args&&... args) {
+   return scoped_refptr<FinalRefCountedObject<T>>(
+       new FinalRefCountedObject<T>(std::forward<Args>(args)...));
+--- webrtc-audio-processing-2.1/webrtc/api/audio/audio_processing.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/api/audio/audio_processing.h	2026-07-20 17:46:52.272028040 +0200
+@@ -635,11 +635,11 @@ class RTC_EXPORT AudioProcessing : publi
+   virtual bool CreateAndAttachAecDump(
+       absl::string_view file_name,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue) = 0;
++      TaskQueueBase* absl_nonnull worker_queue) = 0;
+   virtual bool CreateAndAttachAecDump(
+-      absl::Nonnull<FILE*> handle,
++      FILE* absl_nonnull handle,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue) = 0;
++      TaskQueueBase* absl_nonnull worker_queue) = 0;
+ 
+   // TODO(webrtc:5298) Deprecated variant.
+   // Attaches provided webrtc::AecDump for recording debugging
+--- webrtc-audio-processing-2.1/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h	2026-07-20 17:50:01.377670234 +0200
+@@ -29,18 +29,18 @@ class RTC_EXPORT AecDumpFactory {
+   // The AecDump takes responsibility for `handle` and closes it in the
+   // destructor. A non-null return value indicates that the file has been
+   // sucessfully opened.
+-  static absl::Nullable<std::unique_ptr<AecDump>> Create(
++  static std::unique_ptr<AecDump> absl_nullable Create(
+       FileWrapper file,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue);
+-  static absl::Nullable<std::unique_ptr<AecDump>> Create(
++      TaskQueueBase* absl_nonnull worker_queue);
++  static std::unique_ptr<AecDump> absl_nullable Create(
+       absl::string_view file_name,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue);
+-  static absl::Nullable<std::unique_ptr<AecDump>> Create(
+-      absl::Nonnull<FILE*> handle,
++      TaskQueueBase* absl_nonnull worker_queue);
++  static std::unique_ptr<AecDump> absl_nullable Create(
++      FILE* absl_nonnull handle,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue);
++      TaskQueueBase* absl_nonnull worker_queue);
+ };
+ 
+ }  // namespace webrtc
+--- webrtc-audio-processing-2.1/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc	2026-07-20 17:52:02.093682925 +0200
+@@ -16,24 +16,24 @@
+ 
+ namespace webrtc {
+ 
+-absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
++std::unique_ptr<AecDump> absl_nullable AecDumpFactory::Create(
+     FileWrapper file,
+     int64_t max_log_size_bytes,
+-    absl::Nonnull<TaskQueueBase*> worker_queue) {
++    TaskQueueBase* absl_nonnull worker_queue) {
+   return nullptr;
+ }
+ 
+-absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
++std::unique_ptr<AecDump> absl_nullable AecDumpFactory::Create(
+     absl::string_view file_name,
+     int64_t max_log_size_bytes,
+-    absl::Nonnull<TaskQueueBase*> worker_queue) {
++    TaskQueueBase* absl_nonnull worker_queue) {
+   return nullptr;
+ }
+ 
+-absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
+-    absl::Nonnull<FILE*> handle,
++std::unique_ptr<AecDump> absl_nullable AecDumpFactory::Create(
++    FILE* absl_nonnull handle,
+     int64_t max_log_size_bytes,
+-    absl::Nonnull<TaskQueueBase*> worker_queue) {
++    TaskQueueBase* absl_nonnull worker_queue) {
+   return nullptr;
+ }
+ }  // namespace webrtc
+--- webrtc-audio-processing-2.1/webrtc/modules/audio_processing/audio_processing_impl.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/modules/audio_processing/audio_processing_impl.h	2026-07-20 17:54:09.712991552 +0200
+@@ -74,11 +74,11 @@ class AudioProcessingImpl : public Audio
+   bool CreateAndAttachAecDump(
+       absl::string_view file_name,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue) override;
++      TaskQueueBase* absl_nonnull worker_queue) override;
+   bool CreateAndAttachAecDump(
+       FILE* handle,
+       int64_t max_log_size_bytes,
+-      absl::Nonnull<TaskQueueBase*> worker_queue) override;
++      TaskQueueBase* absl_nonnull worker_queue) override;
+   // TODO(webrtc:5298) Deprecated variant.
+   void AttachAecDump(std::unique_ptr<AecDump> aec_dump) override;
+   void DetachAecDump() override;
+--- webrtc-audio-processing-2.1/webrtc/modules/audio_processing/audio_processing_impl.cc.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/modules/audio_processing/audio_processing_impl.cc	2026-07-20 17:55:07.636011089 +0200
+@@ -1787,7 +1787,7 @@ void AudioProcessingImpl::UpdateRecommen
+ bool AudioProcessingImpl::CreateAndAttachAecDump(
+     absl::string_view file_name,
+     int64_t max_log_size_bytes,
+-    absl::Nonnull<TaskQueueBase*> worker_queue) {
++    TaskQueueBase* absl_nonnull worker_queue) {
+   std::unique_ptr<AecDump> aec_dump =
+       AecDumpFactory::Create(file_name, max_log_size_bytes, worker_queue);
+   if (!aec_dump) {
+@@ -1801,7 +1801,7 @@ bool AudioProcessingImpl::CreateAndAttac
+ bool AudioProcessingImpl::CreateAndAttachAecDump(
+     FILE* handle,
+     int64_t max_log_size_bytes,
+-    absl::Nonnull<TaskQueueBase*> worker_queue) {
++    TaskQueueBase* absl_nonnull worker_queue) {
+   std::unique_ptr<AecDump> aec_dump =
+       AecDumpFactory::Create(handle, max_log_size_bytes, worker_queue);
+   if (!aec_dump) {
diff --git a/webrtc-audio-processing-includes.patch b/webrtc-audio-processing-includes.patch
new file mode 100644
index 0000000..ce9c3fe
--- /dev/null
+++ b/webrtc-audio-processing-includes.patch
@@ -0,0 +1,10 @@
+--- webrtc-audio-processing-2.1/webrtc/rtc_base/trace_event.h.orig	2025-01-22 23:32:18.000000000 +0100
++++ webrtc-audio-processing-2.1/webrtc/rtc_base/trace_event.h	2026-07-20 17:29:07.627795714 +0200
+@@ -27,6 +27,7 @@
+ // IWYU pragma: end_exports
+ 
+ #if !defined(RTC_USE_PERFETTO)
++#include <cstdint>
+ #include <string>
+ 
+ #include "rtc_base/event_tracer.h"
diff --git a/webrtc-audio-processing1-nosimd.patch b/webrtc-audio-processing1-nosimd.patch
deleted file mode 100644
index 92bb26e..0000000
--- a/webrtc-audio-processing1-nosimd.patch
+++ /dev/null
@@ -1,219 +0,0 @@
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc	2021-03-14 13:27:15.929900062 +0100
-@@ -16,7 +16,7 @@
- #if defined(WEBRTC_HAS_NEON)
- #include <arm_neon.h>
- #endif
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- #include <math.h>
-@@ -86,7 +86,7 @@
- }
- #endif
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- // Computes and stores the frequency response of the filter.
- void ComputeFrequencyResponse_Sse2(
-     size_t num_partitions,
-@@ -208,7 +208,7 @@
- }
- #endif
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- // Adapts the filter partitions. (SSE2 variant)
- void AdaptPartitions_Sse2(const RenderBuffer& render_buffer,
-                           const FftData& G,
-@@ -373,7 +373,7 @@
- }
- #endif
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- // Produces the filter output (SSE2 variant).
- void ApplyFilter_Sse2(const RenderBuffer& render_buffer,
-                       size_t num_partitions,
-@@ -552,7 +552,7 @@
-                                FftData* S) const {
-   RTC_DCHECK(S);
-   switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Aec3Optimization::kSse2:
-       aec3::ApplyFilter_Sse2(render_buffer, current_size_partitions_, H_, S);
-       break;
-@@ -596,7 +596,7 @@
-   H2->resize(current_size_partitions_);
- 
-   switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Aec3Optimization::kSse2:
-       aec3::ComputeFrequencyResponse_Sse2(current_size_partitions_, H_, H2);
-       break;
-@@ -621,7 +621,7 @@
- 
-   // Adapt the filter.
-   switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Aec3Optimization::kSse2:
-       aec3::AdaptPartitions_Sse2(render_buffer, G, current_size_partitions_,
-                                  &H_);
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc	2021-03-14 13:27:55.803017384 +0100
-@@ -16,7 +16,7 @@
- #if defined(WEBRTC_HAS_NEON)
- #include <arm_neon.h>
- #endif
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- 
-@@ -54,7 +54,7 @@
- }
- #endif
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- // Computes and stores the echo return loss estimate of the filter, which is the
- // sum of the partition frequency responses.
- void ErlComputer_SSE2(
-@@ -81,7 +81,7 @@
-   RTC_DCHECK_EQ(kFftLengthBy2Plus1, erl.size());
-   // Update the frequency response and echo return loss for the filter.
-   switch (optimization) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Aec3Optimization::kSse2:
-       aec3::ErlComputer_SSE2(H2, erl);
-       break;
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/fft_data.h.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/fft_data.h	2021-03-14 13:28:55.999357940 +0100
-@@ -14,7 +14,7 @@
- // Defines WEBRTC_ARCH_X86_FAMILY, used below.
- #include "rtc_base/system/arch.h"
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- #include <algorithm>
-@@ -48,7 +48,7 @@
-                 rtc::ArrayView<float> power_spectrum) const {
-     RTC_DCHECK_EQ(kFftLengthBy2Plus1, power_spectrum.size());
-     switch (optimization) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-       case Aec3Optimization::kSse2: {
-         constexpr int kNumFourBinBands = kFftLengthBy2 / 4;
-         constexpr int kLimit = kNumFourBinBands * 4;
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/vector_math.h.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/vector_math.h	2021-03-14 13:29:18.652568550 +0100
-@@ -17,7 +17,7 @@
- #if defined(WEBRTC_HAS_NEON)
- #include <arm_neon.h>
- #endif
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- #include <math.h>
-@@ -43,7 +43,7 @@
-   void SqrtAVX2(rtc::ArrayView<float> x);
-   void Sqrt(rtc::ArrayView<float> x) {
-     switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-       case Aec3Optimization::kSse2: {
-         const int x_size = static_cast<int>(x.size());
-         const int vector_limit = x_size >> 2;
-@@ -123,7 +123,7 @@
-     RTC_DCHECK_EQ(z.size(), x.size());
-     RTC_DCHECK_EQ(z.size(), y.size());
-     switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-       case Aec3Optimization::kSse2: {
-         const int x_size = static_cast<int>(x.size());
-         const int vector_limit = x_size >> 2;
-@@ -173,7 +173,7 @@
-   void Accumulate(rtc::ArrayView<const float> x, rtc::ArrayView<float> z) {
-     RTC_DCHECK_EQ(z.size(), x.size());
-     switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-       case Aec3Optimization::kSse2: {
-         const int x_size = static_cast<int>(x.size());
-         const int vector_limit = x_size >> 2;
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/matched_filter.cc.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/aec3/matched_filter.cc	2021-03-14 13:29:40.592449692 +0100
-@@ -15,7 +15,7 @@
- #if defined(WEBRTC_HAS_NEON)
- #include <arm_neon.h>
- #endif
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- #include <algorithm>
-@@ -142,7 +142,7 @@
- 
- #endif
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- 
- void MatchedFilterCore_SSE2(size_t x_start_index,
-                             float x2_sum_threshold,
-@@ -358,7 +358,7 @@
-         render_buffer.buffer.size();
- 
-     switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-       case Aec3Optimization::kSse2:
-         aec3::MatchedFilterCore_SSE2(x_start_index, x2_sum_threshold,
-                                      smoothing_, render_buffer.buffer, y,
---- webrtc-audio-processing-1.0/webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc.orig	2020-11-27 20:30:53.000000000 +0100
-+++ webrtc-audio-processing-1.0/webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc	2021-03-14 13:42:56.104806702 +0100
-@@ -16,7 +16,7 @@
- #if defined(WEBRTC_HAS_NEON)
- #include <arm_neon.h>
- #endif
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- #include <emmintrin.h>
- #endif
- #include <algorithm>
-@@ -227,7 +227,7 @@
-   }
- }
- 
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
- // Fully connected layer SSE2 implementation.
- void ComputeFullyConnectedLayerOutputSse2(
-     size_t input_size,
-@@ -295,7 +295,7 @@
- 
- void FullyConnectedLayer::ComputeOutput(rtc::ArrayView<const float> input) {
-   switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Optimization::kSse2:
-       ComputeFullyConnectedLayerOutputSse2(input_size_, output_size_, input,
-                                            bias_, weights_,
-@@ -355,7 +355,7 @@
- 
- void GatedRecurrentLayer::ComputeOutput(rtc::ArrayView<const float> input) {
-   switch (optimization_) {
--#if defined(WEBRTC_ARCH_X86_FAMILY)
-+#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__)
-     case Optimization::kSse2:
-       // TODO(bugs.chromium.org/10480): Handle Optimization::kSse2.
-       ComputeGruLayerOutput(input_size_, output_size_, input, weights_,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/webrtc-audio-processing2.git/commitdiff/393295f28fb88bd14db4b112073cd86858b41e75



More information about the pld-cvs-commit mailing list