#include <SoundMatrixDecoder.h>
Passive matrix decoder for stereo to 5.1 surround upmixing. Implements standard audio matrix decoding techniques using:
- Linkwitz-Riley crossover filters for frequency band separation
- All-pass filters for phase manipulation
- Delay lines for surround channel timing
◆ SoundMatrixDecoder()
| Ship::SoundMatrixDecoder::SoundMatrixDecoder |
( |
int32_t |
sampleRate | ) |
|
Construct and initialize the decoder with a specific sample rate.
- Parameters
-
| sampleRate | The audio sample rate in Hz |
◆ ~SoundMatrixDecoder()
| Ship::SoundMatrixDecoder::~SoundMatrixDecoder |
( |
| ) |
|
|
default |
◆ Process()
| std::tuple< const uint8_t *, int > Ship::SoundMatrixDecoder::Process |
( |
const uint8_t * |
buf, |
|
|
size_t |
len |
|
) |
| |
Decode stereo to 5.1 surround
- Parameters
-
| stereoInput | Interleaved stereo samples [L0, R0, L1, R1, ...] |
| samplePairs | Number of stereo sample pairs to process |
- Returns
- Pointer to internal buffer with interleaved 5.1 samples [FL, FR, C, LFE, SL, SR, ...]
◆ ResetState()
| void Ship::SoundMatrixDecoder::ResetState |
( |
| ) |
|
Reset filter states without recomputing coefficients. Useful when audio is interrupted to prevent clicks.
The documentation for this class was generated from the following file: