aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2024-06-26 20:44:43 +0000
committerDaniil Cherednik <dan.cherednik@gmail.com>2024-07-06 20:33:02 +0000
commit594a0abec3e7ae21ac3033149f36e6c2e6fc9e61 (patch)
tree6a6bd3c3b43b7b2e9e0cc5b187a97ad40aa60d1c
parent66f8608f05f32b94e1cc25c21a0c80ea98ecaeb1 (diff)
downloadatracdenc-594a0abec3e7ae21ac3033149f36e6c2e6fc9e61.tar.gz
Add Generalized Harmonic Analysis library in to the branch
Why we start with GHA: * GHA is one of the most computation intencive part of the encoder. Probably we need to implement multuthreading processing here to achive good perfomance. If so it is better to make MT frendly design at the begining of development. * GHA is the most interesting part of AT3P. * GHA is the one of the first processing step. * We already have libgha (https://github.com/dcherednik/libgha) library which should be tested and used in real application )))
-rw-r--r--.gitmodules3
-rw-r--r--src/CMakeLists.txt16
m---------src/lib/libgha0
3 files changed, 15 insertions, 4 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..5bce7fa
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/lib/libgha"]
+ path = src/lib/libgha
+ url = https://github.com/dcherednik/libgha
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ad8c73d..e0ce50c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -59,10 +59,20 @@ include_directories(
"."
"lib"
"lib/liboma/include"
+ "lib/fft/kissfft_impl"
)
-set(SOURCE_FFT_LIB lib/fft/kissfft_impl/kiss_fft.c)
-set_source_files_properties(lib/fft/kissfft_impl/kiss_fft.c PROPERTIES COMPILE_FLAGS -Dkiss_fft_scalar=double)
+set(SOURCE_FFT_LIB
+ lib/fft/kissfft_impl/kiss_fft.c
+ lib/fft/kissfft_impl/tools/kiss_fftr.c
+)
+set_source_files_properties(${SOURCE_FFT_LIB} PROPERTIES COMPILE_FLAGS -Dkiss_fft_scalar=double)
+add_library(fft_impl STATIC ${SOURCE_FFT_LIB})
+
+set(GHA_FFT_LIB fft_impl)
+set(GHA_USE_DOUBLE_API YES)
+add_subdirectory(lib/libgha)
+
set(SOURCE_OMA_LIB lib/liboma/src/liboma.c)
set(SOURCE_BITSTREAM_LIB lib/bitstream/bitstream.cpp)
set(SOURCE_ATRACDENC_IMPL
@@ -87,8 +97,6 @@ set(SOURCE_ATRACDENC_IMPL
lib/mdct/mdct.cpp
)
-add_library(fft_impl STATIC ${SOURCE_FFT_LIB})
-
add_library(pcm_io STATIC ${SOURCE_PCM_IO_LIB})
if (NOT WIN32)
target_link_libraries(pcm_io ${SNDFILE_LIBRARIES})
diff --git a/src/lib/libgha b/src/lib/libgha
new file mode 160000
+Subproject 41705edc6d36ad013cbcb171d53891f3c33764d