Unify OOURA implementations in one directory.

This CL moves the two OOURA implementations present in the WebRTC tree
in one place.

No functional change is expected.

TBR=kwiberg@webrtc.org

No-Try: True
Bug: webrtc:11509
Change-Id: I330a9ec57e3dc65c9c8b43edd4bb295c55920efa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173682
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31106}
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
index 6c89bf2..36f723d 100644
--- a/common_audio/BUILD.gn
+++ b/common_audio/BUILD.gn
@@ -55,7 +55,7 @@
     "../rtc_base/system:file_wrapper",
     "../system_wrappers",
     "../system_wrappers:cpu_features_api",
-    "third_party/fft4g",
+    "third_party/ooura/fft_size_256:fft4g",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 
@@ -185,7 +185,7 @@
     "../rtc_base/system:arch",
     "../system_wrappers",
     "../system_wrappers:cpu_features_api",
-    "third_party/fft4g",
+    "third_party/ooura/fft_size_256:fft4g",
     "third_party/spl_sqrt_floor",
   ]
 }
diff --git a/common_audio/real_fourier_ooura.cc b/common_audio/real_fourier_ooura.cc
index 89694c1..9acda54 100644
--- a/common_audio/real_fourier_ooura.cc
+++ b/common_audio/real_fourier_ooura.cc
@@ -13,7 +13,7 @@
 #include <algorithm>
 #include <cmath>
 
-#include "common_audio/third_party/fft4g/fft4g.h"
+#include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
 #include "rtc_base/checks.h"
 
 namespace webrtc {
diff --git a/common_audio/real_fourier_ooura.h b/common_audio/real_fourier_ooura.h
index b5f1bcf..ae85dfd 100644
--- a/common_audio/real_fourier_ooura.h
+++ b/common_audio/real_fourier_ooura.h
@@ -35,7 +35,7 @@
   const size_t length_;
   const size_t complex_length_;
   // These are work arrays for Ooura. The names are based on the comments in
-  // fft4g.c.
+  // common_audio/third_party/ooura/fft_size_256/fft4g.cc.
   const std::unique_ptr<size_t[]> work_ip_;
   const std::unique_ptr<float[]> work_w_;
 };
diff --git a/common_audio/third_party/fft4g/LICENSE b/common_audio/third_party/ooura/LICENSE
similarity index 100%
rename from common_audio/third_party/fft4g/LICENSE
rename to common_audio/third_party/ooura/LICENSE
diff --git a/common_audio/third_party/fft4g/README.chromium b/common_audio/third_party/ooura/README.chromium
similarity index 100%
rename from common_audio/third_party/fft4g/README.chromium
rename to common_audio/third_party/ooura/README.chromium
diff --git a/common_audio/third_party/ooura/fft_size_128/BUILD.gn b/common_audio/third_party/ooura/fft_size_128/BUILD.gn
new file mode 100644
index 0000000..cbafc7b
--- /dev/null
+++ b/common_audio/third_party/ooura/fft_size_128/BUILD.gn
@@ -0,0 +1,51 @@
+# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the ../../../LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS.  All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+import("../../../../webrtc.gni")
+
+rtc_library("ooura_fft") {
+  sources = [
+    "ooura_fft.cc",
+    "ooura_fft.h",
+    "ooura_fft_tables_common.h",
+  ]
+  deps = [
+    "../../../../rtc_base/system:arch",
+    "../../../../system_wrappers:cpu_features_api",
+  ]
+  cflags = []
+
+  if (current_cpu == "x86" || current_cpu == "x64") {
+    sources += [
+      "ooura_fft_sse2.cc",
+      "ooura_fft_tables_neon_sse2.h",
+    ]
+    if (is_posix || is_fuchsia) {
+      cflags += [ "-msse2" ]
+    }
+  }
+
+  if (rtc_build_with_neon) {
+    sources += [
+      "ooura_fft_neon.cc",
+      "ooura_fft_tables_neon_sse2.h",
+    ]
+
+    deps += [ "../../../../common_audio" ]
+
+    if (current_cpu != "arm64") {
+      # Enable compilation for the NEON instruction set.
+      suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
+      cflags += [ "-mfpu=neon" ]
+    }
+  }
+
+  if (current_cpu == "mipsel" && mips_float_abi == "hard") {
+    sources += [ "ooura_fft_mips.cc" ]
+  }
+}
diff --git a/modules/audio_processing/utility/ooura_fft.cc b/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
similarity index 98%
rename from modules/audio_processing/utility/ooura_fft.cc
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
index 8628bd3..2918374 100644
--- a/modules/audio_processing/utility/ooura_fft.cc
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
@@ -21,9 +21,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "modules/audio_processing/utility/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 
-#include "modules/audio_processing/utility/ooura_fft_tables_common.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h"
 #include "rtc_base/system/arch.h"
 #include "system_wrappers/include/cpu_features_wrapper.h"
 
