Changeset 106537 in webkit


Ignore:
Timestamp:
Feb 2, 2012 12:04:02 AM (12 years ago)
Author:
Philippe Normand
Message:

[GStreamer] FFTFrame implementation
https://bugs.webkit.org/show_bug.cgi?id=73545

Reviewed by Chris Rogers.

.:

  • configure.ac: Enable the WebAudio option again and remove

libfftw checks.

Source/WebCore:

FFTFrame implementation based on GStreamer's FFT processing
library.

No new tests, existing WebAudio tests cover this.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.

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

Source/WebKit/gtk:

  • GNUmakefile.am: Remove libfftw compilation flags.

Source/WebKit2:

  • GNUmakefile.am: Remove libfftw compilation flags.

LayoutTests:

  • webaudio/resources/convolution-testing.js:

(checkTail1): Adapt convolution threshold for GStreamerFFTFrame
implementation, as advised by Chris Rogers.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r106436 r106537  
     12012-02-01  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] FFTFrame implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=73545
     5
     6        Reviewed by Chris Rogers.
     7
     8        * configure.ac: Enable the WebAudio option again and remove
     9        libfftw checks.
     10
    1112012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
    212
  • trunk/LayoutTests/ChangeLog

    r106531 r106537  
     12012-02-01  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] FFTFrame implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=73545
     5
     6        Reviewed by Chris Rogers.
     7
     8        * webaudio/resources/convolution-testing.js:
     9        (checkTail1): Adapt convolution threshold for GStreamerFFTFrame
     10        implementation, as advised by Chris Rogers.
     11
    1122012-02-01  Eric Carlson  <eric.carlson@apple.com>
    213
  • trunk/LayoutTests/webaudio/resources/convolution-testing.js

    r104476 r106537  
    128128    // This threshold is experimentally determined by examining the
    129129    // value of tail1MaxDecibels.
    130     var threshold1 = -146.7;
     130    var threshold1 = -129.7;
    131131
    132132    var tail1MaxDecibels = linearToDecibel(tail1Max/refMax);
     
    134134        testPassed("First part of tail of convolution is sufficiently small.");
    135135    } else {
    136         testFailed("First part of tail of convolution is not sufficiently small: " + tail1Max + " dB");
     136        testFailed("First part of tail of convolution is not sufficiently small: " + tail1MaxDecibels + " dB");
    137137        isZero = false;
    138138    }
  • trunk/Source/WebCore/ChangeLog

    r106536 r106537  
     12012-02-01  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] FFTFrame implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=73545
     5
     6        Reviewed by Chris Rogers.
     7
     8        FFTFrame implementation based on GStreamer's FFT processing
     9        library.
     10
     11        No new tests, existing WebAudio tests cover this.
     12
     13        * GNUmakefile.am:
     14        * GNUmakefile.list.am:
     15        * platform/audio/FFTFrame.h:
     16        * platform/audio/FFTFrameStub.cpp:
     17        * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
     18        (WebCore::FFTFrame::FFTFrame):
     19        (WebCore::FFTFrame::initialize):
     20        (WebCore::FFTFrame::cleanup):
     21        (WebCore::FFTFrame::~FFTFrame):
     22        (WebCore::FFTFrame::multiply):
     23        (WebCore::FFTFrame::doFFT):
     24        (WebCore::FFTFrame::doInverseFFT):
     25        (WebCore::FFTFrame::realData):
     26        (WebCore::FFTFrame::imagData):
     27
    1282012-02-02  Kentaro Hara  <haraken@chromium.org>
    229
  • trunk/Source/WebCore/GNUmakefile.am

    r106240 r106537  
    513513endif
    514514
     515if USE_WEBAUDIO_GSTREAMER
     516webcore_cppflags += -DWTF_USE_WEBAUDIO_GSTREAMER=1
     517endif
     518
    515519# ----
    516520# Web Sockets Support
     
    872876        $(GTK_CFLAGS) \
    873877        $(HILDON_CFLAGS) \
    874         $(LIBFFTW_CFLAGS) \
    875878        $(LIBSOUP_CFLAGS) \
    876879        $(LIBXML_CFLAGS) \
  • trunk/Source/WebCore/GNUmakefile.list.am

    r106373 r106537  
    54155415        Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.h \
    54165416        Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp \
     5417        Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp \
    54175418        Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp \
    54185419        Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h \
  • trunk/Source/WebCore/platform/audio/FFTFrame.h

    r105431 r106537  
    4747#include "mkl_dfti.h"
    4848#endif // USE(WEBAUDIO_MKL)
     49
     50#if USE(WEBAUDIO_GSTREAMER)
     51#include <glib.h>
     52G_BEGIN_DECLS
     53#include <gst/fft/gstfftf32.h>
     54G_END_DECLS
     55#endif // USE(WEBAUDIO_GSTREAMER)
    4956
    5057#if USE(WEBAUDIO_FFMPEG)
     
    147154#endif // USE(WEBAUDIO_FFMPEG)
    148155
     156#if USE(WEBAUDIO_GSTREAMER)
     157    GstFFTF32* m_fft;
     158    GstFFTF32* m_inverseFft;
     159    GstFFTF32Complex* m_complexData;
     160    AudioFloatArray m_realData;
     161    AudioFloatArray m_imagData;
     162#endif // USE(WEBAUDIO_GSTREAMER)
     163
    149164#endif // !USE_ACCELERATE_FFT
    150165};
  • trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp

    r102622 r106537  
    3030#if ENABLE(WEB_AUDIO)
    3131
    32 #if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG)
     32#if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG) && !USE(WEBAUDIO_GSTREAMER)
    3333
    3434#include "FFTFrame.h"
     
    103103} // namespace WebCore
    104104
    105 #endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL)
     105#endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_GSTREAMER)
    106106
    107107#endif // ENABLE(WEB_AUDIO)
  • trunk/Source/WebKit/gtk/ChangeLog

    r106467 r106537  
     12012-02-01  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] FFTFrame implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=73545
     5
     6        Reviewed by Chris Rogers.
     7
     8        * GNUmakefile.am: Remove libfftw compilation flags.
     9
    1102012-02-01  Philippe Normand  <pnormand@igalia.com>
    211
  • trunk/Source/WebKit/gtk/GNUmakefile.am

    r105326 r106537  
    6969        $(GTK_CFLAGS) \
    7070        $(HILDON_CFLAGS) \
    71         $(LIBFFTW_CFLAGS) \
    7271        $(LIBSOUP_CFLAGS) \
    7372        $(LIBXML_CFLAGS) \
     
    102101        $(HILDON_LIBS) \
    103102        $(JPEG_LIBS) \
    104         $(LIBFFTW_LIBS) \
    105103        $(LIBSOUP_LIBS) \
    106104        $(LIBXML_LIBS) \
  • trunk/Source/WebKit2/ChangeLog

    r106524 r106537  
     12012-02-01  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] FFTFrame implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=73545
     5
     6        Reviewed by Chris Rogers.
     7
     8        * GNUmakefile.am: Remove libfftw compilation flags.
     9
    1102012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
    211
  • trunk/Source/WebKit2/GNUmakefile.am

    r106240 r106537  
    14801480        $(XT_LIBS) \
    14811481        $(WINMM_LIBS) \
    1482         $(LIBFFTW_LIBS) \
    14831482        $(ZLIB_LIBS)
    14841483
  • trunk/configure.ac

    r106346 r106537  
    785785
    786786# check whether to enable Web Audio support
    787 enable_web_audio=no
     787AC_MSG_CHECKING([whether to enable Web Audio support])
     788AC_ARG_ENABLE(web_audio,
     789              AC_HELP_STRING([--enable-web-audio],
     790                             [enable support for Web Audio [default=no]]),
     791              [],[enable_web_audio="no"])
    788792AC_MSG_RESULT([$enable_web_audio])
    789793
     
    10531057                     gstreamer-app-$GST_API_VERSION
    10541058                     gstreamer-audio-$GST_API_VERSION
     1059                     gstreamer-fft-$GST_API_VERSION
    10551060                     gstreamer-base-$GST_API_VERSION
    10561061                     gstreamer-interfaces-$GST_API_VERSION
     
    10641069fi
    10651070
    1066 # check if libfftw is available
    1067 if test "$enable_web_audio" = "yes"; then
    1068    PKG_CHECK_MODULES([LIBFFTW],
    1069                      [fftw3 >= $LIBFFTW_REQUIRED_VERSION
    1070                      fftw3f >= $LIBFFTW_REQUIRED_VERSION],
    1071                      [have_fftw=yes])
    1072 
    1073     AC_SUBST([LIBFFTW_CFLAGS])
    1074     AC_SUBST([LIBFFTW_LIBS])
    1075 fi
    10761071
    10771072if test "$with_accelerated_compositing" = "clutter"; then
     
    11751170# GStreamer feature conditional
    11761171AM_CONDITIONAL([USE_GSTREAMER], [test "$have_gstreamer" = "yes"])
     1172AM_CONDITIONAL([USE_WEBAUDIO_GSTREAMER], [test "$enable_web_audio" = "yes"])
    11771173
    11781174# ATSPI2 conditional
Note: See TracChangeset for help on using the changeset viewer.