From 0233db3f5e25bae02c3b88b0c2282ba61d72598c Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Wed, 19 Apr 2023 17:33:14 -0700 Subject: [PATCH] cleanup cmake files --- CMakeLists.txt | 13 +- cmake/toolchains/aarch64_toolchain.cmake | 2 +- cmake/utils.cmake | 93 +++++++++++++-- decoder/CMakeLists.txt | 145 ----------------------- decoder/armv7/CMakeLists.txt | 66 ----------- decoder/armv7/libxaacdec_armv7.cmake | 67 +++++++++++ decoder/armv8/CMakeLists.txt | 27 ----- decoder/armv8/libxaacdec_armv8.cmake | 28 +++++ decoder/drc_src/CMakeLists.txt | 30 ----- decoder/drc_src/libxaacdec_drc.cmake | 27 +++++ decoder/libxaacdec.cmake | 142 ++++++++++++++++++++++ decoder/x86/CMakeLists.txt | 5 - decoder/x86/libxaacdec_x86.cmake | 4 + decoder/x86_64/CMakeLists.txt | 5 - decoder/x86_64/libxaacdec_x86_64.cmake | 4 + fuzzer/CMakeLists.txt | 21 ---- fuzzer/ossfuzz.sh | 18 +-- fuzzer/xaac_dec_fuzzer.cmake | 7 ++ test/CMakeLists.txt | 33 ------ test/xaacdec.cmake | 27 +++++ 20 files changed, 396 insertions(+), 368 deletions(-) delete mode 100644 decoder/CMakeLists.txt delete mode 100644 decoder/armv7/CMakeLists.txt create mode 100644 decoder/armv7/libxaacdec_armv7.cmake delete mode 100644 decoder/armv8/CMakeLists.txt create mode 100644 decoder/armv8/libxaacdec_armv8.cmake delete mode 100644 decoder/drc_src/CMakeLists.txt create mode 100644 decoder/drc_src/libxaacdec_drc.cmake create mode 100644 decoder/libxaacdec.cmake delete mode 100644 decoder/x86/CMakeLists.txt create mode 100644 decoder/x86/libxaacdec_x86.cmake delete mode 100644 decoder/x86_64/CMakeLists.txt create mode 100644 decoder/x86_64/libxaacdec_x86_64.cmake delete mode 100644 fuzzer/CMakeLists.txt create mode 100644 fuzzer/xaac_dec_fuzzer.cmake delete mode 100644 test/CMakeLists.txt create mode 100644 test/xaacdec.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a06195d..f21a1ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,15 +15,8 @@ libxaac_add_definitions() if(NOT COMPILER_HAS_SANITIZER) libxaac_set_link_libraries() -else() - libxaac_fuzzer_set_link_libraries() -endif() - -add_subdirectory(decoder) - -if(NOT COMPILER_HAS_SANITIZER) - add_subdirectory(test) -else() - add_subdirectory(fuzzer) endif() +include("${XAAC_ROOT}/decoder/libxaacdec.cmake") +include("${XAAC_ROOT}/test/xaacdec.cmake") +include("${XAAC_ROOT}/fuzzer/xaac_dec_fuzzer.cmake") diff --git a/cmake/toolchains/aarch64_toolchain.cmake b/cmake/toolchains/aarch64_toolchain.cmake index ddeb998..ae98dc3 100644 --- a/cmake/toolchains/aarch64_toolchain.cmake +++ b/cmake/toolchains/aarch64_toolchain.cmake @@ -2,7 +2,7 @@ SET(CMAKE_SYSTEM_NAME Linux) SET(CMAKE_SYSTEM_PROCESSOR aarch64) # Modify these variables with paths to appropriate compilers that can produce -# armv7 targets +# armv8 targets # Specify the cross compiler SET(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 6edf2f6..30aeec1 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -5,8 +5,16 @@ function(libxaac_add_compile_options) if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") add_compile_options(-std=gnu99 -march=armv8-a) elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch32") - add_compile_options(-O3 -Wall -std=c99 -mcpu=cortex-a8 -march=armv7-a -mfloat-abi=softfp -mfpu=neon) - elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") + add_compile_options( + -O3 + -Wall + -std=c99 + -mcpu=cortex-a8 + -march=armv7-a + -mfloat-abi=softfp + -mfpu=neon) + elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686" OR ${CMAKE_SYSTEM_PROCESSOR} + STREQUAL "x86_64") add_compile_options(-O3 -Wall -Wsequence-point -fwrapv) endif() @@ -33,22 +41,87 @@ endfunction() # Adds defintions for all targets function(libxaac_add_definitions) if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") - add_definitions(-DARMV8 -DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC) + add_definitions(-DARMV8) elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch32") - add_definitions(-DARMV7 -DDEFAULT_ARCH=D_ARCH_ARM_A9Q) + add_definitions(-DARMV7) elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686") - add_definitions(-DX86 -DX86_LINUX=1 -DDISABLE_AVX2 -DDEFAULT_ARCH=D_ARCH_X86_SSE42) + add_definitions(-DX86) endif() endfunction() # Adds libraries needed for executables function(libxaac_set_link_libraries) - if(NOT MSVC) + if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch32") link_libraries(Threads::Threads --static) endif() endfunction() -#Adds libraries for fuzzer -function(libxaac_fuzzer_set_link_libraries) - link_libraries(Threads::Threads m) -endfunction() \ No newline at end of file +# cmake-format: off +# Adds a target for an executable +# +# Arguments: +# NAME: Name of the executatble +# LIB: Library that executable depends on +# SOURCES: Source files +# +# Optional Arguments: +# INCLUDES: Include paths +# LIBS: Additional libraries +# FUZZER: flag to specify if the target is a fuzzer binary +# cmake-format: on + +function(libxaac_add_executable NAME LIB) + set(multi_value_args SOURCES INCLUDES LIBS) + set(optional_args FUZZER) + cmake_parse_arguments(ARG "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + # Check if compiler supports -fsanitize=fuzzer. If not, skip building fuzzer + # binary + if(ARG_FUZZER) + if(NOT COMPILER_HAS_SANITIZE_FUZZER) + message("Compiler doesn't support -fsanitize=fuzzer. Skipping ${NAME}") + return() + endif() + endif() + + add_executable(${NAME} ${ARG_SOURCES}) + target_include_directories(${NAME} PRIVATE ${ARG_INCLUDES}) + add_dependencies(${NAME} ${LIB} ${ARG_LIBS}) + + if(NOT MSVC) + target_link_libraries(${NAME} ${LIB} ${ARG_LIBS} m) + else() + target_link_libraries(${NAME} ${LIB} ${ARG_LIBS}) + endif() + + if(ARG_FUZZER) + target_compile_options(${NAME} + PRIVATE $<$:-std=c++17>) + if(DEFINED ENV{LIB_FUZZING_ENGINE}) + set_target_properties(${NAME} PROPERTIES LINK_FLAGS + $ENV{LIB_FUZZING_ENGINE}) + elseif(DEFINED SANITIZE) + set_target_properties(${NAME} PROPERTIES LINK_FLAGS + -fsanitize=fuzzer,${SANITIZE}) + else() + set_target_properties(${NAME} PROPERTIES LINK_FLAGS -fsanitize=fuzzer) + endif() + else() + if(DEFINED SANITIZE) + set_target_properties(${NAME} PROPERTIES LINK_FLAGS + -fsanitize=${SANITIZE}) + endif() + endif() +endfunction() + +# cmake-format: off +# Adds a target for a fuzzer binary +# Calls libxaac_add_executable with all arguments with FUZZER set to 1 +# Arguments: +# Refer to libxaac_add_executable's arguments +# cmake-format: on + +function(libxaac_add_fuzzer NAME LIB) + libxaac_add_executable(${NAME} ${LIB} FUZZER 1 ${ARGV}) +endfunction() diff --git a/decoder/CMakeLists.txt b/decoder/CMakeLists.txt deleted file mode 100644 index dca2bff..0000000 --- a/decoder/CMakeLists.txt +++ /dev/null @@ -1,145 +0,0 @@ -#src files -add_library(libxaacdec "") - -if(ARG_FUZZER) - target_link_libraries(libxaacdec PRIVATE -fsanitize=address) -endif() - -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/ixheaacd_aacdecoder.c" - "${XAAC_ROOT}/decoder/ixheaacd_aacpluscheck.c" - "${XAAC_ROOT}/decoder/ixheaacd_aac_ec.c" - "${XAAC_ROOT}/decoder/ixheaacd_aac_imdct.c" - "${XAAC_ROOT}/decoder/ixheaacd_aac_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_aac_tns.c" - "${XAAC_ROOT}/decoder/ixheaacd_acelp_bitparse.c" - "${XAAC_ROOT}/decoder/ixheaacd_acelp_decode.c" - "${XAAC_ROOT}/decoder/ixheaacd_acelp_mdct.c" - "${XAAC_ROOT}/decoder/ixheaacd_acelp_tools.c" - "${XAAC_ROOT}/decoder/ixheaacd_adts_crc_check.c" - "${XAAC_ROOT}/decoder/ixheaacd_api.c" - "${XAAC_ROOT}/decoder/ixheaacd_arith_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_avq_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_avq_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_basic_funcs.c" - "${XAAC_ROOT}/decoder/ixheaacd_basic_ops.c" - "${XAAC_ROOT}/decoder/ixheaacd_bitbuffer.c" - "${XAAC_ROOT}/decoder/ixheaacd_block.c" - "${XAAC_ROOT}/decoder/ixheaacd_channel.c" - "${XAAC_ROOT}/decoder/ixheaacd_common_initfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_common_lpfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_common_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_create.c" - "${XAAC_ROOT}/decoder/ixheaacd_decode_main.c" - "${XAAC_ROOT}/decoder/ixheaacd_drc_freq_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_dsp_fft32x32s.c" - "${XAAC_ROOT}/decoder/ixheaacd_ec_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_env_calc.c" - "${XAAC_ROOT}/decoder/ixheaacd_env_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_env_extr.c" - "${XAAC_ROOT}/decoder/ixheaacd_esbr_envcal.c" - "${XAAC_ROOT}/decoder/ixheaacd_esbr_fft.c" - "${XAAC_ROOT}/decoder/ixheaacd_esbr_polyphase.c" - "${XAAC_ROOT}/decoder/ixheaacd_esbr_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_ext_ch_ele.c" - "${XAAC_ROOT}/decoder/ixheaacd_fft.c" - "${XAAC_ROOT}/decoder/ixheaacd_fft_ifft_32x32.c" - "${XAAC_ROOT}/decoder/ixheaacd_fft_ifft_32x32_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_freq_sca.c" - "${XAAC_ROOT}/decoder/ixheaacd_fwd_alias_cnx.c" - "${XAAC_ROOT}/decoder/ixheaacd_hbe_dft_trans.c" - "${XAAC_ROOT}/decoder/ixheaacd_hbe_trans.c" - "${XAAC_ROOT}/decoder/ixheaacd_headerdecode.c" - "${XAAC_ROOT}/decoder/ixheaacd_hufftables.c" - "${XAAC_ROOT}/decoder/ixheaacd_huff_code_reorder.c" - "${XAAC_ROOT}/decoder/ixheaacd_huff_tools.c" - "${XAAC_ROOT}/decoder/ixheaacd_hybrid.c" - "${XAAC_ROOT}/decoder/ixheaacd_imdct.c" - "${XAAC_ROOT}/decoder/ixheaacd_initfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_init_config.c" - "${XAAC_ROOT}/decoder/ixheaacd_latmdemux.c" - "${XAAC_ROOT}/decoder/ixheaacd_ld_mps_config.c" - "${XAAC_ROOT}/decoder/ixheaacd_ld_mps_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_longblock.c" - "${XAAC_ROOT}/decoder/ixheaacd_lpc.c" - "${XAAC_ROOT}/decoder/ixheaacd_lpc_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_lpfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_lpp_tran.c" - "${XAAC_ROOT}/decoder/ixheaacd_lt_predict.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_common.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_m1.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_m2.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_bitdec.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_blind.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_common.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_emm.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_515x.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_51sx.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_52xx.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_727x.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_757x.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_decorr.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_get_index.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_hybrid_filt.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_initfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_m1m2_common.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_mdct_2_qmf.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_parse.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_polyphase.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_poly_filt.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_pre_mix.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_process.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_reshape_bb_env.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_block.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_channel.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_channel_info.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_longblock.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_pns_js_thumb.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_pulsedata.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_res_tns.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_smoothing.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_temp_process.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_temp_reshape.c" - "${XAAC_ROOT}/decoder/ixheaacd_mps_tonality.c" - "${XAAC_ROOT}/decoder/ixheaacd_multichannel.c" - "${XAAC_ROOT}/decoder/ixheaacd_peak_limiter.c" - "${XAAC_ROOT}/decoder/ixheaacd_pns_js_thumb.c" - "${XAAC_ROOT}/decoder/ixheaacd_pred_vec_block.c" - "${XAAC_ROOT}/decoder/ixheaacd_process.c" - "${XAAC_ROOT}/decoder/ixheaacd_ps_bitdec.c" - "${XAAC_ROOT}/decoder/ixheaacd_ps_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_ps_dec_flt.c" - "${XAAC_ROOT}/decoder/ixheaacd_pvc_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_qmf_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_rev_vlc.c" - "${XAAC_ROOT}/decoder/ixheaacd_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbrdecoder.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbrdec_initfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbrdec_lpfuncs.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbr_crc.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbr_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_sbr_rom.c" - "${XAAC_ROOT}/decoder/ixheaacd_spectrum_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_stereo.c" - "${XAAC_ROOT}/decoder/ixheaacd_tcx_fwd_alcnx.c" - "${XAAC_ROOT}/decoder/ixheaacd_tcx_fwd_mdct.c" - "${XAAC_ROOT}/decoder/ixheaacd_thumb_ps_dec.c" - "${XAAC_ROOT}/decoder/ixheaacd_tns.c" - "${XAAC_ROOT}/decoder/ixheaacd_usac_ec.c" - "${XAAC_ROOT}/decoder/ixheaacd_Windowing.c") - -set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/decoder/drc_src) -include_directories(${LIBXAACDEC_INCLUDES}) - -add_subdirectory(drc_src) - -if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch32") - add_subdirectory(armv7) -elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64") - add_subdirectory(armv8) -else() - add_subdirectory(x86) -endif() diff --git a/decoder/armv7/CMakeLists.txt b/decoder/armv7/CMakeLists.txt deleted file mode 100644 index 148cfc2..0000000 --- a/decoder/armv7/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -#src files -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft_armv7.c" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_function_selector_armv7.c" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_qmf_dec_armv7.c" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_aac_ld_dec_rearrange.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_auto_corr.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_autocorr_st2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_apply_rot.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_apply_scale_fac.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_calcmaxspectralline.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_conv_ergtoamplitude.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_conv_ergtoamplitudelp.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_cos_sin_mod.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_calc_pre_twid.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_calc_post_twid.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_complex_ifft_p2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_complex_fft_p2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_dct3_32.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_decorr_filter2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_dec_DCT2_64_asm.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_enery_calc_per_subband.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_expsubbandsamples.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop1.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_fwd_modulation.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_radix4bfly.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_qmfsyn64_winadd.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_eld_decoder_sbr_pre_twiddle.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_ffr_divide16.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft_15_ld.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft32x32_ld2_armv7.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_fwd_modulation.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_harm_idx_zerotwolp.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_imdct_using_fft.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_inv_dit_fft_8pt.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_lap1.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_complex_fft_64_asm.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_pre_twiddle.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_post_twiddle.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_out_calc.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_post_fft_twiddle.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_no_lap1.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_overlap_add1.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_overlap_add2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_radix_compute2.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_radix_compute4.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_twiddle.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_pre_twiddle_compute.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_twiddle_overlap.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_radix4_bfly.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_rescale_subbandsamples.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_imdct_using_fft.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfanal32_winadds.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfsyn64_winadd.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_rnd_eld.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_round.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfanal32_winadds_eld.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_ar_filter_fixed_32x16.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_parcor2lpc_32x16.s" - "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_ar_filter_fixed.s") - -include_directories(${XAAC_ROOT}/decoder/armv7) diff --git a/decoder/armv7/libxaacdec_armv7.cmake b/decoder/armv7/libxaacdec_armv7.cmake new file mode 100644 index 0000000..6cb2420 --- /dev/null +++ b/decoder/armv7/libxaacdec_armv7.cmake @@ -0,0 +1,67 @@ +# src files +list( + APPEND + LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft_armv7.c" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_function_selector_armv7.c" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_qmf_dec_armv7.c" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_aac_ld_dec_rearrange.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_auto_corr.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_autocorr_st2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_apply_rot.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_apply_scale_fac.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_calcmaxspectralline.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_conv_ergtoamplitude.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_conv_ergtoamplitudelp.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_cos_sin_mod.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_calc_pre_twid.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_calc_post_twid.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_complex_ifft_p2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_complex_fft_p2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_dct3_32.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_decorr_filter2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_dec_DCT2_64_asm.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_enery_calc_per_subband.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_expsubbandsamples.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop1.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_fwd_modulation.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_radix4bfly.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_esbr_qmfsyn64_winadd.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_eld_decoder_sbr_pre_twiddle.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_ffr_divide16.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft_15_ld.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_fft32x32_ld2_armv7.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_fwd_modulation.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_harm_idx_zerotwolp.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_imdct_using_fft.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_inv_dit_fft_8pt.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_lap1.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_complex_fft_64_asm.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_pre_twiddle.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_post_twiddle.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_out_calc.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_mps_synt_post_fft_twiddle.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_no_lap1.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_overlap_add1.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_overlap_add2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_radix_compute2.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_radix_compute4.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_twiddle.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_pre_twiddle_compute.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_post_twiddle_overlap.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_radix4_bfly.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_rescale_subbandsamples.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_imdct_using_fft.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfanal32_winadds.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfsyn64_winadd.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_rnd_eld.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_round.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_sbr_qmfanal32_winadds_eld.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_ar_filter_fixed_32x16.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_parcor2lpc_32x16.s" + "${XAAC_ROOT}/decoder/armv7/ixheaacd_tns_ar_filter_fixed.s") + +include_directories(${XAAC_ROOT}/decoder/armv7) diff --git a/decoder/armv8/CMakeLists.txt b/decoder/armv8/CMakeLists.txt deleted file mode 100644 index 6216c4c..0000000 --- a/decoder/armv8/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -#src files -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/armv8/ixheaacd_function_selector_armv8.c" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_qmf_dec_armv8.c" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_apply_scale_factors.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_calcmaxspectralline.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_cos_sin_mod_loop1.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_cos_sin_mod_loop2.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_fft32x32_ld2_armv8.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_inv_dit_fft_8pt.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_imdct_using_fft.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_no_lap1.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_overlap_add1.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_overlap_add2.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_post_twiddle.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_post_twiddle_overlap.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_postradixcompute4.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_pre_twiddle.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_postradixcompute4.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_imdct_using_fft.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_qmf_analysis32_neon.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_qmfsyn64_winadd.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_shiftrountine_with_round.s" - "${XAAC_ROOT}/decoder/armv8/ixheaacd_shiftrountine_with_round_eld.s") - -include_directories(${XAAC_ROOT}/decoder/armv8}) \ No newline at end of file diff --git a/decoder/armv8/libxaacdec_armv8.cmake b/decoder/armv8/libxaacdec_armv8.cmake new file mode 100644 index 0000000..a84ed8d --- /dev/null +++ b/decoder/armv8/libxaacdec_armv8.cmake @@ -0,0 +1,28 @@ +# src files +list( + APPEND + LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/armv8/ixheaacd_function_selector_armv8.c" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_qmf_dec_armv8.c" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_apply_scale_factors.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_calcmaxspectralline.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_cos_sin_mod_loop1.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_cos_sin_mod_loop2.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_fft32x32_ld2_armv8.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_inv_dit_fft_8pt.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_imdct_using_fft.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_no_lap1.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_overlap_add1.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_overlap_add2.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_post_twiddle.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_post_twiddle_overlap.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_postradixcompute4.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_pre_twiddle.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_postradixcompute4.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_imdct_using_fft.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_qmf_analysis32_neon.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_sbr_qmfsyn64_winadd.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_shiftrountine_with_round.s" + "${XAAC_ROOT}/decoder/armv8/ixheaacd_shiftrountine_with_round_eld.s") + +include_directories(${XAAC_ROOT}/decoder/armv8}) diff --git a/decoder/drc_src/CMakeLists.txt b/decoder/drc_src/CMakeLists.txt deleted file mode 100644 index 7d0d702..0000000 --- a/decoder/drc_src/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -#src files -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/drc_src/impd_drc_api.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_bitbuffer.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_dec.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_dynamic_payload.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_eq.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_extr_delta_coded_info.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_filter_bank.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_gain_dec.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_gain_decoder.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_init.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_interface_decoder.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_loudness_control.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_main_td_process.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_multiband.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_parametric_dec.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_peak_limiter.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_process.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_rom.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process_drcset_selection.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process_init.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_shape_filter.c" - "${XAAC_ROOT}/decoder/drc_src/impd_drc_static_payload.c") - -set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder/drc_src) - -include_directories(${LIBXAACDEC_INCLUDES}) diff --git a/decoder/drc_src/libxaacdec_drc.cmake b/decoder/drc_src/libxaacdec_drc.cmake new file mode 100644 index 0000000..20dde34 --- /dev/null +++ b/decoder/drc_src/libxaacdec_drc.cmake @@ -0,0 +1,27 @@ +# src files +list( + APPEND + LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/drc_src/impd_drc_api.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_bitbuffer.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_dec.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_dynamic_payload.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_eq.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_extr_delta_coded_info.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_filter_bank.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_gain_dec.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_gain_decoder.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_init.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_interface_decoder.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_loudness_control.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_main_td_process.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_multiband.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_parametric_dec.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_peak_limiter.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_process.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_rom.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process_drcset_selection.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_selection_process_init.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_shape_filter.c" + "${XAAC_ROOT}/decoder/drc_src/impd_drc_static_payload.c") diff --git a/decoder/libxaacdec.cmake b/decoder/libxaacdec.cmake new file mode 100644 index 0000000..68696b5 --- /dev/null +++ b/decoder/libxaacdec.cmake @@ -0,0 +1,142 @@ +# src files +list( + APPEND + LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/ixheaacd_aacdecoder.c" + "${XAAC_ROOT}/decoder/ixheaacd_aacpluscheck.c" + "${XAAC_ROOT}/decoder/ixheaacd_aac_ec.c" + "${XAAC_ROOT}/decoder/ixheaacd_aac_imdct.c" + "${XAAC_ROOT}/decoder/ixheaacd_aac_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_aac_tns.c" + "${XAAC_ROOT}/decoder/ixheaacd_acelp_bitparse.c" + "${XAAC_ROOT}/decoder/ixheaacd_acelp_decode.c" + "${XAAC_ROOT}/decoder/ixheaacd_acelp_mdct.c" + "${XAAC_ROOT}/decoder/ixheaacd_acelp_tools.c" + "${XAAC_ROOT}/decoder/ixheaacd_adts_crc_check.c" + "${XAAC_ROOT}/decoder/ixheaacd_api.c" + "${XAAC_ROOT}/decoder/ixheaacd_arith_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_avq_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_avq_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_basic_funcs.c" + "${XAAC_ROOT}/decoder/ixheaacd_basic_ops.c" + "${XAAC_ROOT}/decoder/ixheaacd_bitbuffer.c" + "${XAAC_ROOT}/decoder/ixheaacd_block.c" + "${XAAC_ROOT}/decoder/ixheaacd_channel.c" + "${XAAC_ROOT}/decoder/ixheaacd_common_initfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_common_lpfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_common_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_create.c" + "${XAAC_ROOT}/decoder/ixheaacd_decode_main.c" + "${XAAC_ROOT}/decoder/ixheaacd_drc_freq_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_dsp_fft32x32s.c" + "${XAAC_ROOT}/decoder/ixheaacd_ec_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_env_calc.c" + "${XAAC_ROOT}/decoder/ixheaacd_env_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_env_extr.c" + "${XAAC_ROOT}/decoder/ixheaacd_esbr_envcal.c" + "${XAAC_ROOT}/decoder/ixheaacd_esbr_fft.c" + "${XAAC_ROOT}/decoder/ixheaacd_esbr_polyphase.c" + "${XAAC_ROOT}/decoder/ixheaacd_esbr_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_ext_ch_ele.c" + "${XAAC_ROOT}/decoder/ixheaacd_fft.c" + "${XAAC_ROOT}/decoder/ixheaacd_fft_ifft_32x32.c" + "${XAAC_ROOT}/decoder/ixheaacd_fft_ifft_32x32_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_freq_sca.c" + "${XAAC_ROOT}/decoder/ixheaacd_fwd_alias_cnx.c" + "${XAAC_ROOT}/decoder/ixheaacd_hbe_dft_trans.c" + "${XAAC_ROOT}/decoder/ixheaacd_hbe_trans.c" + "${XAAC_ROOT}/decoder/ixheaacd_headerdecode.c" + "${XAAC_ROOT}/decoder/ixheaacd_hufftables.c" + "${XAAC_ROOT}/decoder/ixheaacd_huff_code_reorder.c" + "${XAAC_ROOT}/decoder/ixheaacd_huff_tools.c" + "${XAAC_ROOT}/decoder/ixheaacd_hybrid.c" + "${XAAC_ROOT}/decoder/ixheaacd_imdct.c" + "${XAAC_ROOT}/decoder/ixheaacd_initfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_init_config.c" + "${XAAC_ROOT}/decoder/ixheaacd_latmdemux.c" + "${XAAC_ROOT}/decoder/ixheaacd_ld_mps_config.c" + "${XAAC_ROOT}/decoder/ixheaacd_ld_mps_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_longblock.c" + "${XAAC_ROOT}/decoder/ixheaacd_lpc.c" + "${XAAC_ROOT}/decoder/ixheaacd_lpc_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_lpfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_lpp_tran.c" + "${XAAC_ROOT}/decoder/ixheaacd_lt_predict.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_common.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_m1.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_apply_m2.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_bitdec.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_blind.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_common.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_emm.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_515x.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_51sx.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_52xx.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_727x.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_calc_m1m2_tree_757x.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_decorr.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_get_index.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_hybrid_filt.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_initfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_m1m2_common.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_mdct_2_qmf.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_parse.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_polyphase.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_poly_filt.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_pre_mix.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_process.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_reshape_bb_env.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_block.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_channel.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_channel_info.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_longblock.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_pns_js_thumb.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_pulsedata.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_res_tns.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_smoothing.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_temp_process.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_temp_reshape.c" + "${XAAC_ROOT}/decoder/ixheaacd_mps_tonality.c" + "${XAAC_ROOT}/decoder/ixheaacd_multichannel.c" + "${XAAC_ROOT}/decoder/ixheaacd_peak_limiter.c" + "${XAAC_ROOT}/decoder/ixheaacd_pns_js_thumb.c" + "${XAAC_ROOT}/decoder/ixheaacd_pred_vec_block.c" + "${XAAC_ROOT}/decoder/ixheaacd_process.c" + "${XAAC_ROOT}/decoder/ixheaacd_ps_bitdec.c" + "${XAAC_ROOT}/decoder/ixheaacd_ps_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_ps_dec_flt.c" + "${XAAC_ROOT}/decoder/ixheaacd_pvc_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_qmf_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_rev_vlc.c" + "${XAAC_ROOT}/decoder/ixheaacd_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbrdecoder.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbrdec_initfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbrdec_lpfuncs.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbr_crc.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbr_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_sbr_rom.c" + "${XAAC_ROOT}/decoder/ixheaacd_spectrum_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_stereo.c" + "${XAAC_ROOT}/decoder/ixheaacd_tcx_fwd_alcnx.c" + "${XAAC_ROOT}/decoder/ixheaacd_tcx_fwd_mdct.c" + "${XAAC_ROOT}/decoder/ixheaacd_thumb_ps_dec.c" + "${XAAC_ROOT}/decoder/ixheaacd_tns.c" + "${XAAC_ROOT}/decoder/ixheaacd_usac_ec.c" + "${XAAC_ROOT}/decoder/ixheaacd_Windowing.c") + +set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/decoder/drc_src) +include_directories(${LIBXAACDEC_INCLUDES}) + +include("${XAAC_ROOT}/decoder/drc_src/libxaacdec_drc.cmake") + +if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch32") + include("${XAAC_ROOT}/decoder/armv7/libxaacdec_armv7.cmake") +elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64") + include("${XAAC_ROOT}/decoder/armv8/libxaacdec_armv8.cmake") +else() + include("${XAAC_ROOT}/decoder/x86/libxaacdec_x86.cmake") +endif() + +add_library(libxaacdec STATIC ${LIBXAACDEC_SRCS} ${LIBXAACCDEC_ASMS}) diff --git a/decoder/x86/CMakeLists.txt b/decoder/x86/CMakeLists.txt deleted file mode 100644 index f22b8d2..0000000 --- a/decoder/x86/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -#src files -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/x86/ixheaacd_function_selector_x86.c" - "${XAAC_ROOT}/decoder/generic/ixheaacd_qmf_dec_generic.c") diff --git a/decoder/x86/libxaacdec_x86.cmake b/decoder/x86/libxaacdec_x86.cmake new file mode 100644 index 0000000..ada0bd3 --- /dev/null +++ b/decoder/x86/libxaacdec_x86.cmake @@ -0,0 +1,4 @@ +# src files +list(APPEND LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/x86/ixheaacd_function_selector_x86.c" + "${XAAC_ROOT}/decoder/generic/ixheaacd_qmf_dec_generic.c") diff --git a/decoder/x86_64/CMakeLists.txt b/decoder/x86_64/CMakeLists.txt deleted file mode 100644 index 9819606..0000000 --- a/decoder/x86_64/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -#src files -target_sources(libxaacdec - PRIVATE - "${XAAC_ROOT}/decoder/x86_64/ixheaacd_function_selector_x86_64.c" - "${XAAC_ROOT}/decoder/generic/ixheaacd_qmf_dec_generic.c") diff --git a/decoder/x86_64/libxaacdec_x86_64.cmake b/decoder/x86_64/libxaacdec_x86_64.cmake new file mode 100644 index 0000000..19c0257 --- /dev/null +++ b/decoder/x86_64/libxaacdec_x86_64.cmake @@ -0,0 +1,4 @@ +# src files +list(APPEND LIBXAACDEC_SRCS + "${XAAC_ROOT}/decoder/x86_64/ixheaacd_function_selector_x86_64.c" + "${XAAC_ROOT}/decoder/generic/ixheaacd_qmf_dec_generic.c") diff --git a/fuzzer/CMakeLists.txt b/fuzzer/CMakeLists.txt deleted file mode 100644 index ca26fd9..0000000 --- a/fuzzer/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -list(APPEND XAACDEC_SRCS - "${XAAC_ROOT}/fuzzer/xaac_dec_fuzzer.cpp") - -set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/test ${XAAC_ROOT}/decoder/drc_src) - -include_directories(${LIBXAACDEC_INCLUDES}) - -add_executable(xaac_dec_fuzzer ${XAACDEC_SRCS}) - -if(MSVC) - target_link_libraries(xaac_dec_fuzzer LINK_PUBLIC libxaacdec) -else() - target_link_libraries(xaac_dec_fuzzer LINK_PUBLIC libxaacdec m) -endif() - -set_target_properties( - xaac_dec_fuzzer - PROPERTIES - LINK_FLAGS - -fsanitize=fuzzer,${SANITIZE} -) \ No newline at end of file diff --git a/fuzzer/ossfuzz.sh b/fuzzer/ossfuzz.sh index aac1654..1467d26 100755 --- a/fuzzer/ossfuzz.sh +++ b/fuzzer/ossfuzz.sh @@ -24,20 +24,8 @@ mkdir -p ${build_dir} pushd ${build_dir} cmake $SRC/libxaac -make -j$(nproc) +make -j$(nproc) xaac_dec_fuzzer +cp ${build_dir}/xaac_dec_fuzzer $OUT/ popd -# build fuzzers -$CXX $CXXFLAGS -std=c++11 \ - -I$SRC/libxaac \ - -I$SRC/libxaac/common \ - -I$SRC/libxaac/decoder \ - -I$SRC/libxaac/decoder/drc_src \ - -I${build_dir} \ - -Wl,--start-group \ - $LIB_FUZZING_ENGINE \ - $SRC/libxaac/fuzzer/xaac_dec_fuzzer.cpp -o $OUT/xaac_dec_fuzzer \ - ${build_dir}/libxaacdec.a \ - -Wl,--end-group - -cp $SRC/libxaac/fuzzer/xaac_dec_fuzzer.dict $OUT/xaacdec_fuzzer.dict +cp $SRC/libxaac/fuzzer/xaac_dec_fuzzer.dict $OUT/xaac_dec_fuzzer.dict diff --git a/fuzzer/xaac_dec_fuzzer.cmake b/fuzzer/xaac_dec_fuzzer.cmake new file mode 100644 index 0000000..c544091 --- /dev/null +++ b/fuzzer/xaac_dec_fuzzer.cmake @@ -0,0 +1,7 @@ +list(APPEND XAAC_DEC_FUZZER_SRCS "${XAAC_ROOT}/fuzzer/xaac_dec_fuzzer.cpp") + +set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/test + ${XAAC_ROOT}/decoder/drc_src) + +libxaac_add_fuzzer(xaac_dec_fuzzer libxaacdec SOURCES ${XAAC_DEC_FUZZER_SRCS} + INCLUDES ${LIBXAACDEC_INCLUDES}) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt deleted file mode 100644 index 8d0efbb..0000000 --- a/test/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -list(APPEND XAACDEC_SRCS - "${XAAC_ROOT}/test/ixheaacd_error.c" - "${XAAC_ROOT}/test/ixheaacd_fileifc.c" - "${XAAC_ROOT}/test/ixheaacd_main.c" - "${XAAC_ROOT}/test/ixheaacd_metadata_read.c") - -set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/test ${XAAC_ROOT}/decoder/drc_src) - -include_directories(${LIBXAACDEC_INCLUDES}) - -add_executable(xaacdec ${XAACDEC_SRCS}) - -if(MSVC) - target_link_libraries(xaacdec LINK_PUBLIC libxaacdec) -else() - target_link_libraries(xaacdec LINK_PUBLIC libxaacdec m) -endif() - -if(MSVC) - set_target_properties( - xaacdec - PROPERTIES - COMPILE_FLAGS - "-UARM_PROFILE_HW -UARM_PROFILE_BOARD -DDRC_ENABLE -DMULTICHANNEL_ENABLE -DECLIPSE -DWIN32 -D_CRT_SECURE_NO_WARNINGS" - ) -else() - set_target_properties( - xaacdec - PROPERTIES - COMPILE_FLAGS - "-UARM_PROFILE_HW -UARM_PROFILE_BOARD -DDRC_ENABLE -DMULTICHANNEL_ENABLE -DECLIPSE -DWIN32" - ) -endif() diff --git a/test/xaacdec.cmake b/test/xaacdec.cmake new file mode 100644 index 0000000..168ab74 --- /dev/null +++ b/test/xaacdec.cmake @@ -0,0 +1,27 @@ +list(APPEND XAACDEC_SRCS "${XAAC_ROOT}/test/ixheaacd_error.c" + "${XAAC_ROOT}/test/ixheaacd_fileifc.c" "${XAAC_ROOT}/test/ixheaacd_main.c" + "${XAAC_ROOT}/test/ixheaacd_metadata_read.c") + +set(LIBXAACDEC_INCLUDES ${XAAC_ROOT}/decoder ${XAAC_ROOT}/test + ${XAAC_ROOT}/decoder/drc_src) + +include_directories(${LIBXAACDEC_INCLUDES}) + +libxaac_add_executable(xaacdec libxaacdec SOURCES ${XAACDEC_SRCS} INCLUDES + ${LIBXAACDEC_INCLUDES}) + +if(MSVC) + set_target_properties( + xaacdec + PROPERTIES + COMPILE_FLAGS + "-UARM_PROFILE_HW -UARM_PROFILE_BOARD -DDRC_ENABLE -DMULTICHANNEL_ENABLE -DECLIPSE -DWIN32 -D_CRT_SECURE_NO_WARNINGS" + ) +else() + set_target_properties( + xaacdec + PROPERTIES + COMPILE_FLAGS + "-UARM_PROFILE_HW -UARM_PROFILE_BOARD -DDRC_ENABLE -DMULTICHANNEL_ENABLE -DECLIPSE -DWIN32" + ) +endif()