Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/audaspace/FX/AUD_RectifyReader.cpp')
-rw-r--r--intern/audaspace/FX/AUD_RectifyReader.cpp37
1 files changed, 5 insertions, 32 deletions
diff --git a/intern/audaspace/FX/AUD_RectifyReader.cpp b/intern/audaspace/FX/AUD_RectifyReader.cpp
index 9839aefa838..5d3ce80e811 100644
--- a/intern/audaspace/FX/AUD_RectifyReader.cpp
+++ b/intern/audaspace/FX/AUD_RectifyReader.cpp
@@ -26,39 +26,11 @@
#include "AUD_RectifyReader.h"
#include "AUD_Buffer.h"
-#include <cstring>
+#include <cmath>
AUD_RectifyReader::AUD_RectifyReader(AUD_IReader* reader) :
AUD_EffectReader(reader)
{
- int bigendian = 1;
- bigendian = (((char*)&bigendian)[0]) ? 0: 1; // 1 if Big Endian
-
- switch(m_reader->getSpecs().format)
- {
- case AUD_FORMAT_S16:
- m_rectify = AUD_rectify<int16_t>;
- break;
- case AUD_FORMAT_S32:
- m_rectify = AUD_rectify<int32_t>;
- break;
- case AUD_FORMAT_FLOAT32:
- m_rectify = AUD_rectify<float>;
- break;
- case AUD_FORMAT_FLOAT64:
- m_rectify = AUD_rectify<double>;
- break;
- case AUD_FORMAT_U8:
- m_rectify = AUD_rectify_u8;
- break;
- case AUD_FORMAT_S24:
- m_rectify = bigendian ? AUD_rectify_s24_be : AUD_rectify_s24_le;
- break;
- default:
- delete m_reader;
- AUD_THROW(AUD_ERROR_READER);
- }
-
m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
}
@@ -73,10 +45,11 @@ void AUD_RectifyReader::read(int & length, sample_t* & buffer)
AUD_Specs specs = m_reader->getSpecs();
m_reader->read(length, buf);
- if(m_buffer->getSize() < length*AUD_SAMPLE_SIZE(specs))
- m_buffer->resize(length*AUD_SAMPLE_SIZE(specs));
+ if(m_buffer->getSize() < length * AUD_SAMPLE_SIZE(specs))
+ m_buffer->resize(length * AUD_SAMPLE_SIZE(specs));
buffer = m_buffer->getBuffer();
- m_rectify(buffer, buf, length * specs.channels);
+ for(int i = 0; i < length * specs.channels; i++)
+ buffer[i] = fabs(buf[i]);
}