Commit b0f5e662 authored by emerit's avatar emerit
Browse files

add back cmakelists.txt files and merge with main

parent 268077d7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@
#define DISABLE_ADAP_RES_COD_TMP                        /* temporary fix for IVAS-403, disables adaptive residual coding */
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */

#define FIX_BINAURAL_DELAY_PRECISION
#define UPDATE_SBA_FILTER
#define USE_SYMETRIC_HRIR_FILTERS
#define FIX_CREND_BRIR_REVERB
#define FIX_CREND_WITH_REVERB
+93 −7
Original line number Diff line number Diff line
@@ -594,7 +594,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j];
@@ -602,7 +606,11 @@ static ivas_error ivas_rend_initCrend(
                            hHrtf->pOut_to_bin_im[i][j] = CRendBin_HOA3_HRIR_coeff_im_48kHz[i][j];
                        }
                    }
#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[j];
@@ -620,7 +628,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j];
@@ -629,7 +641,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j];
@@ -647,7 +663,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j];
@@ -656,7 +676,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j];
@@ -681,7 +705,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j];
@@ -689,7 +717,11 @@ static ivas_error ivas_rend_initCrend(
                            hHrtf->pOut_to_bin_im[i][j] = CRendBin_HOA2_HRIR_coeff_im_48kHz[i][j];
                        }
                    }
#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[j];
@@ -707,7 +739,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j];
@@ -716,7 +752,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[j];
@@ -734,7 +774,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j];
@@ -743,7 +787,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[j];
@@ -768,7 +816,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j];
@@ -776,7 +828,11 @@ static ivas_error ivas_rend_initCrend(
                            hHrtf->pOut_to_bin_im[i][j] = CRendBin_FOA_HRIR_coeff_im_48kHz[i][j];
                        }
                    }
#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j];
@@ -794,7 +850,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j];
@@ -803,7 +863,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j];
@@ -821,7 +885,11 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                        for ( j = 0; j < nb_ear; j++ )
#else
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                        {
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j];
@@ -830,7 +898,11 @@ static ivas_error ivas_rend_initCrend(
                        }
                    }

#ifdef USE_SYMETRIC_HRIR_FILTERS
                    for ( j = 0; j < nb_ear; j++ )
#else
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
                    {
                        hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[j];
                        hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j];
@@ -1592,8 +1664,13 @@ static ivas_error ivas_rend_crendConvolver(
    const CREND_WRAPPER *pCrend,
    IVAS_REND_AudioConfig inConfig,
    IVAS_REND_AudioConfig outConfig,
#ifdef JBM_TSM_ON_TCS
    float *pcm_in[],
    float *pcm_out[],
#else
    float pcm_in[][L_FRAME48k],
    float pcm_out[][L_FRAME48k],
#endif
    const int32_t output_Fs,
    const int16_t i_ts )
{
@@ -1602,11 +1679,20 @@ static ivas_error ivas_rend_crendConvolver(
    int16_t lfe_idx_in;
    int16_t offset, offset_in, offset_diffuse;
    int16_t nchan_in, nchan_out;
    int16_t idx_j;
#ifdef UPDATE_SBA_FILTER
    const float *pIn_s, *pIn_d;
    const float *ppIn[MAX_INTERN_CHANNELS];
#else
    float *pIn_s, *pIn_d;
    float *ppIn[MAX_INTERN_CHANNELS];
    int16_t idx_j;
#endif
    float *pFreq_buf_re, *pFreq_buf_im;
#ifdef UPDATE_SBA_FILTER
    const float *pFreq_filt_re, *pFreq_filt_im;
#else
    float *pFreq_filt_re, *pFreq_filt_im;
#endif
    float pOut[L_FRAME48k * 2];
    float tmp_out_re[L_FRAME48k], tmp_out_im[L_FRAME48k];
    ivas_error error;
+1234 −3

File changed.

Preview size limit exceeded, changes collapsed.

+1 −3
Original line number Diff line number Diff line
*.cmake
CMake*
build*
Externals/
Table_Format_Converter/CMake*
Table_Format_Converter/build*
+112 −0
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 3.5)

project(generate_crend_ivas_tables)


message(${PROJECT_SOURCE_DIR})

set(EXTERNALS_PATH ${PROJECT_SOURCE_DIR}/Externals)
set(IVAS_TRUNK_PATH "${PROJECT_SOURCE_DIR}/../..")
set(IVAS_TRUNK_UTIL_PATH ${IVAS_TRUNK_PATH}/lib_util)
set(IVAS_TRUNK_DEC_PATH ${IVAS_TRUNK_PATH}/lib_dec)
set(IVAS_TRUNK_REND_PATH ${IVAS_TRUNK_PATH}/lib_rend)
set(IVAS_TRUNK_ENC_PATH ${IVAS_TRUNK_PATH}/lib_enc)
set(IVAS_TRUNK_COM_PATH ${IVAS_TRUNK_PATH}/lib_com)
set(IVAS_TRUNK_DEBUG_PATH ${IVAS_TRUNK_PATH}/lib_debug)

find_path(SOFA_READER_DIR "libmysofa.pc.cmake" ${EXTERNALS_PATH}/libmysofa)

if(SOFA_READER_DIR)
else()
    set(SOFA_READER_DIR ${EXTERNALS_PATH}/libmysofa)
    set(GIT_URL https://github.com/hoene/libmysofa.git)
    execute_process(COMMAND git clone ${GIT_URL} ${EXTERNALS_PATH}/libmysofa)
endif()

if(WIN32)
    find_path(ZLIB_DIR "zlib.h" ${EXTERNALS_PATH}/zlib/zlib-1.2.12)

    if(ZLIB_DIR)
    else()
        find_package(Python3 REQUIRED)

        if(Python3_Interpreter_FOUND)
            execute_process(COMMAND ${Python3_EXECUTABLE} resolve_build_dep.py
                WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
                RESULT_VARIABLE py_result OUTPUT_VARIABLE ZLIB_DIR)
                endif()
                string(STRIP "${ZLIB_DIR}" ZLIB_DIR)
                # set (ZLIB_DIR "./Externals/zlib/zlib-1.2.12")
                get_filename_component(COMBINED_PATH ${PROJECT_SOURCE_DIR}/${ZLIB_DIR} ABSOLUTE)
                set(ZLIB_DIR ${COMBINED_PATH})
    endif()
endif()

if(WIN32)
message(STATUS " ZLIB_DIR: ${ZLIB_DIR}")
set(ZLIB_INCLUDE_DIRS ${ZLIB_DIR} ${PROJECT_BINARY_DIR}/Externals/zlib/zlib-1.2.12)
add_subdirectory(${ZLIB_DIR})
    set(zlib zlibstatic)
    target_include_directories(example PUBLIC ${ZLIB_INCLUDE_DIRS})
    target_include_directories(minigzip PUBLIC ${ZLIB_INCLUDE_DIRS})
endif()

if(UNIX)
    find_package(ZLIB)

    if(ZLIB_FOUND)
        message(${ZLIB_INCLUDE_DIRS})
        message(${ZLIB_LIBRARIES})
        set(zlib ${ZLIB_LIBRARIES})
    else()
        message(FATAL_ERROR "Zlib not found")
    endif()
endif()

message(STATUS "Zlib configured")

include_directories(${SOFA_READER_DIR}/src ${ZLIB_INCLUDE_DIRS} ${IVAS_TRUNK_UTIL_PATH} ${IVAS_TRUNK_ENC_PATH} ${IVAS_TRUNK_DEC_PATH} ${IVAS_TRUNK_REND_PATH} ${IVAS_TRUNK_COM_PATH} ${IVAS_TRUNK_DEBUG_PATH})

option(BUILD_TESTS "Build test programs" OFF)
option(BUILD_SHARED_LIBS "Build shared library" OFF)
add_subdirectory(${SOFA_READER_DIR})

message(STATUS "libmysofa configured")

set(SOURCE_FILES_C
    ${PROJECT_SOURCE_DIR}/ivas_crend_binaural_filter_design.c
    ${IVAS_TRUNK_COM_PATH}/basop32.c
    ${IVAS_TRUNK_COM_PATH}/basop_mpy.c
    ${IVAS_TRUNK_COM_PATH}/enh40.c
    ${IVAS_TRUNK_COM_PATH}/fft.c
    ${IVAS_TRUNK_COM_PATH}/fft_rel.c
    ${IVAS_TRUNK_COM_PATH}/ifft_rel.c
    ${IVAS_TRUNK_COM_PATH}/ivas_mdft_imdft.c
    ${IVAS_TRUNK_COM_PATH}/rom_com.c
    ${IVAS_TRUNK_COM_PATH}/ivas_rom_com.c
    ${IVAS_TRUNK_COM_PATH}/tools.c
    ${IVAS_TRUNK_COM_PATH}/tns_base.c
)

set(SOURCE_FILES_H
    ${PROJECT_SOURCE_DIR}/ivas_crend_binaural_filter_design.c
    ${SOFA_READER_DIR}/src/hrtf/mysofa.h
    ${IVAS_TRUNK_REND_PATH}/ivas_stat_rend.h
    ${IVAS_TRUNK_DEC_PATH}/ivas_stat_dec.h
    ${IVAS_TRUNK_DEC_PATH}/stat_dec.h
    ${IVAS_TRUNK_COM_PATH}/options.h
    ${IVAS_TRUNK_COM_PATH}/ivas_cnst.h
    ${IVAS_TRUNK_COM_PATH}/cnst.h
    ${IVAS_TRUNK_COM_PATH}/prot.h
    ${IVAS_TRUNK_COM_PATH}/ivas_prot.h
    ${IVAS_TRUNK_COM_PATH}/common_api_types.h
)

add_library(${PROJECT_NAME}_lib STATIC ${SOURCE_FILES_C} ${SOURCE_FILES_H})

add_executable(${PROJECT_NAME} generate_crend_ivas_tables_from_sofa.c)
target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib mysofa-static ${zlib})

if(WIN32)
    add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
Loading