Changeset 107025 in webkit


Ignore:
Timestamp:
Feb 7, 2012 6:51:57 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Enable IPP for FFTFrame
https://bugs.webkit.org/show_bug.cgi?id=75522

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-02-07
Reviewed by Tony Chang.

Add the FFTFrame implementation using Intel IPP's DFT algorithm.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/audio/FFTFrame.h:

(FFTFrame):

  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/ipp/FFTFrameIPP.cpp: Added.

(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::getUpToDateComplexData):

Location:
trunk/Source/WebCore
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r107024 r107025  
     12012-02-07  Xingnan Wang  <xingnan.wang@intel.com>
     2
     3        Enable IPP for FFTFrame
     4        https://bugs.webkit.org/show_bug.cgi?id=75522
     5
     6        Reviewed by Tony Chang.
     7
     8        Add the FFTFrame implementation using Intel IPP's DFT algorithm.
     9
     10        * WebCore.gyp/WebCore.gyp:
     11        * WebCore.gypi:
     12        * platform/audio/FFTFrame.h:
     13        (FFTFrame):
     14        * platform/audio/FFTFrameStub.cpp:
     15        * platform/audio/ipp/FFTFrameIPP.cpp: Added.
     16        (WebCore):
     17        (WebCore::FFTFrame::FFTFrame):
     18        (WebCore::FFTFrame::initialize):
     19        (WebCore::FFTFrame::cleanup):
     20        (WebCore::FFTFrame::~FFTFrame):
     21        (WebCore::FFTFrame::multiply):
     22        (WebCore::FFTFrame::doFFT):
     23        (WebCore::FFTFrame::doInverseFFT):
     24        (WebCore::FFTFrame::realData):
     25        (WebCore::FFTFrame::imagData):
     26        (WebCore::FFTFrame::getUpToDateComplexData):
     27
    1282012-02-07  Adrienne Walker  <enne@google.com>
    229
  • trunk/Source/WebCore/WebCore.gyp/WebCore.gyp

    r106391 r107025  
    11461146          },
    11471147        }],
     1148        ['OS=="linux" and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
     1149          'cflags': [
     1150            '<!@(pkg-config --cflags-only-I ipp)',
     1151          ],
     1152        }],
    11481153      ],
    11491154    },
     
    13481353          },
    13491354        }],
     1355        ['OS=="linux" and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
     1356          'direct_dependent_settings': {
     1357            'cflags': [
     1358              '<!@(pkg-config --cflags-only-I ipp)',
     1359            ],
     1360          },
     1361        }],
    13501362        ['OS != "android" and "WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
    13511363          # This directory needs to be on the include path for multiple sub-targets of webcore.
     
    19861998          },
    19871999        }],
     2000        ['OS=="linux" and "WTF_USE_WEBAUDIO_IPP=1" in feature_defines', {
     2001          'link_settings': {
     2002            'ldflags': [
     2003              '<!@(pkg-config --libs-only-L ipp)',
     2004            ],
     2005            'libraries': [
     2006              '-lipps -lippcore',
     2007            ],
     2008          },
     2009        }],
    19882010        ['enable_svg!=0', {
    19892011          'dependencies': [
  • trunk/Source/WebCore/WebCore.gypi

    r106953 r107025  
    28732873            'platform/audio/mac/FFTFrameMac.cpp',
    28742874            'platform/audio/mkl/FFTFrameMKL.cpp',
     2875            'platform/audio/ipp/FFTFrameIPP.cpp',
    28752876            'platform/cf/BinaryPropertyList.cpp',
    28762877            'platform/cf/FileSystemCF.cpp',
  • trunk/Source/WebCore/platform/audio/FFTFrame.h

    r106537 r107025  
    6060
    6161#endif // !USE_ACCELERATE_FFT
     62
     63#if USE(WEBAUDIO_IPP)
     64#include <ipps.h>
     65#endif // USE(WEBAUDIO_IPP)
    6266
    6367#include <wtf/PassOwnPtr.h>
     
    162166#endif // USE(WEBAUDIO_GSTREAMER)
    163167
     168#if USE(WEBAUDIO_IPP)
     169    Ipp8u* m_buffer;
     170    IppsDFTSpec_R_32f* m_DFTSpec;
     171
     172    float* getUpToDateComplexData();
     173    AudioFloatArray m_complexData;
     174    AudioFloatArray m_realData;
     175    AudioFloatArray m_imagData;
     176#endif // USE(WEBAUDIO_IPP)
     177
    164178#endif // !USE_ACCELERATE_FFT
    165179};
  • trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp

    r106537 r107025  
    3030#if ENABLE(WEB_AUDIO)
    3131
    32 #if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG) && !USE(WEBAUDIO_GSTREAMER)
     32#if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG) && !USE(WEBAUDIO_GSTREAMER) && !USE(WEBAUDIO_IPP)
    3333
    3434#include "FFTFrame.h"
     
    103103} // namespace WebCore
    104104
    105 #endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_GSTREAMER)
     105#endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG) && !USE(WEBAUDIO_GSTREAMER) && !USE(WEBAUDIO_IPP)
    106106
    107107#endif // ENABLE(WEB_AUDIO)
Note: See TracChangeset for help on using the changeset viewer.