diff options
author | Chris Robinson <[email protected]> | 2019-08-26 09:16:20 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-08-26 09:16:20 -0700 |
commit | 7dbf69afa270417c28605a265cc2ec0a7c4fc939 (patch) | |
tree | ff6af7e2f556ecace074ef1ee968f088b5de2094 /alc/effects/reverb.cpp | |
parent | 12e6dc0cced98d8d4379dbdaa922381920d32df2 (diff) |
Use a span for effect state input
Diffstat (limited to 'alc/effects/reverb.cpp')
-rw-r--r-- | alc/effects/reverb.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/alc/effects/reverb.cpp b/alc/effects/reverb.cpp index 5d9dbf81..4cd9124e 100644 --- a/alc/effects/reverb.cpp +++ b/alc/effects/reverb.cpp @@ -483,7 +483,7 @@ struct ReverbState final : public EffectState { ALboolean deviceUpdate(const ALCdevice *device) override; void update(const ALCcontext *context, const ALeffectslot *slot, const EffectProps *props, const EffectTarget target) override; - void process(const size_t samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei numInput, const al::span<FloatBufferLine> samplesOut) override; + void process(const size_t samplesToDo, const al::span<const FloatBufferLine> samplesIn, const al::span<FloatBufferLine> samplesOut) override; DEF_NEWDEL(ReverbState) }; @@ -1440,18 +1440,19 @@ void ReverbState::lateFaded(const size_t offset, const size_t todo, const ALfloa VectorScatterRevDelayIn(late_delay, offset, mixX, mixY, temps, todo); } -void ReverbState::process(const size_t samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei numInput, const al::span<FloatBufferLine> samplesOut) +void ReverbState::process(const size_t samplesToDo, const al::span<const FloatBufferLine> samplesIn, const al::span<FloatBufferLine> samplesOut) { size_t offset{mOffset}; ASSUME(samplesToDo > 0); /* Convert B-Format to A-Format for processing. */ + const size_t numInput{samplesIn.size()}; const al::span<float> tmpspan{mTempLine.data(), samplesToDo}; for(size_t c{0u};c < NUM_LINES;c++) { std::fill(tmpspan.begin(), tmpspan.end(), 0.0f); - MixRowSamples(tmpspan, {B2A[c], B2A[c]+numInput}, samplesIn->data(), samplesIn->size()); + MixRowSamples(tmpspan, {B2A[c], numInput}, samplesIn[0].data(), samplesIn[0].size()); /* Band-pass the incoming samples and feed the initial delay line. */ mFilter[c].Lp.process(mTempLine.data(), mTempLine.data(), samplesToDo); |