Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ #define FIX_1827_REMOVE_UNUSED_PSNOISEGEN_ISAR /* Dolby: remove unused noise generator from ISAR */ #define FIX_1487_ACCESS_OF_UNINIT_VAL_FROM_ARR_ISM_DTX /* FhG/VA: init nb_bits_metadata to zero */ #define FIX_1477_OOB_INDEX_IN_D_ACELP_INDEXING /* FhG: fix oob indexing */ #define FIX_1495_INCORRECT_FREAD_CALL /* Eri: Switched size and number of elements in fread call. */ /* #################### End BE switches ################################## */ Loading lib_util/hrtf_file_reader.c +56 −0 Original line number Diff line number Diff line Loading @@ -306,7 +306,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), modelITD->elevDim3 - 2, f_hrtf ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) Loading @@ -326,7 +330,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) Loading @@ -346,7 +354,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); if ( v_tmp16 == NULL ) Loading Loading @@ -393,7 +405,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -442,7 +458,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -488,9 +508,17 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &tmp32, sizeof( int32_t ), 1, f_hrtf ); #else fread( &tmp32, 1, sizeof( int32_t ), f_hrtf ); #endif HrFiltSet_p->latency_s = tmp32 * q_scale; model = &( HrFiltSet_p->ModelParams ); Loading Loading @@ -541,7 +569,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->elevDim3 - 2, f_hrtf ); for ( j = 0; j < model->elevDim3 - 2; j++ ) Loading Loading @@ -585,7 +617,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ ) Loading @@ -606,7 +642,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->AlphaN * model->K, f_hrtf ); Loading Loading @@ -666,7 +706,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); if ( v_tmp16 == NULL ) Loading Loading @@ -738,7 +782,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -1035,7 +1083,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( int16_t ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) #endif { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1107,7 +1159,11 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( int16_t ), 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 @@ -183,6 +183,7 @@ #define FIX_1827_REMOVE_UNUSED_PSNOISEGEN_ISAR /* Dolby: remove unused noise generator from ISAR */ #define FIX_1487_ACCESS_OF_UNINIT_VAL_FROM_ARR_ISM_DTX /* FhG/VA: init nb_bits_metadata to zero */ #define FIX_1477_OOB_INDEX_IN_D_ACELP_INDEXING /* FhG: fix oob indexing */ #define FIX_1495_INCORRECT_FREAD_CALL /* Eri: Switched size and number of elements in fread call. */ /* #################### End BE switches ################################## */ Loading
lib_util/hrtf_file_reader.c +56 −0 Original line number Diff line number Diff line Loading @@ -306,7 +306,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), modelITD->elevDim3 - 2, f_hrtf ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) Loading @@ -326,7 +330,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) Loading @@ -346,7 +354,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); if ( v_tmp16 == NULL ) Loading Loading @@ -393,7 +405,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -442,7 +458,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -488,9 +508,17 @@ static ivas_error TDREND_LoadBSplineBinary( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); #ifdef FIX_1495_INCORRECT_FREAD_CALL fread( &tmp32, sizeof( int32_t ), 1, f_hrtf ); #else fread( &tmp32, 1, sizeof( int32_t ), f_hrtf ); #endif HrFiltSet_p->latency_s = tmp32 * q_scale; model = &( HrFiltSet_p->ModelParams ); Loading Loading @@ -541,7 +569,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->elevDim3 - 2, f_hrtf ); for ( j = 0; j < model->elevDim3 - 2; j++ ) Loading Loading @@ -585,7 +617,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ ) Loading @@ -606,7 +642,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->AlphaN * model->K, f_hrtf ); Loading Loading @@ -666,7 +706,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); if ( v_tmp16 == NULL ) Loading Loading @@ -738,7 +782,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( int16_t ), 1, f_hrtf ); #else fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); #endif q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) Loading Loading @@ -1035,7 +1083,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( int16_t ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) #endif { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1107,7 +1159,11 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { #ifdef FIX_1495_INCORRECT_FREAD_CALL if ( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ) == 0 ) #else if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) #endif { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading