Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace30_ptl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=m
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_STFT_PROCESS=y
CONFIG_COMP_STEAMAUDIO=m

# SOF / infrastructure
CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL=n
Expand Down
3 changes: 3 additions & 0 deletions src/audio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ if(NOT CONFIG_COMP_MODULE_SHARED_LIBRARY_BUILD)
if(CONFIG_COMP_SRC)
add_subdirectory(src)
endif()
if(CONFIG_COMP_STEAMAUDIO)
add_subdirectory(steamaudio)
endif()
if(CONFIG_COMP_STFT_PROCESS)
add_subdirectory(stft_process)
endif()
Expand Down
1 change: 1 addition & 0 deletions src/audio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ rsource "selector/Kconfig"
rsource "smart_amp/Kconfig"
rsource "sound_dose/Kconfig"
rsource "src/Kconfig"
rsource "steamaudio/Kconfig"
rsource "stft_process/Kconfig"
rsource "tdfb/Kconfig"
rsource "template/Kconfig"
Expand Down
17 changes: 17 additions & 0 deletions src/audio/steamaudio/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2017-2024 Valve Corporation. All rights reserved.
# Copyright (c) 2026 Intel Corporation. All rights reserved.

if(CONFIG_COMP_STEAMAUDIO STREQUAL "m" AND DEFINED CONFIG_LLEXT)
add_subdirectory(llext ${PROJECT_BINARY_DIR}/steamaudio_llext)
add_dependencies(app steamaudio)
else()
add_local_sources(sof steamaudio.c)
add_local_sources(sof steamaudio-generic.c)
add_local_sources(sof steamaudio_bvh.c)

if(CONFIG_IPC_MAJOR_4)
add_local_sources(sof steamaudio-ipc4.c)
endif()
Comment on lines +14 to +16
endif()
15 changes: 15 additions & 0 deletions src/audio/steamaudio/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2017-2024 Valve Corporation. All rights reserved.
# Copyright (c) 2026 Intel Corporation. All rights reserved.

config COMP_STEAMAUDIO
tristate "Steam Audio spatial offload component"
default m if LIBRARY_DEFAULT_MODULAR
depends on IPC_MAJOR_4
help
Select for Steam Audio spatial audio offload component.
Provides 3D binaural HRTF spatialization, direct sound modeling,
3-band biquad IIR filtering, 8-channel Householder Feedback Delay
Network (FDN) reverberation, 1st-order Ambisonics rotation/decoding,
and on-chip DSP BVH ray tracing for real-time room acoustic simulation.
233 changes: 233 additions & 0 deletions src/audio/steamaudio/README.md

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions src/audio/steamaudio/llext/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2017-2024 Valve Corporation. All rights reserved.
# Copyright (c) 2026 Intel Corporation. All rights reserved.

set(steamaudio_sources
../steamaudio.c
../steamaudio-generic.c
../steamaudio_bvh.c
)

if(CONFIG_IPC_MAJOR_4)
list(APPEND steamaudio_sources ../steamaudio-ipc4.c)
endif()

sof_llext_build("steamaudio"
SOURCES ${steamaudio_sources}
LIB openmodules
)
6 changes: 6 additions & 0 deletions src/audio/steamaudio/llext/llext.toml.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include <tools/rimage/config/platform.toml>
#define LOAD_TYPE "2"
#include "../steamaudio.toml"

[module]
count = __COUNTER__
Loading
Loading