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

Unified Diff: third_party/WebKit/Source/platform/audio/SincResampler.cpp

Issue 2384073002: reflow comments in platform/audio (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/audio/SincResampler.cpp
diff --git a/third_party/WebKit/Source/platform/audio/SincResampler.cpp b/third_party/WebKit/Source/platform/audio/SincResampler.cpp
index e8f045c018e0b347ada78e42bef88db4374cc18d..e84ffa17e1def61786842dd35ad75ab1a2aba33c 100644
--- a/third_party/WebKit/Source/platform/audio/SincResampler.cpp
+++ b/third_party/WebKit/Source/platform/audio/SincResampler.cpp
@@ -37,30 +37,32 @@
// Input buffer layout, dividing the total buffer into regions (r0 - r5):
//
-// |----------------|----------------------------------------------------------------|----------------|
+// |----------------|-----------------------------------------|----------------|
//
-// blockSize + kernelSize / 2
-// <-------------------------------------------------------------------------------->
-// r0
+// blockSize + kernelSize / 2
+// <--------------------------------------------------------->
+// r0
//
-// kernelSize / 2 kernelSize / 2 kernelSize / 2 kernelSize / 2
-// <---------------> <---------------> <---------------> <--------------->
-// r1 r2 r3 r4
+// kernelSize / 2 kernelSize / 2 kernelSize / 2 kernelSize / 2
+// <---------------> <---------------> <---------------> <--------------->
+// r1 r2 r3 r4
//
-// blockSize
-// <-------------------------------------------------------------->
-// r5
+// blockSize
+// <-------------------------------------------->
dcheng 2016/10/03 01:21:04 Is the original alignment here intentional? r5 lin
Nico 2016/10/03 02:15:24 Done. (Yes: r0 is blockSize + kernelSize / 2 large
+// r5
// The Algorithm:
//
// 1) Consume input frames into r0 (r1 is zero-initialized).
-// 2) Position kernel centered at start of r0 (r2) and generate output frames until kernel is centered at start of r4.
-// or we've finished generating all the output frames.
+// 2) Position kernel centered at start of r0 (r2) and generate output frames
+// until kernel is centered at start of r4, or we've finished generating
+// all the output frames.
// 3) Copy r3 to r1 and r4 to r2.
// 4) Consume input frames into r5 (zero-pad if we run out of input).
// 5) Goto (2) until all of input is consumed.
//
-// note: we're glossing over how the sub-sample handling works with m_virtualSourceIndex, etc.
+// note: we're glossing over how the sub-sample handling works with
+// m_virtualSourceIndex, etc.
namespace blink {
@@ -90,13 +92,16 @@ void SincResampler::initializeKernel() {
double a1 = 0.5;
double a2 = 0.5 * alpha;
- // sincScaleFactor is basically the normalized cutoff frequency of the low-pass filter.
+ // sincScaleFactor is basically the normalized cutoff frequency of the
+ // low-pass filter.
double sincScaleFactor = m_scaleFactor > 1.0 ? 1.0 / m_scaleFactor : 1.0;
- // The sinc function is an idealized brick-wall filter, but since we're windowing it the
- // transition from pass to stop does not happen right away. So we should adjust the
- // lowpass filter cutoff slightly downward to avoid some aliasing at the very high-end.
- // FIXME: this value is empirical and to be more exact should vary depending on m_kernelSize.
+ // The sinc function is an idealized brick-wall filter, but since we're
+ // windowing it the transition from pass to stop does not happen right away.
+ // So we should adjust the lowpass filter cutoff slightly downward to avoid
+ // some aliasing at the very high-end.
+ // FIXME: this value is empirical and to be more exact should vary depending
+ // on m_kernelSize.
sincScaleFactor *= 0.9;
int n = m_kernelSize;
@@ -230,7 +235,8 @@ void SincResampler::process(AudioSourceProvider* sourceProvider,
while (numberOfDestinationFrames) {
while (m_virtualSourceIndex < m_blockSize) {
- // m_virtualSourceIndex lies in between two kernel offsets so figure out what they are.
+ // m_virtualSourceIndex lies in between two kernel offsets so figure out
+ // what they are.
int sourceIndexI = static_cast<int>(m_virtualSourceIndex);
double subsampleRemainder = m_virtualSourceIndex - sourceIndexI;
@@ -243,7 +249,8 @@ void SincResampler::process(AudioSourceProvider* sourceProvider,
// Initialize input pointer based on quantized m_virtualSourceIndex.
float* inputP = r1 + sourceIndexI;
- // We'll compute "convolutions" for the two kernels which straddle m_virtualSourceIndex
+ // We'll compute "convolutions" for the two kernels which straddle
+ // m_virtualSourceIndex
float sum1 = 0;
float sum2 = 0;
@@ -264,7 +271,8 @@ void SincResampler::process(AudioSourceProvider* sourceProvider,
float input;
#if CPU(X86) || CPU(X86_64)
- // If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed seperately.
+ // If the sourceP address is not 16-byte aligned, the first several
+ // frames (at most three) should be processed seperately.
while ((reinterpret_cast<uintptr_t>(inputP) & 0x0F) && n) {
CONVOLVE_ONE_SAMPLE
n--;
@@ -331,10 +339,12 @@ void SincResampler::process(AudioSourceProvider* sourceProvider,
n--;
}
#else
- // FIXME: add ARM NEON optimizations for the following. The scalar code-path can probably also be optimized better.
+ // FIXME: add ARM NEON optimizations for the following. The scalar
+ // code-path can probably also be optimized better.
// Optimize size 32 and size 64 kernels by unrolling the while loop.
- // A 20 - 30% speed improvement was measured in some cases by using this approach.
+ // A 20 - 30% speed improvement was measured in some cases by using this
+ // approach.
if (n == 32) {
CONVOLVE_ONE_SAMPLE // 1

Powered by Google App Engine
This is Rietveld 408576698