|
-
-
- #include "analyze_peakdetect.h"
-
- void AudioAnalyzePeak::update(void)
- {
- audio_block_t *block;
- const int16_t *p, *end;
- block = receiveReadOnly();
- if (!block) {
- return;
- }
- if (!m_enabled) {
- release(block);
- return;
- }
- p = block->data;
- end = p + AUDIO_BLOCK_SAMPLES;
- do {
- int16_t d=*p++;
- if(d<min) min=d;
- if(d>max) max=d;
- } while (p < end);
- release(block);
- }
-
- void AudioAnalyzePeak::begin(bool noReset)
- {
- if(!noReset)
- {
- min=32767;
- max=-32767;
- }
- m_enabled=true;
- }
- uint16_t AudioAnalyzePeak::Dpp(void)
- {
- if(max>min) return max-min; else return 0;
- }
|