From 5a6f8015f66df4d2013ad85f412466e062140584 Mon Sep 17 00:00:00 2001 From: Craig Hansen-Sturm Date: Mon, 8 Sep 2014 14:05:47 -0700 Subject: [PATCH 1/2] unroll audio gain rendering loop --- libraries/audio/src/AudioGain.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/libraries/audio/src/AudioGain.h b/libraries/audio/src/AudioGain.h index c2cc64cba5..c3fa299b02 100644 --- a/libraries/audio/src/AudioGain.h +++ b/libraries/audio/src/AudioGain.h @@ -56,7 +56,7 @@ public: float32_t** samples = frameBuffer.getFrameData(); for (uint16_t j = 0; j < frameBuffer.getChannelCount(); ++j) { - for (uint16_t i = 0; i < frameBuffer.getFrameCount(); i += 8) { + for (uint16_t i = 0; i < frameBuffer.getFrameCount(); i += 32) { samples[j][i + 0] *= _gain; samples[j][i + 1] *= _gain; samples[j][i + 2] *= _gain; @@ -65,6 +65,30 @@ public: samples[j][i + 5] *= _gain; samples[j][i + 6] *= _gain; samples[j][i + 7] *= _gain; + samples[j][i + 8] *= _gain; + samples[j][i + 9] *= _gain; + samples[j][i + 10] *= _gain; + samples[j][i + 11] *= _gain; + samples[j][i + 12] *= _gain; + samples[j][i + 13] *= _gain; + samples[j][i + 14] *= _gain; + samples[j][i + 15] *= _gain; + samples[j][i + 16] *= _gain; + samples[j][i + 17] *= _gain; + samples[j][i + 18] *= _gain; + samples[j][i + 19] *= _gain; + samples[j][i + 20] *= _gain; + samples[j][i + 21] *= _gain; + samples[j][i + 22] *= _gain; + samples[j][i + 23] *= _gain; + samples[j][i + 24] *= _gain; + samples[j][i + 25] *= _gain; + samples[j][i + 26] *= _gain; + samples[j][i + 27] *= _gain; + samples[j][i + 28] *= _gain; + samples[j][i + 29] *= _gain; + samples[j][i + 30] *= _gain; + samples[j][i + 31] *= _gain; } } } From 04eca22a5029cdd8cc31daccfb778efc6557ae7b Mon Sep 17 00:00:00 2001 From: Craig Hansen-Sturm Date: Mon, 8 Sep 2014 14:28:53 -0700 Subject: [PATCH 2/2] allocate 4x initial input buffer size --- interface/src/Audio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index 0d114b7208..83b3ff299d 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -431,7 +431,7 @@ void Audio::start() { qDebug() << "Unable to set up audio output because of a problem with output format."; } - _inputFrameBuffer.initialize( _inputFormat.channelCount(), _audioInput->bufferSize() * 2 ); + _inputFrameBuffer.initialize( _inputFormat.channelCount(), _audioInput->bufferSize() * 4 ); _peq.initialize( _inputFormat.sampleRate() ); _inputGain.initialize(); _sourceGain.initialize();