Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: webrtc/modules/audio_processing/utility/ooura_fft.h

Issue 2348213002: Move the aec_rdft* files to a more proper place beneath APM and make them thread-safe. (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_H_
12 #define WEBRTC_MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_H_
13
14 #include "webrtc/typedefs.h"
15
16 namespace webrtc {
17
18 #if defined(WEBRTC_ARCH_X86_FAMILY)
19 void cft1st_128_SSE2(float* a);
20 void cftmdl_128_SSE2(float* a);
21 void rftfsub_128_SSE2(float* a);
22 void rftbsub_128_SSE2(float* a);
23 #endif
24
25 #if defined(MIPS_FPU_LE)
26 void cft1st_128_mips(float* a);
27 void cftmdl_128_mips(float* a);
28 void rftfsub_128_mips(float* a);
29 void rftbsub_128_mips(float* a);
30 #endif
31
32 #if defined(WEBRTC_HAS_NEON)
33 void cft1st_128_neon(float* a);
34 void cftmdl_128_neon(float* a);
35 void rftfsub_128_neon(float* a);
36 void rftbsub_128_neon(float* a);
37 #endif
38
39 class OouraFft {
40 public:
41 OouraFft();
42 ~OouraFft();
43 void Fft(float* a) const;
44 void InverseFft(float* a) const;
45
46 private:
47 void cft1st_128(float* a) const;
48 void cftmdl_128(float* a) const;
49 void rftfsub_128(float* a) const;
50 void rftbsub_128(float* a) const;
51
52 void cftfsub_128(float* a) const;
53 void cftbsub_128(float* a) const;
54 void bitrv2_128(float* a) const;
55 bool use_sse2_;
56 };
57
58 } // namespace webrtc
59
60 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_UTILITY_OOURA_FFT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698