Loading lib_rend/ivas_hrtf_fx.c +11 −11 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ void ivas_HRTF_binary_close_fx( } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA int16_t i; Word16 i; IF( ( *hHrtfTD )->ModelParams.modelROM ) { FOR( i = 0; i < ( *hHrtfTD )->ModelParams.num_unique_azim_splines; i++ ) Loading Loading @@ -222,11 +222,11 @@ ivas_error ivas_HRTF_CRend_binary_open_buffers_int16( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_uint16( uint16_t **buffer, /* o : buffer to allocate */ UWord16 **buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (uint16_t *) malloc( mem_size ); *buffer = (UWord16 *) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -242,11 +242,11 @@ ivas_error ivas_HRTF_binary_open_buffers_uint16( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32( int32_t **buffer, /* o : buffer to allocate */ Word32 **buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (int32_t *) malloc( mem_size ); *buffer = (Word32 *) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -262,11 +262,11 @@ ivas_error ivas_HRTF_binary_open_buffers_int32( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr( int32_t ***buffer, /* o : buffer to allocate */ Word32 ***buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (int32_t **) malloc( mem_size ); *buffer = (Word32 **) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -282,11 +282,11 @@ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr_const( const int32_t ***buffer, /* o : buffer to allocate */ const Word32 ***buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (const int32_t **) malloc( mem_size ); *buffer = (const Word32 **) malloc( mem_size ); if ( *buffer == NULL ) { Loading Loading @@ -461,7 +461,7 @@ ivas_error ivas_HRTF_statistics_binary_open_fx( } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA set_c( (int8_t *) ( *hHrtfStatistics ), 0, (int32_t) sizeof( HRTFS_STATISTICS ) ); set_c( (Word8 *) ( *hHrtfStatistics ), 0, (Word32) sizeof( HRTFS_STATISTICS ) ); #endif return IVAS_ERR_OK; } Loading lib_util/hrtf_file_reader.c +67 −67 Original line number Diff line number Diff line Loading @@ -51,9 +51,9 @@ struct hrtfFileReader typedef struct ivas_hrtfs_file_header_t { char identifier[8]; int32_t file_size; int16_t nb_hrtf; int32_t max_data_size; Word32 file_size; Word16 nb_hrtf; Word32 max_data_size; } ivas_hrtfs_file_header_t; Loading Loading @@ -129,7 +129,7 @@ static ivas_error read_and_check_hrtf_binary_file_header( ivas_hrtfs_file_header_t *hrtf_file_header, FILE *f_hrtf ) { int32_t file_size; Word32 file_size; if ( hrtf_file_header == NULL || f_hrtf == NULL ) { Loading @@ -146,7 +146,7 @@ static ivas_error read_and_check_hrtf_binary_file_header( file_size = ftell( f_hrtf ); fseek( f_hrtf, 0, SEEK_SET ); if ( file_size < (int32_t) sizeof( ivas_hrtfs_file_header_t ) ) if ( file_size < (Word32) sizeof( ivas_hrtfs_file_header_t ) ) { return IVAS_ERROR( IVAS_ERR_END_OF_FILE, "HRTF binary file not compliant (size of file header)" ); } Loading Loading @@ -230,7 +230,7 @@ static ivas_error read_hrtf_binary_header( /* Sampling Frequency (4 bytes) */ /* Raw data size (4 bytes) */ if ( ( fread( &( hrtf_header->rend_type ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->input_cfg ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->frequency ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->data_size ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) ) if ( ( fread( &( hrtf_header->rend_type ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->input_cfg ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->frequency ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->data_size ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) ) { return IVAS_ERR_OK; } Loading Loading @@ -361,7 +361,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( /* azimuth */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->azimBsLen_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -371,7 +371,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( } fread( modelITD->azimBsLen_dyn_fx, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->azimBsStart_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -404,7 +404,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( /* elevation */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->elevBsLen_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -414,7 +414,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( } fread( modelITD->elevBsLen_dyn_fx, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->elevBsStart_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -544,12 +544,12 @@ static ivas_error TDREND_LoadBSplineBinary( } free( v_tmp16 ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimDim3_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimDim3_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimDim3_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azim_start_idx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azim_start_idx_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azim_start_idx_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading Loading @@ -640,7 +640,7 @@ static ivas_error TDREND_LoadBSplineBinary( model->azimBsShape_dyn_fx = (Word32 **) malloc( model->num_unique_azim_splines * sizeof( Word32 * ) ); #endif #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimSegSamples_dyn, model->num_unique_azim_splines * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimSegSamples_dyn, model->num_unique_azim_splines * sizeof( Word16 ) ); #else model->azimSegSamples_dyn = (Word16 *) malloc( model->num_unique_azim_splines * sizeof( Word16 ) ); #endif Loading Loading @@ -677,7 +677,7 @@ static ivas_error TDREND_LoadBSplineBinary( free( v_tmp16 ); } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimShapeIdx_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading @@ -687,7 +687,7 @@ static ivas_error TDREND_LoadBSplineBinary( } fread( model->azimShapeIdx_dyn, sizeof( Word16 ), model->elevDim3, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimShapeSampFactor_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimShapeSampFactor_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading @@ -699,7 +699,7 @@ static ivas_error TDREND_LoadBSplineBinary( /* elevation */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->elevBsLen_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->elevBsLen_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else model->elevBsLen_dyn = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -709,7 +709,7 @@ static ivas_error TDREND_LoadBSplineBinary( } fread( model->elevBsLen_dyn, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->elevBsStart_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->elevBsStart_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else model->elevBsStart_dyn = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -830,12 +830,12 @@ static ivas_error load_reverb_from_binary( bool is_reverb; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; ivas_hrtfs_header_t hrtf_header; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; int16_t lr_iac_len; int16_t ind; Word16 lr_iac_len; Word16 ind; Word16 factorQ; Word16 tmp16; Loading Loading @@ -989,13 +989,13 @@ static ivas_error TDREND_MIX_LoadHRTF( IVAS_DEC_HRTF_TD_HANDLE HrFiltSet_p /* o : Loaded HR filter set */ ) { int16_t tmp; Word16 tmp; bool is_tdrend; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; ivas_hrtfs_header_t hrtf_header; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; if ( f_hrtf == NULL ) Loading @@ -1010,7 +1010,7 @@ static ivas_error TDREND_MIX_LoadHRTF( /* try if it is old format for BE tests*/ fseek( f_hrtf, 0, SEEK_SET ); if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1082,7 +1082,7 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1115,7 +1115,7 @@ static ivas_error TDREND_MIX_LoadHRTF( ivas_error load_TDrend_HRTF_binary( IVAS_DEC_HRTF_TD_HANDLE hHrtf, /* i/o: TD rend. HRTF handle */ const int32_t sampleRate, /* i : sample rate */ const Word32 sampleRate, /* i : sample rate */ const hrtfFileReader *hrtfReader /* i : pointer to hrtfFileReader handle */ ) { Loading Loading @@ -1143,7 +1143,7 @@ void destroy_td_hrtf( #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_td_binary_close_fx( hHrtf ); #else int16_t i; Word16 i; if ( ( hHrtf == NULL ) || ( *hHrtf == NULL ) ) { return; Loading Loading @@ -1299,7 +1299,7 @@ static ivas_error create_Crend_HRTF_from_rawdata( /* pIndex_frequency_max_diffuse (the size depends on num_iterations_diffuse) */ for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { mem_size = ( *hHRTF )->num_iterations_diffuse[j] * sizeof( uint16_t ); mem_size = ( *hHRTF )->num_iterations_diffuse[j] * sizeof( UWord16 ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA if ( ( error = ivas_HRTF_binary_open_buffers_int16( &( *hHRTF )->pIndex_frequency_max_diffuse_dyn_fx[j], mem_size ) ) != IVAS_ERR_OK ) #else Loading @@ -1316,7 +1316,7 @@ static ivas_error create_Crend_HRTF_from_rawdata( /* index_frequency_max_diffuse */ ( *hHRTF )->index_frequency_max_diffuse = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* inv_diffuse_weight Q factor*/ ( *hHRTF )->factor_Q_inv_diffuse_weight = Q15 - *( (Word16 *) ( hrtf_data_rptr ) ); Loading Loading @@ -1405,8 +1405,8 @@ static ivas_error create_Crend_HRTF_from_rawdata( } /* max_total_num_fsamp_per_iteration_diff */ max_total_num_fsamp_per_iteration_diff = *( (uint32_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint32_t ); max_total_num_fsamp_per_iteration_diff = *( (UWord32 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord32 ); mem_size_buf = max_total_num_fsamp_per_iteration_diff * sizeof( Word16 ); Loading Loading @@ -1513,17 +1513,17 @@ static ivas_error create_fastconv_HRTF_from_rawdata( latency_s = *( (Word32 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word32 ); if ( BINAURAL_CONVBANDS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( BINAURAL_CONVBANDS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_CONVBANDS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); nbchan = *( (uint16_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); nbchan = *( (UWord16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord16 ); ntaps = *( (uint16_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); ntaps = *( (UWord16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord16 ); ( *hHRTF )->ntaps = ntaps; ( *hHRTF )->FASTCONV_latency_s_Q_fx = Q31 - factorQ; Loading Loading @@ -1689,11 +1689,11 @@ static ivas_error create_parambin_HRTF_from_rawdata( char *hrtf_data /* i : pointer to binary file */ ) { int16_t i, j, k; Word16 i, j, k; char *hrtf_data_rptr; uint32_t data_size_tmp; UWord32 data_size_tmp; Word16 factorQ; int16_t *ptW16; Word16 *ptW16; if ( hrtf_data == NULL ) { Loading @@ -1703,30 +1703,30 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr = hrtf_data; /* HRTF_SH_CHANNELS */ if ( HRTF_SH_CHANNELS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( HRTF_SH_CHANNELS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (HRTF_SH_CHANNELS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* HRTF_NUM_BINS */ if ( HRTF_NUM_BINS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( HRTF_NUM_BINS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (HRTF_NUM_BINS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* HRTF */ /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t ); data_size_tmp = HRTF_NUM_BINS * sizeof( Word16 ); for ( i = 0; i < BINAURAL_CHANNELS; i++ ) { for ( j = 0; j < HRTF_SH_CHANNELS; j++ ) { ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( k = 0; k < HRTF_NUM_BINS; k++ ) { Loading @@ -1739,7 +1739,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( { for ( j = 0; j < HRTF_SH_CHANNELS; j++ ) { ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( k = 0; k < HRTF_NUM_BINS; k++ ) { ( *hHRTF )->hrtfShCoeffsIm_fx[i][j][k] = shl_r( ptW16[k], Q14 - factorQ ); Loading @@ -1749,44 +1749,44 @@ static ivas_error create_parambin_HRTF_from_rawdata( } /* Reverb Parameters */ if ( CLDFB_NO_CHANNELS_MAX != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( CLDFB_NO_CHANNELS_MAX != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (CLDFB_NO_CHANNELS_MAX)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricReverberationTimes_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q26 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricReverberationEneCorrections_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q31 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricEarlyPartEneCorrection_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q28 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); return IVAS_ERR_OK; } Loading @@ -1806,13 +1806,13 @@ ivas_error load_fastconv_HRTF_from_binary( ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; int16_t asFastconv = 0; Word16 hrtf_id; Word16 asFastconv = 0; bool load = false; BINAURAL_INPUT_AUDIO_CONFIG hrtf_set_binaural_cfg; Loading Loading @@ -1918,13 +1918,13 @@ ivas_error load_parambin_HRTF_from_binary( ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; int16_t asParam = 0; Word16 hrtf_id; Word16 asParam = 0; if ( hrtfReader == NULL || hrtfReader->file == NULL ) { Loading Loading @@ -2016,18 +2016,18 @@ ivas_error load_Crend_HRTF_from_binary( const hrtfFileReader *hrtfReader, /* i : pointer to hrtfFileReader handle */ const IVAS_AUDIO_CONFIG OutputConfig, /* i : output audio configuration */ const IVAS_AUDIO_CONFIG hrtf_set_audio_cfg, /* i : HRTF set audio config. */ const int32_t sampleRate /* i : sample rate */ const Word32 sampleRate /* i : sample rate */ ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; bool load = false; int16_t asCrend = 0; Word16 asCrend = 0; BINAURAL_INPUT_AUDIO_CONFIG hrtf_set_binaural_cfg; /* convert audio config. to HRTF binaural config */ Loading Loading @@ -2138,7 +2138,7 @@ void destroy_crend_hrtf( #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_CRend_binary_close_fx( hHrtfCrend ); #else uint16_t i, j; UWord16 i, j; test(); if ( *hHrtfCrend != NULL && hHrtfCrend != NULL ) Loading Loading
lib_rend/ivas_hrtf_fx.c +11 −11 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ void ivas_HRTF_binary_close_fx( } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA int16_t i; Word16 i; IF( ( *hHrtfTD )->ModelParams.modelROM ) { FOR( i = 0; i < ( *hHrtfTD )->ModelParams.num_unique_azim_splines; i++ ) Loading Loading @@ -222,11 +222,11 @@ ivas_error ivas_HRTF_CRend_binary_open_buffers_int16( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_uint16( uint16_t **buffer, /* o : buffer to allocate */ UWord16 **buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (uint16_t *) malloc( mem_size ); *buffer = (UWord16 *) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -242,11 +242,11 @@ ivas_error ivas_HRTF_binary_open_buffers_uint16( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32( int32_t **buffer, /* o : buffer to allocate */ Word32 **buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (int32_t *) malloc( mem_size ); *buffer = (Word32 *) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -262,11 +262,11 @@ ivas_error ivas_HRTF_binary_open_buffers_int32( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr( int32_t ***buffer, /* o : buffer to allocate */ Word32 ***buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (int32_t **) malloc( mem_size ); *buffer = (Word32 **) malloc( mem_size ); if ( *buffer == NULL ) { Loading @@ -282,11 +282,11 @@ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr( * Allocate buffer with dynamic length for HRTF binary Crend handle *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_binary_open_buffers_int32_ptr_const( const int32_t ***buffer, /* o : buffer to allocate */ const Word32 ***buffer, /* o : buffer to allocate */ const uint32_t mem_size /* i : size of buffer */ ) { *buffer = (const int32_t **) malloc( mem_size ); *buffer = (const Word32 **) malloc( mem_size ); if ( *buffer == NULL ) { Loading Loading @@ -461,7 +461,7 @@ ivas_error ivas_HRTF_statistics_binary_open_fx( } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA set_c( (int8_t *) ( *hHrtfStatistics ), 0, (int32_t) sizeof( HRTFS_STATISTICS ) ); set_c( (Word8 *) ( *hHrtfStatistics ), 0, (Word32) sizeof( HRTFS_STATISTICS ) ); #endif return IVAS_ERR_OK; } Loading
lib_util/hrtf_file_reader.c +67 −67 Original line number Diff line number Diff line Loading @@ -51,9 +51,9 @@ struct hrtfFileReader typedef struct ivas_hrtfs_file_header_t { char identifier[8]; int32_t file_size; int16_t nb_hrtf; int32_t max_data_size; Word32 file_size; Word16 nb_hrtf; Word32 max_data_size; } ivas_hrtfs_file_header_t; Loading Loading @@ -129,7 +129,7 @@ static ivas_error read_and_check_hrtf_binary_file_header( ivas_hrtfs_file_header_t *hrtf_file_header, FILE *f_hrtf ) { int32_t file_size; Word32 file_size; if ( hrtf_file_header == NULL || f_hrtf == NULL ) { Loading @@ -146,7 +146,7 @@ static ivas_error read_and_check_hrtf_binary_file_header( file_size = ftell( f_hrtf ); fseek( f_hrtf, 0, SEEK_SET ); if ( file_size < (int32_t) sizeof( ivas_hrtfs_file_header_t ) ) if ( file_size < (Word32) sizeof( ivas_hrtfs_file_header_t ) ) { return IVAS_ERROR( IVAS_ERR_END_OF_FILE, "HRTF binary file not compliant (size of file header)" ); } Loading Loading @@ -230,7 +230,7 @@ static ivas_error read_hrtf_binary_header( /* Sampling Frequency (4 bytes) */ /* Raw data size (4 bytes) */ if ( ( fread( &( hrtf_header->rend_type ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->input_cfg ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->frequency ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->data_size ), sizeof( int32_t ), 1, f_hrtf ) == 1 ) ) if ( ( fread( &( hrtf_header->rend_type ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->input_cfg ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->frequency ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) && ( fread( &( hrtf_header->data_size ), sizeof( Word32 ), 1, f_hrtf ) == 1 ) ) { return IVAS_ERR_OK; } Loading Loading @@ -361,7 +361,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( /* azimuth */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->azimBsLen_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -371,7 +371,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( } fread( modelITD->azimBsLen_dyn_fx, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->azimBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->azimBsStart_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -404,7 +404,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( /* elevation */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsLen_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->elevBsLen_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -414,7 +414,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD( } fread( modelITD->elevBsLen_dyn_fx, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &modelITD->elevBsStart_dyn_fx, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else modelITD->elevBsStart_dyn_fx = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -544,12 +544,12 @@ static ivas_error TDREND_LoadBSplineBinary( } free( v_tmp16 ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimDim3_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimDim3_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimDim3_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azim_start_idx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azim_start_idx_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azim_start_idx_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading Loading @@ -640,7 +640,7 @@ static ivas_error TDREND_LoadBSplineBinary( model->azimBsShape_dyn_fx = (Word32 **) malloc( model->num_unique_azim_splines * sizeof( Word32 * ) ); #endif #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimSegSamples_dyn, model->num_unique_azim_splines * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimSegSamples_dyn, model->num_unique_azim_splines * sizeof( Word16 ) ); #else model->azimSegSamples_dyn = (Word16 *) malloc( model->num_unique_azim_splines * sizeof( Word16 ) ); #endif Loading Loading @@ -677,7 +677,7 @@ static ivas_error TDREND_LoadBSplineBinary( free( v_tmp16 ); } #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimShapeIdx_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading @@ -687,7 +687,7 @@ static ivas_error TDREND_LoadBSplineBinary( } fread( model->azimShapeIdx_dyn, sizeof( Word16 ), model->elevDim3, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->azimShapeIdx_dyn, model->elevDim3 * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->azimShapeSampFactor_dyn, model->elevDim3 * sizeof( Word16 ) ); #else model->azimShapeSampFactor_dyn = (Word16 *) malloc( model->elevDim3 * sizeof( Word16 ) ); #endif Loading @@ -699,7 +699,7 @@ static ivas_error TDREND_LoadBSplineBinary( /* elevation */ #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->elevBsLen_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->elevBsLen_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else model->elevBsLen_dyn = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading @@ -709,7 +709,7 @@ static ivas_error TDREND_LoadBSplineBinary( } fread( model->elevBsLen_dyn, sizeof( Word16 ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_binary_open_buffers_int16( &model->elevBsStart_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); ivas_HRTF_binary_open_buffers_int16( &model->elevBsStart_dyn, HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #else model->elevBsStart_dyn = (Word16 *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( Word16 ) ); #endif Loading Loading @@ -830,12 +830,12 @@ static ivas_error load_reverb_from_binary( bool is_reverb; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; ivas_hrtfs_header_t hrtf_header; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; int16_t lr_iac_len; int16_t ind; Word16 lr_iac_len; Word16 ind; Word16 factorQ; Word16 tmp16; Loading Loading @@ -989,13 +989,13 @@ static ivas_error TDREND_MIX_LoadHRTF( IVAS_DEC_HRTF_TD_HANDLE HrFiltSet_p /* o : Loaded HR filter set */ ) { int16_t tmp; Word16 tmp; bool is_tdrend; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; ivas_hrtfs_header_t hrtf_header; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; if ( f_hrtf == NULL ) Loading @@ -1010,7 +1010,7 @@ static ivas_error TDREND_MIX_LoadHRTF( /* try if it is old format for BE tests*/ fseek( f_hrtf, 0, SEEK_SET ); if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) { header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1082,7 +1082,7 @@ static ivas_error TDREND_MIX_LoadHRTF( if ( is_tdrend ) { if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 ) if ( fread( &tmp, 1, sizeof( Word16 ), f_hrtf ) == 0 ) { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" ); } Loading Loading @@ -1115,7 +1115,7 @@ static ivas_error TDREND_MIX_LoadHRTF( ivas_error load_TDrend_HRTF_binary( IVAS_DEC_HRTF_TD_HANDLE hHrtf, /* i/o: TD rend. HRTF handle */ const int32_t sampleRate, /* i : sample rate */ const Word32 sampleRate, /* i : sample rate */ const hrtfFileReader *hrtfReader /* i : pointer to hrtfFileReader handle */ ) { Loading Loading @@ -1143,7 +1143,7 @@ void destroy_td_hrtf( #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_td_binary_close_fx( hHrtf ); #else int16_t i; Word16 i; if ( ( hHrtf == NULL ) || ( *hHrtf == NULL ) ) { return; Loading Loading @@ -1299,7 +1299,7 @@ static ivas_error create_Crend_HRTF_from_rawdata( /* pIndex_frequency_max_diffuse (the size depends on num_iterations_diffuse) */ for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { mem_size = ( *hHRTF )->num_iterations_diffuse[j] * sizeof( uint16_t ); mem_size = ( *hHRTF )->num_iterations_diffuse[j] * sizeof( UWord16 ); #ifdef FIX_2249_MEMORY_LEAK_IN_SBA if ( ( error = ivas_HRTF_binary_open_buffers_int16( &( *hHRTF )->pIndex_frequency_max_diffuse_dyn_fx[j], mem_size ) ) != IVAS_ERR_OK ) #else Loading @@ -1316,7 +1316,7 @@ static ivas_error create_Crend_HRTF_from_rawdata( /* index_frequency_max_diffuse */ ( *hHRTF )->index_frequency_max_diffuse = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* inv_diffuse_weight Q factor*/ ( *hHRTF )->factor_Q_inv_diffuse_weight = Q15 - *( (Word16 *) ( hrtf_data_rptr ) ); Loading Loading @@ -1405,8 +1405,8 @@ static ivas_error create_Crend_HRTF_from_rawdata( } /* max_total_num_fsamp_per_iteration_diff */ max_total_num_fsamp_per_iteration_diff = *( (uint32_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint32_t ); max_total_num_fsamp_per_iteration_diff = *( (UWord32 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord32 ); mem_size_buf = max_total_num_fsamp_per_iteration_diff * sizeof( Word16 ); Loading Loading @@ -1513,17 +1513,17 @@ static ivas_error create_fastconv_HRTF_from_rawdata( latency_s = *( (Word32 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word32 ); if ( BINAURAL_CONVBANDS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( BINAURAL_CONVBANDS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_CONVBANDS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); nbchan = *( (uint16_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); nbchan = *( (UWord16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord16 ); ntaps = *( (uint16_t *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( uint16_t ); ntaps = *( (UWord16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( UWord16 ); ( *hHRTF )->ntaps = ntaps; ( *hHRTF )->FASTCONV_latency_s_Q_fx = Q31 - factorQ; Loading Loading @@ -1689,11 +1689,11 @@ static ivas_error create_parambin_HRTF_from_rawdata( char *hrtf_data /* i : pointer to binary file */ ) { int16_t i, j, k; Word16 i, j, k; char *hrtf_data_rptr; uint32_t data_size_tmp; UWord32 data_size_tmp; Word16 factorQ; int16_t *ptW16; Word16 *ptW16; if ( hrtf_data == NULL ) { Loading @@ -1703,30 +1703,30 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr = hrtf_data; /* HRTF_SH_CHANNELS */ if ( HRTF_SH_CHANNELS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( HRTF_SH_CHANNELS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (HRTF_SH_CHANNELS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* HRTF_NUM_BINS */ if ( HRTF_NUM_BINS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( HRTF_NUM_BINS != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (HRTF_NUM_BINS)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* HRTF */ /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t ); data_size_tmp = HRTF_NUM_BINS * sizeof( Word16 ); for ( i = 0; i < BINAURAL_CHANNELS; i++ ) { for ( j = 0; j < HRTF_SH_CHANNELS; j++ ) { ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( k = 0; k < HRTF_NUM_BINS; k++ ) { Loading @@ -1739,7 +1739,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( { for ( j = 0; j < HRTF_SH_CHANNELS; j++ ) { ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( k = 0; k < HRTF_NUM_BINS; k++ ) { ( *hHRTF )->hrtfShCoeffsIm_fx[i][j][k] = shl_r( ptW16[k], Q14 - factorQ ); Loading @@ -1749,44 +1749,44 @@ static ivas_error create_parambin_HRTF_from_rawdata( } /* Reverb Parameters */ if ( CLDFB_NO_CHANNELS_MAX != *( (uint16_t *) ( hrtf_data_rptr ) ) ) if ( CLDFB_NO_CHANNELS_MAX != *( (UWord16 *) ( hrtf_data_rptr ) ) ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (CLDFB_NO_CHANNELS_MAX)" ); } hrtf_data_rptr += sizeof( uint16_t ); hrtf_data_rptr += sizeof( UWord16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricReverberationTimes_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q26 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricReverberationEneCorrections_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q31 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; ptW16 = (Word16 *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { ( *hHRTF )->parametricEarlyPartEneCorrection_fx[j] = L_shl_r( L_deposit_l( ptW16[j] ), Q28 - factorQ ); } hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( Word16 ); return IVAS_ERR_OK; } Loading @@ -1806,13 +1806,13 @@ ivas_error load_fastconv_HRTF_from_binary( ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; int16_t asFastconv = 0; Word16 hrtf_id; Word16 asFastconv = 0; bool load = false; BINAURAL_INPUT_AUDIO_CONFIG hrtf_set_binaural_cfg; Loading Loading @@ -1918,13 +1918,13 @@ ivas_error load_parambin_HRTF_from_binary( ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; int16_t asParam = 0; Word16 hrtf_id; Word16 asParam = 0; if ( hrtfReader == NULL || hrtfReader->file == NULL ) { Loading Loading @@ -2016,18 +2016,18 @@ ivas_error load_Crend_HRTF_from_binary( const hrtfFileReader *hrtfReader, /* i : pointer to hrtfFileReader handle */ const IVAS_AUDIO_CONFIG OutputConfig, /* i : output audio configuration */ const IVAS_AUDIO_CONFIG hrtf_set_audio_cfg, /* i : HRTF set audio config. */ const int32_t sampleRate /* i : sample rate */ const Word32 sampleRate /* i : sample rate */ ) { FILE *f_hrtf; int32_t hrtf_data_size_max; Word32 hrtf_data_size_max; char *hrtf_data; ivas_hrtfs_header_t hrtf_header; ivas_error header_check_result; ivas_hrtfs_file_header_t hrtfs_file_header; int16_t hrtf_id; Word16 hrtf_id; bool load = false; int16_t asCrend = 0; Word16 asCrend = 0; BINAURAL_INPUT_AUDIO_CONFIG hrtf_set_binaural_cfg; /* convert audio config. to HRTF binaural config */ Loading Loading @@ -2138,7 +2138,7 @@ void destroy_crend_hrtf( #ifdef FIX_2249_MEMORY_LEAK_IN_SBA ivas_HRTF_CRend_binary_close_fx( hHrtfCrend ); #else uint16_t i, j; UWord16 i, j; test(); if ( *hHrtfCrend != NULL && hHrtfCrend != NULL ) Loading