Loading apps/decoder.c +57 −6 Original line number Diff line number Diff line Loading @@ -738,7 +738,11 @@ int main( if ( arg.hrtfReaderEnabled ) { #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; #else IVAS_DEC_HRTF_HANDLE hHrtfTD = NULL; #endif if ( ( error = IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ) ) != IVAS_ERR_OK ) { Loading @@ -746,18 +750,41 @@ int main( goto cleanup; } #ifdef FIX_BINARY_BINAURAL_READING if ( ( error = load_HRTF_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { ivas_HRTF_binary_close( hHrtfTD ); } } #else if ( ( error = load_HRTF_binary( hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #endif #ifdef FIX_638_ENERGIE_IAC_ROM_TABLES if ( ( error = load_reverb_binary( hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) if ( ( *hHrtfTD != NULL ) && ( error = load_reverb_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } #endif IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF = NULL; if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ) ) != IVAS_ERR_OK ) Loading @@ -768,9 +795,17 @@ int main( if ( ( error = create_SetOfHRTF_from_binary( hSetOfHRTF, hrtfReader, arg.output_Fs ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for CRend \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } IVAS_DEC_HRTF_FASTCONV_HANDLE hHrtfFastConv = NULL; if ( ( error = IVAS_DEC_GetHrtfFastConvHandle( hIvasDec, &hHrtfFastConv ) ) != IVAS_ERR_OK ) Loading @@ -781,8 +816,16 @@ int main( if ( ( error = load_fastconv_HRTF_from_binary( hHrtfFastConv, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for FastConv \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } IVAS_DEC_HRTF_PARAMBIN_HANDLE hHrtfParambin = NULL; Loading @@ -794,8 +837,16 @@ int main( if ( ( error = load_parambin_HRTF_from_binary( hHrtfParambin, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for parametric binauralizer \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } } Loading Loading @@ -859,9 +910,9 @@ cleanup: if ( arg.hrtfReaderEnabled ) { IVAS_DEC_HRTF_HANDLE hHrtfTD = NULL; IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ); dealloc_HRTF_binary( hHrtfTD ); dealloc_HRTF_binary( *hHrtfTD ); IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF = NULL; IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ); destroy_SetOfHRTF( hSetOfHRTF ); Loading lib_com/ivas_error.h +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,9 @@ typedef enum IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, #ifdef FIX_BINARY_BINAURAL_READING IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA, #endif IVAS_ERR_INVALID_INPUT_FORMAT, IVAS_ERR_INVALID_INDEX, /* ToDo: should be merged with IVAS_ERR_INDEX_OUT_OF_BOUNDS */ IVAS_ERR_NOT_SUPPORTED_OPTION, Loading lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,9 @@ #define FIX_INV_DIFFUSE_WEIGHT /* Orange : Fix error in energy compensation in late binaural reverb*/ #define FIX_638_ENERGIE_IAC_ROM_TABLES /* Missing left/right and coherence late reverb tables in binary format*/ #define FIX_BINARY_BINAURAL_READING /* Add support reading binaural binary file */ #define FIX_CRASH_LONG_BRIR /* Fix crash when long BRIR is set */ #define FIX_632_USAN_ERROR_NULL_POINTER /* FhG: issue 632 USAN offset to null pointer proto_diffuse_buffer_f in dirac rendering*/ /* #################### End BE switches ################################## */ Loading lib_dec/lib_dec.c +9 −1 Original line number Diff line number Diff line Loading @@ -1751,7 +1751,11 @@ ivas_error IVAS_DEC_FeedCustomLsData( ivas_error IVAS_DEC_GetHrtfHandle( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE **hHrtfTD /* o : HRTF handle */ #else IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ #endif ) { if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL || hIvasDec->st_ivas->hHrtfTD == NULL ) Loading @@ -1759,7 +1763,11 @@ ivas_error IVAS_DEC_GetHrtfHandle( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_BINARY_BINAURAL_READING *hHrtfTD = &hIvasDec->st_ivas->hHrtfTD; #else *hHrtfTD = hIvasDec->st_ivas->hHrtfTD; #endif return IVAS_ERR_OK; } Loading lib_dec/lib_dec.h +4 −0 Original line number Diff line number Diff line Loading @@ -372,7 +372,11 @@ ivas_error IVAS_DEC_FeedCustomLsData( /*! r: error code */ ivas_error IVAS_DEC_GetHrtfHandle( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE **hHrtfTD /* o : HRTF handle */ #else IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ #endif ); /*! r: error code */ Loading Loading
apps/decoder.c +57 −6 Original line number Diff line number Diff line Loading @@ -738,7 +738,11 @@ int main( if ( arg.hrtfReaderEnabled ) { #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; #else IVAS_DEC_HRTF_HANDLE hHrtfTD = NULL; #endif if ( ( error = IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ) ) != IVAS_ERR_OK ) { Loading @@ -746,18 +750,41 @@ int main( goto cleanup; } #ifdef FIX_BINARY_BINAURAL_READING if ( ( error = load_HRTF_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { ivas_HRTF_binary_close( hHrtfTD ); } } #else if ( ( error = load_HRTF_binary( hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #endif #ifdef FIX_638_ENERGIE_IAC_ROM_TABLES if ( ( error = load_reverb_binary( hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) if ( ( *hHrtfTD != NULL ) && ( error = load_reverb_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } #endif IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF = NULL; if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ) ) != IVAS_ERR_OK ) Loading @@ -768,9 +795,17 @@ int main( if ( ( error = create_SetOfHRTF_from_binary( hSetOfHRTF, hrtfReader, arg.output_Fs ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for CRend \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } IVAS_DEC_HRTF_FASTCONV_HANDLE hHrtfFastConv = NULL; if ( ( error = IVAS_DEC_GetHrtfFastConvHandle( hIvasDec, &hHrtfFastConv ) ) != IVAS_ERR_OK ) Loading @@ -781,8 +816,16 @@ int main( if ( ( error = load_fastconv_HRTF_from_binary( hHrtfFastConv, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for FastConv \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } IVAS_DEC_HRTF_PARAMBIN_HANDLE hHrtfParambin = NULL; Loading @@ -794,8 +837,16 @@ int main( if ( ( error = load_parambin_HRTF_from_binary( hHrtfParambin, hrtfReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in loading HRTF binary file %s for parametric binauralizer \n\n", arg.hrtfFileName ); #ifdef FIX_BINARY_BINAURAL_READING if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } #else fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; #endif } } Loading Loading @@ -859,9 +910,9 @@ cleanup: if ( arg.hrtfReaderEnabled ) { IVAS_DEC_HRTF_HANDLE hHrtfTD = NULL; IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ); dealloc_HRTF_binary( hHrtfTD ); dealloc_HRTF_binary( *hHrtfTD ); IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF = NULL; IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ); destroy_SetOfHRTF( hSetOfHRTF ); Loading
lib_com/ivas_error.h +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,9 @@ typedef enum IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, #ifdef FIX_BINARY_BINAURAL_READING IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA, #endif IVAS_ERR_INVALID_INPUT_FORMAT, IVAS_ERR_INVALID_INDEX, /* ToDo: should be merged with IVAS_ERR_INDEX_OUT_OF_BOUNDS */ IVAS_ERR_NOT_SUPPORTED_OPTION, Loading
lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,9 @@ #define FIX_INV_DIFFUSE_WEIGHT /* Orange : Fix error in energy compensation in late binaural reverb*/ #define FIX_638_ENERGIE_IAC_ROM_TABLES /* Missing left/right and coherence late reverb tables in binary format*/ #define FIX_BINARY_BINAURAL_READING /* Add support reading binaural binary file */ #define FIX_CRASH_LONG_BRIR /* Fix crash when long BRIR is set */ #define FIX_632_USAN_ERROR_NULL_POINTER /* FhG: issue 632 USAN offset to null pointer proto_diffuse_buffer_f in dirac rendering*/ /* #################### End BE switches ################################## */ Loading
lib_dec/lib_dec.c +9 −1 Original line number Diff line number Diff line Loading @@ -1751,7 +1751,11 @@ ivas_error IVAS_DEC_FeedCustomLsData( ivas_error IVAS_DEC_GetHrtfHandle( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE **hHrtfTD /* o : HRTF handle */ #else IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ #endif ) { if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL || hIvasDec->st_ivas->hHrtfTD == NULL ) Loading @@ -1759,7 +1763,11 @@ ivas_error IVAS_DEC_GetHrtfHandle( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_BINARY_BINAURAL_READING *hHrtfTD = &hIvasDec->st_ivas->hHrtfTD; #else *hHrtfTD = hIvasDec->st_ivas->hHrtfTD; #endif return IVAS_ERR_OK; } Loading
lib_dec/lib_dec.h +4 −0 Original line number Diff line number Diff line Loading @@ -372,7 +372,11 @@ ivas_error IVAS_DEC_FeedCustomLsData( /*! r: error code */ ivas_error IVAS_DEC_GetHrtfHandle( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ #ifdef FIX_BINARY_BINAURAL_READING IVAS_DEC_HRTF_HANDLE **hHrtfTD /* o : HRTF handle */ #else IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ #endif ); /*! r: error code */ Loading