diff options
| author | pepper <peppersclothescult@gmail.com> | 2015-01-10 21:32:32 -0800 |
|---|---|---|
| committer | pepper <peppersclothescult@gmail.com> | 2015-01-10 21:32:32 -0800 |
| commit | d53fa8a169832563c62262078b8d2ffe5cab8473 (patch) | |
| tree | b911d06d357d009c976709780f10e92ce915228a /test/analysis/AnalysisClipping.c | |
first
Diffstat (limited to 'test/analysis/AnalysisClipping.c')
| -rw-r--r-- | test/analysis/AnalysisClipping.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/analysis/AnalysisClipping.c b/test/analysis/AnalysisClipping.c new file mode 100644 index 0000000..55229ae --- /dev/null +++ b/test/analysis/AnalysisClipping.c @@ -0,0 +1,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; +} |
