Skip to content

Commit b0a5f0c

Browse files
author
Eddy Hsu
committed
comp: Add initial Google CTC component
Introduce a new component to perform crosstalk-cancellation on the playback path. Signed-off-by: Eddy Hsu <eddyhsu@google.com>
1 parent 9315ada commit b0a5f0c

File tree

5 files changed

+502
-0
lines changed

5 files changed

+502
-0
lines changed

src/audio/google/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,26 @@ if((NOT CONFIG_LIBRARY) OR CONFIG_LIBRARY_STATIC)
2929
target_link_libraries(sof PRIVATE c)
3030
endif()
3131
endif()
32+
33+
if(CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING)
34+
target_include_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/include)
35+
add_local_sources(sof
36+
google_ctc_audio_processing.c
37+
)
38+
if(CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK)
39+
add_local_sources(sof
40+
google_ctc_audio_processing_mock.c
41+
)
42+
else()
43+
message(INFO "Link with google_ctc_audio_processing")
44+
target_link_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/lib)
45+
target_link_libraries(sof PRIVATE google_ctc_audio_processing)
46+
target_link_libraries(sof PRIVATE c++)
47+
target_link_libraries(sof PRIVATE c++abi)
48+
target_link_libraries(sof PRIVATE m)
49+
target_link_libraries(sof PRIVATE c)
50+
endif()
51+
endif()
3252
return()
3353
endif()
3454

src/audio/google/Kconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,30 @@ config GOOGLE_RTC_AUDIO_PROCESSING_MOCK
8080
Mock Google real-time communication audio processing.
8181
It allows for compilation check and basic audio flow checking.
8282

83+
config COMP_GOOGLE_CTC_AUDIO_PROCESSING
84+
bool "Google Crosstalk Cancellation Audio processing"
85+
select COMP_BLOB
86+
select GOOGLE_CTC_AUDIO_PROCESSING_MOCK if COMP_STUBS
87+
default n
88+
help
89+
Select for Google crosstalk cancellation audio processing. It
90+
uses the Google real-time audio processing library to perform
91+
crosstalk cancellation.
92+
93+
config COMP_GOOGLE_CTC_AUDIO_PROCESSING_NUM_FRAMES
94+
depends on COMP_GOOGLE_CTC_AUDIO_PROCESSING
95+
int "Number of frames to process for Google Crosstalk Cancellation Audio processing"
96+
default 64
97+
help
98+
Sets the number of frames to process in the Google crosstalk
99+
cancellation audio processing.
100+
101+
config GOOGLE_CTC_AUDIO_PROCESSING_MOCK
102+
bool "Google Crosstalk Cancellation Audio processing mock"
103+
default n
104+
depends on COMP_GOOGLE_CTC_AUDIO_PROCESSING
105+
help
106+
Mock Google crosstalk cancellation audio processing.
107+
It allows for compilation check and basic audio flow checking.
108+
83109
endmenu

0 commit comments

Comments
 (0)