blob: 55229aed9f0d0585b485d7dbaf5e5263f8f8be22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <math.h>
#include "AnalysisClipping.h"
boolByte analysisClipping(const SampleBuffer sampleBuffer, AnalysisFunctionData data)
{
for (ChannelCount i = 0; i < sampleBuffer->numChannels; i++) {
for (SampleCount j = 0; j < sampleBuffer->blocksize; j++) {
if (fabs(sampleBuffer->samples[i][j]) >= 1.0f) {
if (data->consecutiveFailCounter > data->failTolerance) {
data->failedChannel = i;
data->failedSample = j;
return false;
} else {
data->consecutiveFailCounter++;
}
} else {
if (data->consecutiveFailCounter > 0) {
data->consecutiveFailCounter--;
}
}
}
}
return true;
}
|