diff options
author | Chris Robinson <[email protected]> | 2019-11-03 00:30:33 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-11-03 00:30:33 -0700 |
commit | d2608e4bde41b3005a06346bea99bbe06404ef22 (patch) | |
tree | b57b085c64bff88056b07437c41ddf6e09d7d9de /alc/mixer/mixer_neon.cpp | |
parent | 2741a94e58ed2f9a17d05fd2499e1a3ea4ac43e8 (diff) |
Avoid holding HRTF accumulation samples per-source
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
Diffstat (limited to 'alc/mixer/mixer_neon.cpp')
-rw-r--r-- | alc/mixer/mixer_neon.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/alc/mixer/mixer_neon.cpp b/alc/mixer/mixer_neon.cpp index ae782897..67bf9c71 100644 --- a/alc/mixer/mixer_neon.cpp +++ b/alc/mixer/mixer_neon.cpp @@ -190,21 +190,16 @@ const ALfloat *Resample_<FastBSincTag,NEONTag>(const InterpState *state, template<> -void MixHrtf_<NEONTag>(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, - const float *InSamples, float2 *AccumSamples, const size_t OutPos, const ALuint IrSize, +void MixHrtf_<NEONTag>(const float *InSamples, float2 *AccumSamples, const ALuint IrSize, MixHrtfFilter *hrtfparams, const size_t BufferSize) -{ - MixHrtfBase<ApplyCoeffs>(LeftOut, RightOut, InSamples, AccumSamples, OutPos, IrSize, - hrtfparams, BufferSize); -} +{ MixHrtfBase<ApplyCoeffs>(InSamples, AccumSamples, IrSize, hrtfparams, BufferSize); } template<> -void MixHrtfBlend_<NEONTag>(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, - const float *InSamples, float2 *AccumSamples, const size_t OutPos, const ALuint IrSize, +void MixHrtfBlend_<NEONTag>(const float *InSamples, float2 *AccumSamples, const ALuint IrSize, const HrtfFilter *oldparams, MixHrtfFilter *newparams, const size_t BufferSize) { - MixHrtfBlendBase<ApplyCoeffs>(LeftOut, RightOut, InSamples, AccumSamples, OutPos, IrSize, - oldparams, newparams, BufferSize); + MixHrtfBlendBase<ApplyCoeffs>(InSamples, AccumSamples, IrSize, oldparams, newparams, + BufferSize); } template<> |