Skip to content

Commit 5f7de46

Browse files
committed
Add speex DSP library
1 parent c162738 commit 5f7de46

3 files changed

Lines changed: 65 additions & 1 deletion

File tree

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@
3131
[submodule "libraries/speex"]
3232
path = libraries/speex
3333
url = https://github.com/xiph/speex.git
34+
[submodule "libraries/speexdsp"]
35+
path = libraries/speexdsp
36+
url = https://github.com/xiph/speexdsp.git

libraries/CMakeLists.txt

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ target_include_directories(TinySoundFont INTERFACE ${TINYSOUNDFONT_INCLUDE_DIR})
598598

599599
# speex
600600
set(SPEEX_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/speex/include CACHE STRING "SPEEX includes" FORCE)
601+
set(SPEEXDSP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include CACHE STRING "SPEEX includes" FORCE)
601602
set(SPEEX_SOURCE_FILES
602603
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/bits.c
603604
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/cb_search.c
@@ -633,6 +634,18 @@ set(SPEEX_SOURCE_FILES
633634
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/vorbis_psy.c
634635
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/vq.c
635636
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/window.c)
637+
set(SPEEXDSP_SOURCE_FILES
638+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/buffer.c
639+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fftwrap.c
640+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/filterbank.c
641+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/jitter.c
642+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/kiss_fft.c
643+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/kiss_fftr.c
644+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/mdf.c
645+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/preprocess.c
646+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/resample.c
647+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/scal.c
648+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/smallft.c)
636649
set(SPEEX_INCLUDE_FILES
637650
${CMAKE_CURRENT_SOURCE_DIR}/speex/include/speex/speex_bits.h
638651
${CMAKE_CURRENT_SOURCE_DIR}/speex/include/speex/speex_callbacks.h
@@ -682,13 +695,60 @@ set(SPEEX_INCLUDE_FILES
682695
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/vq_bfin.h
683696
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/vq_sse.h
684697
${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex/vq.h)
698+
set(SPEEXDSP_INCLUDE_FILES
699+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speex_buffer.h
700+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speex_echo.h
701+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speex_jitter.h
702+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speex_preprocess.h
703+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speex_resampler.h
704+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speexdsp_types.h
705+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/_kiss_fft_guts.h
706+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/arch.h
707+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/bfin.h
708+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fftwrap.h
709+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/filterbank.h
710+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fixed_arm4.h
711+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fixed_arm5e.h
712+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fixed_bfin.h
713+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fixed_debug.h
714+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/fixed_generic.h
715+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/kiss_fft.h
716+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/kiss_fftr.h
717+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/math_approx.h
718+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/misc_bfin.h
719+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/os_support.h
720+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/pseudofloat.h
721+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/resample_neon.h
722+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/resample_sse.h
723+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/smallft.h
724+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/stack_alloc.h
725+
${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp/vorbis_psy.h)
685726
add_library(speex STATIC ${SPEEX_SOURCE_FILES} ${SPEEX_INCLUDE_FILES})
727+
add_library(speexdsp STATIC ${SPEEXDSP_SOURCE_FILES} ${SPEEXDSP_INCLUDE_FILES})
686728
set(speex_CONFIG_FILE ${CMAKE_CURRENT_BINARY_DIR}/include/speex/speex_config_types.h)
729+
set(speexdsp_CONFIG_FILE ${CMAKE_CURRENT_BINARY_DIR}/include/speex/speexdsp_config_types.h)
687730
set(SIZE16 short)
688731
set(USIZE16 unsigned\ short)
689732
set(SIZE32 int)
690733
set(USIZE32 unsigned\ int)
691734
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/speex/include/speex/speex_config_types.h.in ${speex_CONFIG_FILE})
735+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/include/speex/speexdsp_config_types.h.in ${speexdsp_CONFIG_FILE})
692736
target_include_directories(speex PUBLIC ${SPEEX_INCLUDE_DIR} ${SPEEX_INCLUDE_DIR}/speex/ ${CMAKE_CURRENT_BINARY_DIR}/include/speex/ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/speex/libspeex)
737+
target_include_directories(speexdsp PUBLIC ${SPEEXDSP_INCLUDE_DIR} ${SPEEXDSP_INCLUDE_DIR}/speex/ ${CMAKE_CURRENT_BINARY_DIR}/include/speex/ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/speexdsp/libspeexdsp)
693738
target_compile_definitions(speex PRIVATE FIXED_POINT=1 EXPORT=__attribute__\(\(visibility\(\"default\"\)\)\) USE_SMALLFT=1)
694-
target_compile_options(opus PRIVATE "-Wno-unused-parameter" "-Wno-shadow")
739+
target_compile_definitions(speexdsp PRIVATE FIXED_POINT=1 EXPORT=__attribute__\(\(visibility\(\"default\"\)\)\) USE_SMALLFT=1)
740+
target_compile_options(speex PRIVATE
741+
"-Wno-unused-parameter"
742+
"-Wno-shadow"
743+
"-Wno-cast-align"
744+
"-Wno-incompatible-pointer-types"
745+
"-Wno-unused-function")
746+
target_compile_options(speexdsp PRIVATE
747+
"-Wno-unused-variable"
748+
"-Wno-cast-align"
749+
"-Wno-unused-parameter"
750+
"-Wno-sign-compare"
751+
"-Wno-incompatible-pointer-types"
752+
"-Wno-incompatible-pointer-types"
753+
"-Wno-shadow"
754+
"-Wno-unused-function")

libraries/speexdsp

Submodule speexdsp added at 095fd36

0 commit comments

Comments
 (0)