Loading the HRTF binary files provided in repo fail for FASTCONV
Basic info
- Commit SHA: main
- Platform: all
Bug description
It seems that the HRTF binary files provided within the repository (and used by tests) lead to an error for FASTCONV. This should have been revealed but the piece of code for handling error is missing for FASTCONV and PARAMBIN. Namely, goto cleanup;
is missing. Thus, all the smoke tests, self-tests, and whatever running with the -hrtf
option have not tested properly the FASTCONV path as the codec has processed data even though the files have not been properly loaded.
Thus, there are several things to fix. First, the missing goto should be added here after the printf
:
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.hrtfCRendFileName );
}
IVAS_DEC_HRTF_PARAMBIN_HANDLE hHrtfParambin = NULL;
IVAS_DEC_GetHrtfParamBinHandle( hIvasDec, &hHrtfParambin );
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.hrtfCRendFileName );
}
Then, whatever is needed to fix FASTCONV path, should be done. My guess is that the default files have not been updated after SBA HRTF updates as the error given is this:
Internal fatal error: HRTF binary file not compliant (BINAURAL_NTAPS_SBA)
Ways to reproduce
Run decoder with HRTF binary in use. E.g.
./IVAS_dec -hrtf ../scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin BINAURAL 48 debug.bts out_bin.wav