Commit 29e51a4
committed
audio: steamaudio: add Steam Audio spatial audio offload module and LLEXT
Add Valve Steam Audio spatial audio processing engine offload module
for Sound Open Firmware (SOF), supporting both statically linked DSP
processing and dynamically loaded ELF extensions (LLEXT).
Key features:
- Core 3D spatialization: direct HRTF convolution, distance attenuation,
air absorption filtering, directivity simulation, and occlusion damping.
- Acoustic simulation: ray-traced BVH reflection rendering directly
executed on the DSP.
- Continuous multi-channel streaming: host feeds a continuous 64-channel
PCM stream while the DSP dynamically culls inactive sources using an
active voice bitmask (active_sources_mask).
- Hardware-timestamped VBR metadata: receives variable bitrate spatial
metadata packets via DMA-driven compressed ALSA PCM device (snd_compr).
- Dynamic LLEXT support: builds as steamaudio.llext for Intel ACE 3.0
(Panther Lake) enabled via CONFIG_COMP_STEAMAUDIO=m.
- Registered component UUID 53746561-6d61-7564-696f737465616d31 in
uuid-registry.txt and module manifest in tools/rimage/config/ptl.toml.h.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>1 parent e0386e1 commit 29e51a4
15 files changed
Lines changed: 1245 additions & 0 deletions
File tree
- app/boards
- src/audio
- steamaudio
- llext
- tools/rimage/config
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments