Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ #define FIX_1449_RENDERER_FRAME_SIZE_UNCLEAR_IN_ISAR /* Dolby: Fix for issue 1449: renderer frame size unclear in ISAR */ #define FIX_1872_REMOVE_UNUSED_PSNOISEGEN_ISAR /* Dolby: Remove unused psNoiseGen from ISAR */ #define FIX_1478_UNINIT_ON_BFI /* VA: Fix issue 1478 where a vector is partly un-initialized during bfi */ #define FIX_1495_INCORRECT_FREAD_CALL /* Eri: Switched size and number of elements in fread call. */ #define FIX_1486_INIT_OUTPUT_POINTERS /* FhG: always initialize pointers in renderer flush */ #define FIX_1494_SET_SPLITBFI_UNUSED /* Dolby: Fix issue 1494, remove unused function setting BFI flag in ISAR renderer */ #define FIX_1479_MSAN_SPAR_UNINITIALIZED_VALUE /* Dolby: Fix for issue 1479, MSAN error due to uninitialized value in SPAR */ Loading lib_util/hrtf_file_reader.c +60 −0 Original line number Diff line number Diff line Loading @@ -302,7 +302,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), modelITD->elevDim3 - 2, f_hrtf ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) { Loading @@ -317,7 +321,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) { Loading @@ -332,7 +340,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif v_tmp16 = (Word16 *) malloc( tmp * sizeof( Word16 ) ); if ( v_tmp16 == NULL ) { Loading Loading @@ -368,7 +380,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading Loading @@ -404,7 +420,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading Loading @@ -449,9 +469,17 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif HrFiltSet_p->latency_s_Q_fx = Q31 - factor_Q; #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &HrFiltSet_p->latency_s_fx, sizeof( Word32 ), 1, f_hrtf ); #else fread( &HrFiltSet_p->latency_s_fx, 1, sizeof( Word32 ), f_hrtf ); #endif model = &( HrFiltSet_p->ModelParams ); /* Set ROM flag for correct deallocation */ Loading Loading @@ -496,7 +524,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), model->elevDim3 - 2, f_hrtf ); for ( j = 0; j < model->elevDim3 - 2; j++ ) { Loading @@ -522,7 +554,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ ) { Loading @@ -538,7 +574,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif model->AlphaL_e = Q15 - factor_Q; // model->AlphaL_dyn_e = 1; /* force to 6 to be corrected */ Loading Loading @@ -581,7 +621,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif v_tmp16 = (Word16 *) malloc( tmp * sizeof( Word16 ) ); if ( v_tmp16 == NULL ) { Loading Loading @@ -631,7 +675,11 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading @@ -646,7 +694,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif model->EL_e = Q31 - factor_Q; model->ER_e = model->EL_e; Loading Loading @@ -891,7 +943,11 @@ static ivas_error TDREND_MIX_LoadHRTF( /* try if it is old format for BE tests*/ fseek( f_hrtf, 0, SEEK_SET ); #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( Word16 ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) #endif { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -963,7 +1019,11 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( Word16 ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) #endif { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ #define FIX_1449_RENDERER_FRAME_SIZE_UNCLEAR_IN_ISAR /* Dolby: Fix for issue 1449: renderer frame size unclear in ISAR */ #define FIX_1872_REMOVE_UNUSED_PSNOISEGEN_ISAR /* Dolby: Remove unused psNoiseGen from ISAR */ #define FIX_1478_UNINIT_ON_BFI /* VA: Fix issue 1478 where a vector is partly un-initialized during bfi */ #define FIX_1495_INCORRECT_FREAD_CALL /* Eri: Switched size and number of elements in fread call. */ #define FIX_1486_INIT_OUTPUT_POINTERS /* FhG: always initialize pointers in renderer flush */ #define FIX_1494_SET_SPLITBFI_UNUSED /* Dolby: Fix issue 1494, remove unused function setting BFI flag in ISAR renderer */ #define FIX_1479_MSAN_SPAR_UNINITIALIZED_VALUE /* Dolby: Fix for issue 1479, MSAN error due to uninitialized value in SPAR */ Loading
lib_util/hrtf_file_reader.c +60 −0 Original line number Diff line number Diff line Loading @@ -302,7 +302,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), modelITD->elevDim3 - 2, f_hrtf ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) { Loading @@ -317,7 +321,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) { Loading @@ -332,7 +340,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif v_tmp16 = (Word16 *) malloc( tmp * sizeof( Word16 ) ); if ( v_tmp16 == NULL ) { Loading Loading @@ -368,7 +380,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading Loading @@ -404,7 +420,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading Loading @@ -449,9 +469,17 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif HrFiltSet_p->latency_s_Q_fx = Q31 - factor_Q; #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &HrFiltSet_p->latency_s_fx, sizeof( Word32 ), 1, f_hrtf ); #else fread( &HrFiltSet_p->latency_s_fx, 1, sizeof( Word32 ), f_hrtf ); #endif model = &( HrFiltSet_p->ModelParams ); /* Set ROM flag for correct deallocation */ Loading Loading @@ -496,7 +524,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), model->elevDim3 - 2, f_hrtf ); for ( j = 0; j < model->elevDim3 - 2; j++ ) { Loading @@ -522,7 +554,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ ) { Loading @@ -538,7 +574,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif model->AlphaL_e = Q15 - factor_Q; // model->AlphaL_dyn_e = 1; /* force to 6 to be corrected */ Loading Loading @@ -581,7 +621,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif v_tmp16 = (Word16 *) malloc( tmp * sizeof( Word16 ) ); if ( v_tmp16 == NULL ) { Loading Loading @@ -631,7 +675,11 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif fread( v_tmp16, sizeof( Word16 ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { Loading @@ -646,7 +694,11 @@ static ivas_error TDREND_LoadBSplineBinary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( Word16 ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( Word16 ), f_hrtf ); #endif model->EL_e = Q31 - factor_Q; model->ER_e = model->EL_e; Loading Loading @@ -891,7 +943,11 @@ static ivas_error TDREND_MIX_LoadHRTF( /* try if it is old format for BE tests*/ fseek( f_hrtf, 0, SEEK_SET ); #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( Word16 ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) #endif { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -963,7 +1019,11 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( Word16 ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) #endif { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading