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

Unified Diff: Source/platform/audio/FFTFrame.h

Issue 536843002: Change members's order and combine duplicated method for FFTFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Separated using VectorMatch::vsmul from FFTFrameMac.cpp Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/platform/audio/FFTFrame.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/audio/FFTFrame.h
diff --git a/Source/platform/audio/FFTFrame.h b/Source/platform/audio/FFTFrame.h
index 99db2b98f635b77553d4d4e97b49c9e5c441035f..81162093f1d125ccfd7b46af3faa95565a8a38aa 100644
--- a/Source/platform/audio/FFTFrame.h
+++ b/Source/platform/audio/FFTFrame.h
@@ -31,6 +31,9 @@
#include "platform/PlatformExport.h"
#include "platform/audio/AudioArray.h"
+#include "wtf/Forward.h"
+#include "wtf/PassOwnPtr.h"
+#include "wtf/Threading.h"
#if OS(MACOSX)
#include <Accelerate/Accelerate.h>
@@ -38,15 +41,9 @@
#include <dl/sp/api/omxSP.h>
#elif USE(WEBAUDIO_FFMPEG)
struct RDFTContext;
-#endif
-
-#if USE(WEBAUDIO_IPP)
+#elif USE(WEBAUDIO_IPP)
#include <ipps.h>
-#endif // USE(WEBAUDIO_IPP)
-
-#include "wtf/Forward.h"
-#include "wtf/PassOwnPtr.h"
-#include "wtf/Threading.h"
+#endif
namespace blink {
@@ -67,80 +64,58 @@ public:
void doFFT(const float* data);
void doInverseFFT(float* data);
- float* realData() const;
- float* imagData() const;
+ float* realData() const { return const_cast<float*>(m_realData.data()); }
+ float* imagData() const { return const_cast<float*>(m_imagData.data()); }
- void print(); // for debugging
+ unsigned fftSize() const { return m_FFTSize; }
+ unsigned log2FFTSize() const { return m_log2FFTSize; }
// CROSS-PLATFORM
// The remaining public methods have cross-platform implementations:
// Interpolates from frame1 -> frame2 as x goes from 0.0 -> 1.0
static PassOwnPtr<FFTFrame> createInterpolatedFrame(const FFTFrame& frame1, const FFTFrame& frame2, double x);
-
void doPaddedFFT(const float* data, size_t dataSize); // zero-padding with dataSize <= fftSize
double extractAverageGroupDelay();
void addConstantGroupDelay(double sampleFrameDelay);
void multiply(const FFTFrame&); // multiplies ourself with frame : effectively operator*=()
- unsigned fftSize() const { return m_FFTSize; }
- unsigned log2FFTSize() const { return m_log2FFTSize; }
+#ifndef NDEBUG
+ void print(); // for debugging
+#endif
private:
+ void interpolateFrequencyComponents(const FFTFrame& frame1, const FFTFrame& frame2, double x);
+
unsigned m_FFTSize;
unsigned m_log2FFTSize;
-
- void interpolateFrequencyComponents(const FFTFrame& frame1, const FFTFrame& frame2, double x);
+ AudioFloatArray m_realData;
+ AudioFloatArray m_imagData;
#if OS(MACOSX)
DSPSplitComplex& dspSplitComplex() { return m_frame; }
DSPSplitComplex dspSplitComplex() const { return m_frame; }
-
static FFTSetup fftSetupForSize(unsigned fftSize);
-
static FFTSetup* fftSetups;
-
FFTSetup m_FFTSetup;
-
DSPSplitComplex m_frame;
- AudioFloatArray m_realData;
- AudioFloatArray m_imagData;
-#else // !OS(MACOSX)
-
-#if USE(WEBAUDIO_FFMPEG)
+#elif USE(WEBAUDIO_FFMPEG)
static RDFTContext* contextForSize(unsigned fftSize, int trans);
-
RDFTContext* m_forwardContext;
RDFTContext* m_inverseContext;
-
float* getUpToDateComplexData();
AudioFloatArray m_complexData;
- AudioFloatArray m_realData;
- AudioFloatArray m_imagData;
-#endif // USE(WEBAUDIO_FFMPEG)
-
-#if USE(WEBAUDIO_IPP)
+#elif USE(WEBAUDIO_IPP)
Ipp8u* m_buffer;
IppsDFTSpec_R_32f* m_DFTSpec;
-
float* getUpToDateComplexData();
AudioFloatArray m_complexData;
- AudioFloatArray m_realData;
- AudioFloatArray m_imagData;
-#endif // USE(WEBAUDIO_IPP)
-
-#if USE(WEBAUDIO_OPENMAX_DL_FFT)
+#elif USE(WEBAUDIO_OPENMAX_DL_FFT)
static OMXFFTSpec_R_F32* contextForSize(unsigned log2FFTSize);
-
OMXFFTSpec_R_F32* m_forwardContext;
OMXFFTSpec_R_F32* m_inverseContext;
-
AudioFloatArray m_complexData;
- AudioFloatArray m_realData;
- AudioFloatArray m_imagData;
#endif
-
-#endif // !OS(MACOSX)
};
} // namespace blink
« no previous file with comments | « no previous file | Source/platform/audio/FFTFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698