Commit 058ea0c4 authored by emerit's avatar emerit
Browse files

fix bug and add support of HOA BRIR to renderer

parent 4faa85ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -159,6 +159,7 @@
#define FIX_CRASH_LONG_BRIR                             /* Orange : Fix crash when long BRIR is set */
#define FIX_863_REMOVE_REDUNDANCIES_OMASA               /* Nokia/VA & Orange : Issue 863: Remove redundancies in stereo_classifier for OMASA */
#define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER            /* Orange : generate_tables_convereter tools can generate rom for 5 and 20 ms frame length */
#define FIX_HOA_BRIR_EXT_RENDERER                       /* Orange : allow to create and load hoa brir binary files for renderer

/* #################### End BE switches ################################## */

+2 −0
Original line number Diff line number Diff line
@@ -1336,6 +1336,8 @@ ivas_error ivas_rend_initCrendWrapper(

#ifdef FIX_INV_DIFFUSE_WEIGHT
        hCrend->freq_buffer_re_diffuse[0] = NULL;
        hCrend->freq_buffer_re_diffuse[1] = NULL;
        hCrend->freq_buffer_im_diffuse[0] = NULL;
        hCrend->freq_buffer_im_diffuse[1] = NULL;
#else
        hCrend->freq_buffer_re_diffuse = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@
*******************************************************************************************************/
/*
 * Generated on 19-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
 * Generated on 23-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
 * Binaural rendering data set based on BRIRs
 * Tables derived from Mozart IIS BRIRs.*/
+2 −2
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@
/* Tables generated by the script at "scripts/binauralRenderer_interface/fastconv/generate_tables_for_fastconv.m */
/* Can be replaced by your own generated HRIR tables */
/*
 * Generated on 19-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
 * Generated on 23-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
*/
@@ -46955,7 +46955,7 @@ const float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] =
/*
 * Generated on 19-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
 * Generated on 23-Oct-2023 with Matlab version 23.2.0.2365128 (R2023b) by MUXE6256 on PCWIN64
 * Binaural rendering data set based on BRIRs 
 Tables derived from Mozart IIS BRIRs.*/
+62 −0
Original line number Diff line number Diff line
@@ -2807,7 +2807,44 @@ static ivas_error updateSbaPanGains(
                        }
                    }
                    break;
#ifdef FIX_HOA_BRIR_EXT_RENDERER
                case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR:
#ifdef NONBE_FIX_BINARY_BINAURAL_READING
#ifdef SPLIT_REND_WITH_HEAD_ROT
                    if ( ( inputSba->crendWrapper == NULL ) || ( error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                    if ( ( inputSba->crendWrapper == NULL ) || ( error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#else
#ifdef SPLIT_REND_WITH_HEAD_ROT
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#endif
                    {
                        if ( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_AUDIO_CONFIG_7_1_4, NULL ) ) != IVAS_ERR_OK )
                        {
                            return error;
                        }
#ifdef NONBE_FIX_BINARY_BINAURAL_READING
#ifdef SPLIT_REND_WITH_HEAD_ROT
                        if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                        if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#else
#ifdef SPLIT_REND_WITH_HEAD_ROT
                        if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                        if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#endif
                        {
                            return error;
                        }
                    }
                    break;
                case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB:
                    if ( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_AUDIO_CONFIG_7_1_4, NULL ) ) != IVAS_ERR_OK )
                    {
@@ -2830,6 +2867,31 @@ static ivas_error updateSbaPanGains(
                        return error;
                    }
                    break;
#else
                case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR:
                case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB:
                    if ( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_AUDIO_CONFIG_7_1_4, NULL ) ) != IVAS_ERR_OK )
                    {
                        return error;
                    }
#ifdef NONBE_FIX_BINARY_BINAURAL_READING
#ifdef SPLIT_REND_WITH_HEAD_ROT
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hMixconv, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#else
#ifdef SPLIT_REND_WITH_HEAD_ROT
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ) != IVAS_ERR_OK )
#else
                    if ( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
#endif
                    {
                        return error;
                    }
                    break;
#endif
                default:
                    return IVAS_ERR_INVALID_OUTPUT_FORMAT;
            }
Loading