Title: [268002] trunk/Source/WebCore
- Revision
- 268002
- Author
- cdu...@apple.com
- Date
- 2020-10-05 14:29:45 -0700 (Mon, 05 Oct 2020)
Log Message
Use memset to zero vectors in PeriodicWave::createBandLimitedTables()
https://bugs.webkit.org/show_bug.cgi?id=217328
Reviewed by Darin Adler.
Use memset to zero vectors in PeriodicWave::createBandLimitedTables() instead of a for
loop, for performance reasons.
No new tests, no Web-facing behavior change.
* Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::createBandLimitedTables):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (268001 => 268002)
--- trunk/Source/WebCore/ChangeLog 2020-10-05 21:15:53 UTC (rev 268001)
+++ trunk/Source/WebCore/ChangeLog 2020-10-05 21:29:45 UTC (rev 268002)
@@ -1,5 +1,20 @@
2020-10-05 Chris Dumez <cdu...@apple.com>
+ Use memset to zero vectors in PeriodicWave::createBandLimitedTables()
+ https://bugs.webkit.org/show_bug.cgi?id=217328
+
+ Reviewed by Darin Adler.
+
+ Use memset to zero vectors in PeriodicWave::createBandLimitedTables() instead of a for
+ loop, for performance reasons.
+
+ No new tests, no Web-facing behavior change.
+
+ * Modules/webaudio/PeriodicWave.cpp:
+ (WebCore::PeriodicWave::createBandLimitedTables):
+
+2020-10-05 Chris Dumez <cdu...@apple.com>
+
Use tryHoldLock() in WebAudio to simplify the code
https://bugs.webkit.org/show_bug.cgi?id=217332
Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp (268001 => 268002)
--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp 2020-10-05 21:15:53 UTC (rev 268001)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp 2020-10-05 21:29:45 UTC (rev 268002)
@@ -190,7 +190,6 @@
unsigned fftSize = periodicWaveSize();
unsigned halfSize = fftSize / 2;
- unsigned i;
numberOfComponents = std::min(numberOfComponents, halfSize);
@@ -215,9 +214,11 @@
// If fewer components were provided than 1/2 FFT size, then clear the
// remaining bins. We also need to cull the aliasing partials for this
// pitch range.
- for (i = std::min(numberOfComponents, numberOfPartials + 1); i < halfSize; ++i) {
- realP[i] = 0;
- imagP[i] = 0;
+ unsigned clampedNumberOfComponents = std::min(numberOfComponents, numberOfPartials + 1);
+ if (clampedNumberOfComponents < halfSize) {
+ size_t numBytes = (halfSize - clampedNumberOfComponents) * sizeof(float);
+ memset(&realP[clampedNumberOfComponents], 0, numBytes);
+ memset(&imagP[clampedNumberOfComponents], 0, numBytes);
}
// Clear packed-nyquist and any DC-offset.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes