JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::LR4Split2Lanes Struct Reference

#include <JPLSpatial/Auralization/CrossoverFilter.h>

Public Member Functions

JPL_INLINE void Prepare (float sampleRate, float f1, float f3) noexcept
 
JPL_INLINE void Reset () noexcept
 
JPL_INLINE void ProcessInterleaved (float low, float high, simd &out_b1324) noexcept
 
JPL_INLINE void Process (float low, float high, simd &out_b1234) noexcept
 

Public Attributes

TPTSVFStageSIMD Stage1
 
TPTSVFStageSIMD Stage2
 
TPTSVFAllpassSIMD AllpassEqualizer
 
TPTSVFStageSIMD::Params Params
 

Detailed Description

This version of L4 Split works specifically on the output of the first split (low, high), interleaved in 4 lanes as { low, high, low, high } and produces interleaved 4 bands as { b1, b3, b2, b4 } using 2 vectorized TPT SVF stages and allpass phase normalization.

The interleaving is to be able to saturate 2 vectorized TPT SVF stages, while avoiding many more reshuffling in the Process block.

Member Function Documentation

◆ Prepare()

JPL_INLINE void JPL::LR4Split2Lanes::Prepare ( float  sampleRate,
float  f1,
float  f3 
)
inlinenoexcept

◆ Process()

JPL_INLINE void JPL::LR4Split2Lanes::Process ( float  low,
float  high,
simd out_b1234 
)
inlinenoexcept

◆ ProcessInterleaved()

JPL_INLINE void JPL::LR4Split2Lanes::ProcessInterleaved ( float  low,
float  high,
simd out_b1324 
)
inlinenoexcept

◆ Reset()

JPL_INLINE void JPL::LR4Split2Lanes::Reset ( )
inlinenoexcept

Member Data Documentation

◆ AllpassEqualizer

TPTSVFAllpassSIMD JPL::LR4Split2Lanes::AllpassEqualizer

◆ Params

TPTSVFStageSIMD::Params JPL::LR4Split2Lanes::Params

◆ Stage1

TPTSVFStageSIMD JPL::LR4Split2Lanes::Stage1

◆ Stage2

TPTSVFStageSIMD JPL::LR4Split2Lanes::Stage2

The documentation for this struct was generated from the following file: