Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading lib_rend/ivas_crend.c +93 −7 Original line number Diff line number Diff line Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading Loading @@ -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 ) { Loading @@ -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; Loading lib_rend/ivas_rom_binaural_crend_head.c +1234 −3 File changed.Preview size limit exceeded, changes collapsed. Show changes scripts/binauralRenderer_interface/.gitignore +1 −3 Original line number Diff line number Diff line *.cmake CMake* build* Externals/ Table_Format_Converter/CMake* Table_Format_Converter/build* scripts/binauralRenderer_interface/CMakeLists.txt 0 → 100644 +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
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
lib_rend/ivas_crend.c +93 −7 Original line number Diff line number Diff line Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading @@ -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]; Loading Loading @@ -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 ) { Loading @@ -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; Loading
lib_rend/ivas_rom_binaural_crend_head.c +1234 −3 File changed.Preview size limit exceeded, changes collapsed. Show changes
scripts/binauralRenderer_interface/.gitignore +1 −3 Original line number Diff line number Diff line *.cmake CMake* build* Externals/ Table_Format_Converter/CMake* Table_Format_Converter/build*
scripts/binauralRenderer_interface/CMakeLists.txt 0 → 100644 +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()