Add support for using ARM FFT in WebAudio
https://bugs.webkit.org/show_bug.cgi?id=109755
Reviewed by Chris Rogers.
Source/WebCore:
No new tests.
* WebCore.gyp/WebCore.gyp: Add dependency on openmax_dl when use_openmax_dl_fft is enabled.
* WebCore.gypi: Add source FFTFrameOpenMAXDLAndroid.cpp
* platform/audio/AudioArray.h:
(WebCore::AudioArray::allocate): Need 32-byte aligntment with the
OpenMAX DL FFT.
* platform/audio/FFTFrame.h:
(FFTFrame): Support OpenMAX DL FFT
* platform/audio/FFTFrameStub.cpp: Support OpenMAX DL FFT
* platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Added. Implements the
necessary interface using the OpenMAX DL FFT routines.
(WebCore):
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::initialize):
(WebCore::FFTFrame::cleanup):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::multiply):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
(WebCore::FFTFrame::realData):
(WebCore::FFTFrame::imagData):
(WebCore::FFTFrame::contextForSize):
Source/WebKit/chromium:
* features.gypi: Support building with the OpenMAX DL FFT.
git-svn-id: svn://svn.chromium.org/blink/trunk@147491 bbb929c8-8fbe-4397-9dbb-9b2b20218538
9 files changed