diff --git a/modules/audio_processing/utility/ooura_fft.h b/common_audio/third_party/ooura/fft_size_128/ooura_fft.h
similarity index 100%
rename from modules/audio_processing/utility/ooura_fft.h
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft.h
diff --git a/modules/audio_processing/utility/ooura_fft_mips.cc b/common_audio/third_party/ooura/fft_size_128/ooura_fft_mips.cc
similarity index 99%
rename from modules/audio_processing/utility/ooura_fft_mips.cc
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft_mips.cc
index 42b9d3a..4c231e3 100644
--- a/modules/audio_processing/utility/ooura_fft_mips.cc
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_mips.cc
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "modules/audio_processing/utility/ooura_fft.h"
-#include "modules/audio_processing/utility/ooura_fft_tables_common.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h"
 
 namespace webrtc {
 
diff --git a/modules/audio_processing/utility/ooura_fft_neon.cc b/common_audio/third_party/ooura/fft_size_128/ooura_fft_neon.cc
similarity index 97%
rename from modules/audio_processing/utility/ooura_fft_neon.cc
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft_neon.cc
index 95b5f09..acab972 100644
--- a/modules/audio_processing/utility/ooura_fft_neon.cc
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_neon.cc
@@ -16,9 +16,9 @@
 
 #include <arm_neon.h>
 
-#include "modules/audio_processing/utility/ooura_fft.h"
-#include "modules/audio_processing/utility/ooura_fft_tables_common.h"
-#include "modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h"
 
 namespace webrtc {
 
diff --git a/modules/audio_processing/utility/ooura_fft_sse2.cc b/common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc
similarity index 98%
rename from modules/audio_processing/utility/ooura_fft_sse2.cc
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc
index 0e4a44b..7f0802d 100644
--- a/modules/audio_processing/utility/ooura_fft_sse2.cc
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc
@@ -11,9 +11,9 @@
 #include <emmintrin.h>
 #include <xmmintrin.h>
 
-#include "modules/audio_processing/utility/ooura_fft.h"
-#include "modules/audio_processing/utility/ooura_fft_tables_common.h"
-#include "modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h"
 #include "rtc_base/system/arch.h"
 
 namespace webrtc {
diff --git a/modules/audio_processing/utility/ooura_fft_tables_common.h b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
similarity index 97%
rename from modules/audio_processing/utility/ooura_fft_tables_common.h
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
index 47d076e..6db1dd9 100644
--- a/modules/audio_processing/utility/ooura_fft_tables_common.h
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h
@@ -11,7 +11,7 @@
 #ifndef MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_COMMON_H_
 #define MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_COMMON_H_
 
-#include "modules/audio_processing/utility/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 
 namespace webrtc {
 
diff --git a/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
similarity index 98%
rename from modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h
rename to common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
index 10aebac..a63d187 100644
--- a/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h
+++ b/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h
@@ -11,7 +11,7 @@
 #ifndef MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_NEON_SSE2_H_
 #define MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_TABLES_NEON_SSE2_H_
 
-#include "modules/audio_processing/utility/ooura_fft.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 #include "rtc_base/system/arch.h"
 
 #ifdef _MSC_VER /* visual c++ */
diff --git a/common_audio/third_party/fft4g/BUILD.gn b/common_audio/third_party/ooura/fft_size_256/BUILD.gn
similarity index 80%
rename from common_audio/third_party/fft4g/BUILD.gn
rename to common_audio/third_party/ooura/fft_size_256/BUILD.gn
index c7dd8f7..030867b 100644
--- a/common_audio/third_party/fft4g/BUILD.gn
+++ b/common_audio/third_party/ooura/fft_size_256/BUILD.gn
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
+# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
 #
 # Use of this source code is governed by a BSD-style license
 # that can be found in the ../../../LICENSE file in the root of the source
@@ -6,7 +6,7 @@
 # in the file PATENTS.  All contributing project authors may
 # be found in the AUTHORS file in the root of the source tree.
 
-import("../../../webrtc.gni")
+import("../../../../webrtc.gni")
 
 rtc_library("fft4g") {
   sources = [
diff --git a/common_audio/third_party/fft4g/fft4g.cc b/common_audio/third_party/ooura/fft_size_256/fft4g.cc
similarity index 99%
rename from common_audio/third_party/fft4g/fft4g.cc
rename to common_audio/third_party/ooura/fft_size_256/fft4g.cc
index fadd1be..d2f7c1c 100644
--- a/common_audio/third_party/fft4g/fft4g.cc
+++ b/common_audio/third_party/ooura/fft_size_256/fft4g.cc
@@ -289,6 +289,8 @@
 #include <math.h>
 #include <stddef.h>
 
+#include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
+
 namespace webrtc {
 
 namespace {
diff --git a/common_audio/third_party/fft4g/fft4g.h b/common_audio/third_party/ooura/fft_size_256/fft4g.h
similarity index 75%
rename from common_audio/third_party/fft4g/fft4g.h
rename to common_audio/third_party/ooura/fft_size_256/fft4g.h
index 7cdc695..d41d2c6 100644
--- a/common_audio/third_party/fft4g/fft4g.h
+++ b/common_audio/third_party/ooura/fft_size_256/fft4g.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef COMMON_AUDIO_THIRD_PARTY_FFT4G_FFT4G_H_
-#define COMMON_AUDIO_THIRD_PARTY_FFT4G_FFT4G_H_
+#ifndef COMMON_AUDIO_THIRD_PARTY_OOURA_FFT_SIZE_256_FFT4G_H_
+#define COMMON_AUDIO_THIRD_PARTY_OOURA_FFT_SIZE_256_FFT4G_H_
 
 namespace webrtc {
 
@@ -18,4 +18,4 @@
 
 }  // namespace webrtc
 
-#endif /* COMMON_AUDIO_THIRD_PARTY_FFT4G_FFT4G_H_ */
+#endif  // COMMON_AUDIO_THIRD_PARTY_OOURA_FFT_SIZE_256_FFT4G_H_
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index 03c42ed..ffda2da 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -164,7 +164,7 @@
     "../../api/audio:echo_control",
     "../../audio/utility:audio_frame_operations",
     "../../common_audio:common_audio_c",
-    "../../common_audio/third_party/fft4g",
+    "../../common_audio/third_party/ooura/fft_size_256:fft4g",
     "../../rtc_base:checks",
     "../../rtc_base:deprecation",
     "../../rtc_base:gtest_prod",
diff --git a/modules/audio_processing/aec3/BUILD.gn b/modules/audio_processing/aec3/BUILD.gn
index 5d451eb..9f6b6eb 100644
--- a/modules/audio_processing/aec3/BUILD.gn
+++ b/modules/audio_processing/aec3/BUILD.gn
@@ -140,6 +140,7 @@
     "../../../api/audio:aec3_config",
     "../../../api/audio:echo_control",
     "../../../common_audio:common_audio_c",
+    "../../../common_audio/third_party/ooura/fft_size_128:ooura_fft",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
@@ -149,7 +150,6 @@
     "../../../system_wrappers:field_trial",
     "../../../system_wrappers:metrics",
     "../utility:cascaded_biquad_filter",
-    "../utility:ooura_fft",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/modules/audio_processing/aec3/aec3_fft.h b/modules/audio_processing/aec3/aec3_fft.h
index d5db83e..7a2e024 100644
--- a/modules/audio_processing/aec3/aec3_fft.h
+++ b/modules/audio_processing/aec3/aec3_fft.h
@@ -14,9 +14,9 @@
 #include <array>
 
 #include "api/array_view.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/fft_data.h"
-#include "modules/audio_processing/utility/ooura_fft.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/constructor_magic.h"
 
diff --git a/modules/audio_processing/aec3/suppression_filter.h b/modules/audio_processing/aec3/suppression_filter.h
index a35fb40..281c2c3 100644
--- a/modules/audio_processing/aec3/suppression_filter.h
+++ b/modules/audio_processing/aec3/suppression_filter.h
@@ -14,10 +14,10 @@
 #include <array>
 #include <vector>
 
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 #include "modules/audio_processing/aec3/aec3_common.h"
 #include "modules/audio_processing/aec3/aec3_fft.h"
 #include "modules/audio_processing/aec3/fft_data.h"
-#include "modules/audio_processing/utility/ooura_fft.h"
 #include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
diff --git a/modules/audio_processing/agc/BUILD.gn b/modules/audio_processing/agc/BUILD.gn
index 41c2ad3..43612d6 100644
--- a/modules/audio_processing/agc/BUILD.gn
+++ b/modules/audio_processing/agc/BUILD.gn
@@ -75,7 +75,7 @@
   deps = [
     "../../../common_audio",
     "../../../common_audio:common_audio_c",
-    "../../../common_audio/third_party/fft4g",
+    "../../../common_audio/third_party/ooura/fft_size_256:fft4g",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
     "../../../system_wrappers:cpu_features_api",
diff --git a/modules/audio_processing/agc2/BUILD.gn b/modules/audio_processing/agc2/BUILD.gn
index 2810def..0d1c956 100644
--- a/modules/audio_processing/agc2/BUILD.gn
+++ b/modules/audio_processing/agc2/BUILD.gn
@@ -150,9 +150,9 @@
     "..:audio_frame_view",
     "../../../api:array_view",
     "../../../common_audio",
+    "../../../common_audio/third_party/ooura/fft_size_128:ooura_fft",
     "../../../rtc_base:checks",
     "../../../rtc_base:macromagic",
-    "../utility:ooura_fft",
   ]
 
   configs += [ "..:apm_debug_dump" ]
diff --git a/modules/audio_processing/agc2/signal_classifier.h b/modules/audio_processing/agc2/signal_classifier.h
index e0d6771..ae288ae 100644
--- a/modules/audio_processing/agc2/signal_classifier.h
+++ b/modules/audio_processing/agc2/signal_classifier.h
@@ -15,9 +15,9 @@
 #include <vector>
 
 #include "api/array_view.h"
+#include "common_audio/third_party/ooura/fft_size_128/ooura_fft.h"
 #include "modules/audio_processing/agc2/down_sampler.h"
 #include "modules/audio_processing/agc2/noise_spectrum_estimator.h"
-#include "modules/audio_processing/utility/ooura_fft.h"
 #include "rtc_base/constructor_magic.h"
 
 namespace webrtc {
diff --git a/modules/audio_processing/ns/BUILD.gn b/modules/audio_processing/ns/BUILD.gn
index 005cfa2..b988239 100644
--- a/modules/audio_processing/ns/BUILD.gn
+++ b/modules/audio_processing/ns/BUILD.gn
@@ -54,7 +54,8 @@
     "..:high_pass_filter",
     "../../../api:array_view",
     "../../../common_audio:common_audio_c",
-    "../../../common_audio/third_party/fft4g",
+    "../../../common_audio/third_party/ooura/fft_size_128:ooura_fft",
+    "../../../common_audio/third_party/ooura/fft_size_256:fft4g",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
     "../../../rtc_base:safe_minmax",
@@ -63,7 +64,6 @@
     "../../../system_wrappers:field_trial",
     "../../../system_wrappers:metrics",
     "../utility:cascaded_biquad_filter",
-    "../utility:ooura_fft",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
diff --git a/modules/audio_processing/ns/ns_fft.cc b/modules/audio_processing/ns/ns_fft.cc
index 8d1c43f..264c469 100644
--- a/modules/audio_processing/ns/ns_fft.cc
+++ b/modules/audio_processing/ns/ns_fft.cc
@@ -10,7 +10,7 @@
 
 #include "modules/audio_processing/ns/ns_fft.h"
 
-#include "common_audio/third_party/fft4g/fft4g.h"
+#include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
 
 namespace webrtc {
 
diff --git a/modules/audio_processing/transient/BUILD.gn b/modules/audio_processing/transient/BUILD.gn
index d8854fa..9df9323 100644
--- a/modules/audio_processing/transient/BUILD.gn
+++ b/modules/audio_processing/transient/BUILD.gn
@@ -52,7 +52,7 @@
     "../../../common_audio:common_audio_c",
     "../../../common_audio:fir_filter",
     "../../../common_audio:fir_filter_factory",
-    "../../../common_audio/third_party/fft4g",
+    "../../../common_audio/third_party/ooura/fft_size_256:fft4g",
     "../../../rtc_base:checks",
     "../../../rtc_base:gtest_prod",
     "../../../rtc_base:logging",
diff --git a/modules/audio_processing/transient/transient_suppressor_impl.cc b/modules/audio_processing/transient/transient_suppressor_impl.cc
index 7990956..d515d30 100644
--- a/modules/audio_processing/transient/transient_suppressor_impl.cc
+++ b/modules/audio_processing/transient/transient_suppressor_impl.cc
@@ -21,7 +21,7 @@
 
 #include "common_audio/include/audio_util.h"
 #include "common_audio/signal_processing/include/signal_processing_library.h"
-#include "common_audio/third_party/fft4g/fft4g.h"
+#include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
 #include "modules/audio_processing/transient/common.h"
 #include "modules/audio_processing/transient/transient_detector.h"
 #include "modules/audio_processing/transient/transient_suppressor.h"
diff --git a/modules/audio_processing/utility/BUILD.gn b/modules/audio_processing/utility/BUILD.gn
index 88d2bbd..437b544 100644
--- a/modules/audio_processing/utility/BUILD.gn
+++ b/modules/audio_processing/utility/BUILD.gn
@@ -30,48 +30,6 @@
   deps = [ "../../../rtc_base:checks" ]
 }
 
-rtc_library("ooura_fft") {
-  sources = [
-    "ooura_fft.cc",
-    "ooura_fft.h",
-    "ooura_fft_tables_common.h",
-  ]
-  deps = [
-    "../../../rtc_base/system:arch",
-    "../../../system_wrappers:cpu_features_api",
-  ]
-  cflags = []
-
-  if (current_cpu == "x86" || current_cpu == "x64") {
-    sources += [
-      "ooura_fft_sse2.cc",
-      "ooura_fft_tables_neon_sse2.h",
-    ]
-    if (is_posix || is_fuchsia) {
-      cflags += [ "-msse2" ]
-    }
-  }
-
-  if (rtc_build_with_neon) {
-    sources += [
-      "ooura_fft_neon.cc",
-      "ooura_fft_tables_neon_sse2.h",
-    ]
-
-    deps += [ "../../../common_audio" ]
-
-    if (current_cpu != "arm64") {
-      # Enable compilation for the NEON instruction set.
-      suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
-      cflags += [ "-mfpu=neon" ]
-    }
-  }
-
-  if (current_cpu == "mipsel" && mips_float_abi == "hard") {
-    sources += [ "ooura_fft_mips.cc" ]
-  }
-}
-
 rtc_library("pffft_wrapper") {
   visibility = [ "../*" ]
   sources = [
diff --git a/modules/audio_processing/vad/BUILD.gn b/modules/audio_processing/vad/BUILD.gn
index c266929..9f48883 100644
--- a/modules/audio_processing/vad/BUILD.gn
+++ b/modules/audio_processing/vad/BUILD.gn
@@ -38,7 +38,7 @@
     "../../../audio/utility:audio_frame_operations",
     "../../../common_audio",
     "../../../common_audio:common_audio_c",
-    "../../../common_audio/third_party/fft4g",
+    "../../../common_audio/third_party/ooura/fft_size_256:fft4g",
     "../../../rtc_base:checks",
     "../../audio_coding:isac_vad",
   ]
diff --git a/modules/audio_processing/vad/vad_audio_proc.cc b/modules/audio_processing/vad/vad_audio_proc.cc
index 53eb6de..97cf651 100644
--- a/modules/audio_processing/vad/vad_audio_proc.cc
+++ b/modules/audio_processing/vad/vad_audio_proc.cc
@@ -14,7 +14,7 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "common_audio/third_party/fft4g/fft4g.h"
+#include "common_audio/third_party/ooura/fft_size_256/fft4g.h"
 #include "modules/audio_processing/vad/pitch_internal.h"
 #include "modules/audio_processing/vad/pole_zero_filter.h"
 #include "modules/audio_processing/vad/vad_audio_proc_internal.h"
diff --git a/tools_webrtc/libs/generate_licenses.py b/tools_webrtc/libs/generate_licenses.py
index 216d3f8..04d655c 100755
--- a/tools_webrtc/libs/generate_licenses.py
+++ b/tools_webrtc/libs/generate_licenses.py
@@ -68,7 +68,7 @@
     'fft': ['modules/third_party/fft/LICENSE'],
     'g711': ['modules/third_party/g711/LICENSE'],
     'g722': ['modules/third_party/g722/LICENSE'],
-    'fft4g': ['common_audio/third_party/fft4g/LICENSE'],
+    'ooura': ['common_audio/third_party/ooura/LICENSE'],
     'spl_sqrt_floor': ['common_audio/third_party/spl_sqrt_floor/LICENSE'],
 
     # TODO(bugs.webrtc.org/1110): Remove this hack. This is not a lib.