Skip to content
  • commit-queue@webkit.org's avatar
    Check parameters to biquad filters · 183b9cc4
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=71413
    
    Source/WebCore:
    
    Patch by Raymond Toy <rtoy@google.com> on 2012-02-02
    Reviewed by Kenneth Russell.
    
    Tests added for each filter type and for the limiting cases for
    each filter type.
    
    * platform/audio/Biquad.cpp:
    (WebCore::Biquad::setLowpassParams):
    (WebCore::Biquad::setHighpassParams):
    (WebCore::Biquad::setLowShelfParams):
    (WebCore::Biquad::setHighShelfParams):
    (WebCore::Biquad::setPeakingParams):
    (WebCore::Biquad::setAllpassParams):
    (WebCore::Biquad::setNotchParams):
    (WebCore::Biquad::setBandpassParams):
    Check for invalid parameters and clip them to something sensible.
    Also check for the limiting cases and try to use the limiting form
    of the z-transform for the biquad.  Some issues cannot be
    consistently handled because the z-transform is not continuous as
    the parameters approach the limit.
    
    LayoutTests:
    
    Patch by Raymond Toy <rtoy@chromium.org> on 2012-02-02
    Reviewed by Kenneth Russell.
    
    * webaudio/biquad-allpass-expected.txt: Added
    * webaudio/biquad-allpass.html: Added
    * webaudio/biquad-bandpass-expected.txt: Added
    * webaudio/biquad-bandpass.html: Added
    * webaudio/biquad-highpass-expected.txt: Added
    * webaudio/biquad-highpass.html: Added
    * webaudio/biquad-highshelf-expected.txt: Added
    * webaudio/biquad-highshelf.html: Added
    * webaudio/biquad-lowpass-expected.txt: Added
    * webaudio/biquad-lowpass.html: Added
    * webaudio/biquad-lowshelf-expected.txt: Added
    * webaudio/biquad-lowshelf.html: Added
    * webaudio/biquad-notch-expected.txt: Added
    * webaudio/biquad-notch.html: Added
    * webaudio/biquad-peaking-expected.txt: Added
    * webaudio/biquad-peaking.html: Added
    * webaudio/resources/biquad-testing.js: Added
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    183b9cc4