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

Issue 2919503002: Revert of Compute tail time from Biquad coefficients (Closed)

Created:
3 years, 6 months ago by kjellander_chromium
Modified:
3 years, 6 months ago
Reviewers:
hongchan, Raymond Toy
CC:
chromium-reviews, haraken, blink-reviews, kinuko+watch, Raymond Toy, hongchan
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Compute tail time from Biquad coefficients (patchset #7 id:120001 of https://codereview.chromium.org/2862373002/ ) Reason for revert: Breaks WebKit Linux Trusty MSAN: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20MSAN/builds/1242 Original issue's description: > Compute tail time from Biquad coefficients > > Instead of using a fixed tail time of 200 ms for all biquad filters, > we compute the actual tail time from filter coefficients. Many > typical filters in applications have a tail time of 10 ms or less. > This allows biquads and downstream nodes to stop processing much sooner > than what currently happens, reducing CPU usage and allowing GC to > collect nodes sooner. > > BUG=612215 > TEST= > > Review-Url: https://codereview.chromium.org/2862373002 > Cr-Commit-Position: refs/heads/master@{#475632} > Committed: https://chromium.googlesource.com/chromium/src/+/0be695dcb495cade0ed5c4b70aba95eb3dce49bd TBR=hongchan@chromium.org,rtoy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612215

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -1277 lines) Patch
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-allpass.html View 1 chunk +0 lines, -103 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-bandpass.html View 1 chunk +0 lines, -95 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-highpass.html View 1 chunk +0 lines, -116 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-highshelf.html View 1 chunk +0 lines, -81 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-lowpass.html View 1 chunk +0 lines, -168 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-lowshelf.html View 1 chunk +0 lines, -83 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-notch.html View 1 chunk +0 lines, -98 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/tail-time-peaking.html View 1 chunk +0 lines, -115 lines 0 comments Download
D third_party/WebKit/LayoutTests/webaudio/BiquadFilter/test-tail-time.js View 1 chunk +0 lines, -90 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/resources/audit-util.js View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.h View 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp View 3 chunks +8 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/Biquad.h View 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/Biquad.cpp View 1 chunk +0 lines, -294 lines 0 comments Download

Messages

Total messages: 11 (5 generated)
kjellander_chromium
Created Revert of Compute tail time from Biquad coefficients
3 years, 6 months ago (2017-05-31 13:16:26 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2919503002/1
3 years, 6 months ago (2017-05-31 13:16:39 UTC) #3
commit-bot: I haz the power
Failed to apply patch for third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp: While running git apply --index -3 -p1; error: patch ...
3 years, 6 months ago (2017-05-31 13:16:58 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2919503002/1
3 years, 6 months ago (2017-05-31 13:17:54 UTC) #8
commit-bot: I haz the power
Failed to apply patch for third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp: While running git apply --index -3 -p1; error: patch ...
3 years, 6 months ago (2017-05-31 13:18:09 UTC) #10
kjellander_chromium
3 years, 6 months ago (2017-05-31 17:31:02 UTC) #11
On 2017/05/31 13:18:09, commit-bot: I haz the power wrote:
> Failed to apply patch for
> third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp:
> While running git apply --index -3 -p1;
>   error: patch failed:
> third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp:31
>   error: repository lacks the necessary blob to fall back on 3-way merge.
>   error: third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp: patch
> does not apply
> 
> Patch:       third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> Index: third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> diff --git a/third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> b/third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> index
>
e45539e60f03b6d33cdcb838976eb8a5658f2f6a..e5384a5606c81133918d0a94324a91ec930483aa
> 100644
> --- a/third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> +++ b/third_party/WebKit/Source/modules/webaudio/BiquadDSPKernel.cpp
> @@ -31,6 +31,13 @@
>  
>  namespace blink {
>  
> +// FIXME: As a recursive linear filter, depending on its parameters, a biquad
> +// filter can have an infinite tailTime. In practice, Biquad filters do not
> +// usually (except for very high resonance values) have a tailTime of longer
> +// than approx. 200ms. This value could possibly be calculated based on the
> +// settings of the Biquad.
> +static const double kMaxBiquadDelayTime = 0.2;
> +
>  void BiquadDSPKernel::UpdateCoefficientsIfNecessary(int frames_to_process) {
>    if (GetBiquadProcessor()->FilterCoefficientsDirty()) {
>      float cutoff_frequency[AudioUtilities::kRenderQuantumFrames];
> @@ -114,23 +121,6 @@
>          break;
>      }
>    }
> -
> -  UpdateTailTime(number_of_frames - 1);
> -}
> -
> -void BiquadDSPKernel::UpdateTailTime(int coef_index) {
> -  // A reasonable upper limit for the tail time.  While it's easy to
> -  // create biquad filters whose tail time can be much larger than
> -  // this, limit the maximum to this value so that we don't keep such
> -  // nodes alive "forever".
> -  // TODO: What is a reasonable upper limit?
> -  const double kMaxTailTime = 30;
> -
> -  double sample_rate = SampleRate();
> -  double tail =
> -      biquad_.TailFrame(coef_index, kMaxTailTime * sample_rate) /
sample_rate;
> -
> -  tail_time_ = clampTo(tail, 0.0, kMaxTailTime);
>  }
>  
>  void BiquadDSPKernel::Process(const float* source,
> @@ -209,7 +199,7 @@
>  }
>  
>  double BiquadDSPKernel::TailTime() const {
> -  return tail_time_;
> +  return kMaxBiquadDelayTime;
>  }
>  
>  double BiquadDSPKernel::LatencyTime() const {

Sorry about the spam, I didn't realize this was already reverted and that this
bot had 5 hour cycle times. I'll make sure to check more carefully next time.

Powered by Google App Engine
This is Rietveld 408576698