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

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

Issue 176843021: Remove redundancies of multiply() in FFTFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 9 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 | « Source/platform/audio/FFTFrame.h ('k') | Source/platform/audio/FFTFrameStub.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/audio/FFTFrame.cpp
diff --git a/Source/platform/audio/FFTFrame.cpp b/Source/platform/audio/FFTFrame.cpp
index 58df785fbd2f3cb7da97c2625d5ba5c05b34e670..806a148d30cfbfc3e0c7ea78e6205f9608055a7a 100644
--- a/Source/platform/audio/FFTFrame.cpp
+++ b/Source/platform/audio/FFTFrame.cpp
@@ -32,6 +32,8 @@
#include "platform/audio/FFTFrame.h"
+#include "platform/audio/VectorMath.h"
+
#ifndef NDEBUG
#include <stdio.h>
#endif
@@ -259,6 +261,27 @@ void FFTFrame::addConstantGroupDelay(double sampleFrameDelay)
}
}
+void FFTFrame::multiply(const FFTFrame& frame)
+{
+ FFTFrame& frame1 = *this;
+ FFTFrame& frame2 = const_cast<FFTFrame&>(frame);
+
+ float* realP1 = frame1.realData();
+ float* imagP1 = frame1.imagData();
+ const float* realP2 = frame2.realData();
+ const float* imagP2 = frame2.imagData();
+
+ unsigned halfSize = fftSize() / 2;
+ float real0 = realP1[0];
+ float imag0 = imagP1[0];
+
+ VectorMath::zvmul(realP1, imagP1, realP2, imagP2, realP1, imagP1, halfSize);
+
+ // Multiply the packed DC/nyquist component
+ realP1[0] = real0 * realP2[0];
+ imagP1[0] = imag0 * imagP2[0];
+}
+
#ifndef NDEBUG
void FFTFrame::print()
{
« no previous file with comments | « Source/platform/audio/FFTFrame.h ('k') | Source/platform/audio/FFTFrameStub.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698