aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--alc/alu.cpp2
-rw-r--r--core/uhjfilter.cpp10
-rw-r--r--core/uhjfilter.h3
3 files changed, 8 insertions, 7 deletions
diff --git a/alc/alu.cpp b/alc/alu.cpp
index 0ba83739..c7fb5f57 100644
--- a/alc/alu.cpp
+++ b/alc/alu.cpp
@@ -305,7 +305,7 @@ void DeviceBase::ProcessUhj(const size_t SamplesToDo)
/* Encode to stereo-compatible 2-channel UHJ output. */
mUhjEncoder->encode(RealOut.Buffer[lidx].data(), RealOut.Buffer[ridx].data(),
- Dry.Buffer.data(), SamplesToDo);
+ {{Dry.Buffer[0].data(), Dry.Buffer[1].data(), Dry.Buffer[2].data()}}, SamplesToDo);
}
void DeviceBase::ProcessBs2b(const size_t SamplesToDo)
diff --git a/core/uhjfilter.cpp b/core/uhjfilter.cpp
index 7a68f1b1..7fb23131 100644
--- a/core/uhjfilter.cpp
+++ b/core/uhjfilter.cpp
@@ -36,17 +36,17 @@ const PhaseShifterT<UhjFilterBase::sFilterDelay*2> PShift{};
* impulse with the desired shift.
*/
-void UhjEncoder::encode(float *LeftOut, float *RightOut, const FloatBufferLine *InSamples,
- const size_t SamplesToDo)
+void UhjEncoder::encode(float *LeftOut, float *RightOut,
+ const al::span<const float*const,3> InSamples, const size_t SamplesToDo)
{
ASSUME(SamplesToDo > 0);
float *RESTRICT left{al::assume_aligned<16>(LeftOut)};
float *RESTRICT right{al::assume_aligned<16>(RightOut)};
- const float *RESTRICT winput{al::assume_aligned<16>(InSamples[0].data())};
- const float *RESTRICT xinput{al::assume_aligned<16>(InSamples[1].data())};
- const float *RESTRICT yinput{al::assume_aligned<16>(InSamples[2].data())};
+ const float *RESTRICT winput{al::assume_aligned<16>(InSamples[0])};
+ const float *RESTRICT xinput{al::assume_aligned<16>(InSamples[1])};
+ const float *RESTRICT yinput{al::assume_aligned<16>(InSamples[2])};
/* Combine the previously delayed S/D signal with the input. Include any
* existing direct signal with it.
diff --git a/core/uhjfilter.h b/core/uhjfilter.h
index 0453def5..8f2736bf 100644
--- a/core/uhjfilter.h
+++ b/core/uhjfilter.h
@@ -4,6 +4,7 @@
#include <array>
#include "almalloc.h"
+#include "alspan.h"
#include "bufferline.h"
#include "resampler_limits.h"
@@ -30,7 +31,7 @@ struct UhjEncoder : public UhjFilterBase {
* signal. The input must use FuMa channel ordering and UHJ scaling (FuMa
* with an additional +3dB boost).
*/
- void encode(float *LeftOut, float *RightOut, const FloatBufferLine *InSamples,
+ void encode(float *LeftOut, float *RightOut, const al::span<const float*const,3> InSamples,
const size_t SamplesToDo);
DEF_NEWDEL(UhjEncoder)