Loading lib_rend/ivas_crend.c +211 −278 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ #ifdef FIX_POINT_HRTF_FILE_OPTIM ivas_error ivas_Crend_hrtf_init( HRTFS_CREND_DATA *hHrtf_in, /* i/o: HRTF handle */ HRTFS_CREND_DATA *hHrtf /* i/o: HRTF handle */ ) #else Loading @@ -72,8 +71,6 @@ ivas_error ivas_hrtf_init( return IVAS_ERR_WRONG_PARAMS; } IF( hHrtf_in == NULL ) { hHrtf->latency_s_fx = 0; hHrtf->gain_lfe_fx = 0; hHrtf->max_num_ir = 0; Loading Loading @@ -134,76 +131,11 @@ ivas_error ivas_hrtf_init( hHrtf->pOut_to_bin_diffuse_im_dyn_fx[j] = NULL; #endif } } else { hHrtf->latency_s_fx = hHrtf_in->latency_s_fx; hHrtf->gain_lfe_fx = hHrtf_in->gain_lfe_fx; hHrtf->max_num_ir = hHrtf_in->max_num_ir; hHrtf->max_num_iterations = hHrtf_in->max_num_iterations; hHrtf->index_frequency_max_diffuse = hHrtf_in->index_frequency_max_diffuse; move32(); move16(); move16(); move16(); move16(); #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->factor_Q_latency_s_fx = hHrtf_in->factor_Q_latency_s_fx; move16(); hHrtf->factor_Q_inv_diffuse_weight = hHrtf_in->factor_Q_inv_diffuse_weight; move16(); hHrtf->factor_Q_pOut_to_bin = hHrtf_in->factor_Q_pOut_to_bin; move16(); hHrtf->same_inv_diffuse_weight = hHrtf_in->same_inv_diffuse_weight; move16(); #endif FOR( i = 0; i < MAX_INTERN_CHANNELS; i++ ) { #ifndef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->inv_diffuse_weight_fx[i] = hHrtf_in->inv_diffuse_weight_fx[i]; move16(); #endif FOR( j = 0; j < BINAURAL_CHANNELS; j++ ) { #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->inv_diffuse_weight_fx[j][i] = hHrtf_in->inv_diffuse_weight_fx[i][j]; move16(); #endif hHrtf->num_iterations[i][j] = hHrtf_in->num_iterations[i][j]; move16(); hHrtf->pIndex_frequency_max[i][j] = hHrtf_in->pIndex_frequency_max[i][j]; hHrtf->pOut_to_bin_re_fx[i][j] = hHrtf_in->pOut_to_bin_re_fx[i][j]; hHrtf->pOut_to_bin_im_fx[i][j] = hHrtf_in->pOut_to_bin_im_fx[i][j]; #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->pIndex_frequency_max_dyn[i][j] = hHrtf_in->pIndex_frequency_max_dyn[i][j]; hHrtf->pOut_to_bin_re_dyn_fx[i][j] = hHrtf_in->pOut_to_bin_re_dyn_fx[i][j]; hHrtf->pOut_to_bin_im_dyn_fx[i][j] = hHrtf_in->pOut_to_bin_im_dyn_fx[i][j]; #endif } } FOR( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = hHrtf_in->num_iterations_diffuse[j]; move16(); hHrtf->pIndex_frequency_max_diffuse[j] = hHrtf_in->pIndex_frequency_max_diffuse[j]; hHrtf->pOut_to_bin_diffuse_re_fx[j] = hHrtf_in->pOut_to_bin_diffuse_re_fx[j]; hHrtf->pOut_to_bin_diffuse_im_fx[j] = hHrtf_in->pOut_to_bin_diffuse_im_fx[j]; #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->pIndex_frequency_max_diffuse_dyn[j] = hHrtf_in->pIndex_frequency_max_diffuse_dyn[j]; hHrtf->pOut_to_bin_diffuse_re_dyn_fx[j] = hHrtf_in->pOut_to_bin_diffuse_re_dyn_fx[j]; hHrtf->pOut_to_bin_diffuse_im_dyn_fx[j] = hHrtf_in->pOut_to_bin_diffuse_im_dyn_fx[j]; #endif } } #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->init_from_rom = 1; move16(); #endif return IVAS_ERR_OK; } Loading @@ -221,6 +153,8 @@ static ivas_error ivas_hrtf_open( ivas_error error; IF( *hHrtf_out == NULL ) { if ( hHrtf_in == NULL ) { IF( ( hHrtf = (HRTFS_HANDLE) malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) { Loading @@ -228,7 +162,7 @@ static ivas_error ivas_hrtf_open( } #ifdef FIX_POINT_HRTF_FILE_OPTIM IF( NE_32( ( error = ivas_Crend_hrtf_init( hHrtf_in, hHrtf ) ), IVAS_ERR_OK ) ) IF( NE_32( ( error = ivas_Crend_hrtf_init( hHrtf ) ), IVAS_ERR_OK ) ) #else IF( NE_32( ( error = ivas_hrtf_init( hHrtf ) ), IVAS_ERR_OK ) ) #endif Loading @@ -238,6 +172,11 @@ static ivas_error ivas_hrtf_open( *hHrtf_out = hHrtf; } else { *hHrtf_out = hHrtf_in; } } ELSE { return IVAS_ERR_INTERNAL; Loading Loading @@ -321,15 +260,6 @@ static ivas_error ivas_rend_initCrend_fx( { return error; } IF( hHrtfCrend != NULL ) { hHrtf->init_from_rom = 0; } ELSE { hHrtf->init_from_rom = 1; } move16(); #else IF( NE_32( ivas_hrtf_open( &hHrtf ), IVAS_ERR_OK ) ) { Loading @@ -350,7 +280,7 @@ static ivas_error ivas_rend_initCrend_fx( return IVAS_ERR_INTERNAL_FATAL; } IF( hHrtf->init_from_rom ) IF( hHrtf->init_from_rom == 1 ) { IF( EQ_16( inConfigType, IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ) { Loading Loading @@ -1090,6 +1020,8 @@ static ivas_error ivas_rend_initCrend_fx( } } ELSE { if ( hHrtf->init_from_rom == 0 ) { IF( EQ_16( inConfigType, IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ) { Loading Loading @@ -1181,6 +1113,8 @@ static ivas_error ivas_rend_initCrend_fx( #undef WMC_TOOL_SKIP } } hHrtf->init_from_rom = inConfig; } } hHrtf->same_inv_diffuse_weight = 1; Loading Loading @@ -2830,7 +2764,7 @@ void ivas_rend_closeCrend( } #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT IF( ( *pCrend )->hHrtfCrend != NULL && ( *pCrend )->hHrtfCrend->init_from_rom ) IF( ( *pCrend )->hHrtfCrend != NULL && ( *pCrend )->hHrtfCrend->init_from_rom == 1 ) #else IF( ( *pCrend )->hHrtfCrend != NULL ) #endif Loading @@ -2838,7 +2772,6 @@ void ivas_rend_closeCrend( ivas_hrtf_close( &( *pCrend )->hHrtfCrend ); } { hCrend = ( *pCrend )->hCrend; IF( hCrend != NULL ) { Loading Loading @@ -2931,7 +2864,7 @@ void ivas_rend_closeCrend( hCrend = NULL; ( *pCrend )->hCrend = hCrend; } } free( *pCrend ); *pCrend = NULL; Loading lib_rend/ivas_hrtf.c +1 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ ivas_error ivas_HRTF_CRend_binary_open_fx( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( error = ivas_Crend_hrtf_init( NULL, *hHrtfCrend ) ) != IVAS_ERR_OK ) if ( ( error = ivas_Crend_hrtf_init( *hHrtfCrend ) ) != IVAS_ERR_OK ) { return error; } Loading lib_rend/ivas_prot_rend.h +0 −1 Original line number Diff line number Diff line Loading @@ -1315,7 +1315,6 @@ void ivas_rend_closeCrend( #ifdef FIX_POINT_HRTF_FILE_OPTIM ivas_error ivas_Crend_hrtf_init( HRTFS_CREND_DATA *hHrtf_in, /* i/o: HRTF handle */ HRTFS_CREND_DATA *hHrtf /* i/o: HRTF handle */ ); #else Loading lib_rend/lib_rend.c +6 −1 Original line number Diff line number Diff line Loading @@ -2718,6 +2718,9 @@ static ivas_error updateSbaPanGains( SWITCH( outConfig ) { case IVAS_AUDIO_CONFIG_BINAURAL: #ifdef FIX_POINT_HRTF_FILE_FORMAT_REVERB case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: #endif { #ifdef FIX_POINT_HRTF_FILE_FORMAT_REVERB IF( NE_32( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, hMixconv, hHrtfStatistics, *rendCtx.pOutSampleRate ) ), IVAS_ERR_OK ) ) Loading @@ -2730,7 +2733,9 @@ static ivas_error updateSbaPanGains( } BREAK; case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR: #ifndef FIX_POINT_HRTF_FILE_FORMAT_REVERB case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: #endif IF( NE_32( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_AUDIO_CONFIG_7_1_4, NULL ) ), IVAS_ERR_OK ) ) { return error; Loading Loading @@ -6760,10 +6765,10 @@ static ivas_error renderInputSba( SWITCH( outConfig ) { case IVAS_AUDIO_CONFIG_BINAURAL: case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: error = renderSbaToBinaural( sbaInput, outConfig, outAudio ); BREAK; case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR: case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: error = renderSbaToBinauralRoom( sbaInput, outConfig, outAudio ); BREAK; default: Loading Loading
lib_rend/ivas_crend.c +211 −278 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ #ifdef FIX_POINT_HRTF_FILE_OPTIM ivas_error ivas_Crend_hrtf_init( HRTFS_CREND_DATA *hHrtf_in, /* i/o: HRTF handle */ HRTFS_CREND_DATA *hHrtf /* i/o: HRTF handle */ ) #else Loading @@ -72,8 +71,6 @@ ivas_error ivas_hrtf_init( return IVAS_ERR_WRONG_PARAMS; } IF( hHrtf_in == NULL ) { hHrtf->latency_s_fx = 0; hHrtf->gain_lfe_fx = 0; hHrtf->max_num_ir = 0; Loading Loading @@ -134,76 +131,11 @@ ivas_error ivas_hrtf_init( hHrtf->pOut_to_bin_diffuse_im_dyn_fx[j] = NULL; #endif } } else { hHrtf->latency_s_fx = hHrtf_in->latency_s_fx; hHrtf->gain_lfe_fx = hHrtf_in->gain_lfe_fx; hHrtf->max_num_ir = hHrtf_in->max_num_ir; hHrtf->max_num_iterations = hHrtf_in->max_num_iterations; hHrtf->index_frequency_max_diffuse = hHrtf_in->index_frequency_max_diffuse; move32(); move16(); move16(); move16(); move16(); #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->factor_Q_latency_s_fx = hHrtf_in->factor_Q_latency_s_fx; move16(); hHrtf->factor_Q_inv_diffuse_weight = hHrtf_in->factor_Q_inv_diffuse_weight; move16(); hHrtf->factor_Q_pOut_to_bin = hHrtf_in->factor_Q_pOut_to_bin; move16(); hHrtf->same_inv_diffuse_weight = hHrtf_in->same_inv_diffuse_weight; move16(); #endif FOR( i = 0; i < MAX_INTERN_CHANNELS; i++ ) { #ifndef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->inv_diffuse_weight_fx[i] = hHrtf_in->inv_diffuse_weight_fx[i]; move16(); #endif FOR( j = 0; j < BINAURAL_CHANNELS; j++ ) { #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->inv_diffuse_weight_fx[j][i] = hHrtf_in->inv_diffuse_weight_fx[i][j]; move16(); #endif hHrtf->num_iterations[i][j] = hHrtf_in->num_iterations[i][j]; move16(); hHrtf->pIndex_frequency_max[i][j] = hHrtf_in->pIndex_frequency_max[i][j]; hHrtf->pOut_to_bin_re_fx[i][j] = hHrtf_in->pOut_to_bin_re_fx[i][j]; hHrtf->pOut_to_bin_im_fx[i][j] = hHrtf_in->pOut_to_bin_im_fx[i][j]; #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->pIndex_frequency_max_dyn[i][j] = hHrtf_in->pIndex_frequency_max_dyn[i][j]; hHrtf->pOut_to_bin_re_dyn_fx[i][j] = hHrtf_in->pOut_to_bin_re_dyn_fx[i][j]; hHrtf->pOut_to_bin_im_dyn_fx[i][j] = hHrtf_in->pOut_to_bin_im_dyn_fx[i][j]; #endif } } FOR( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = hHrtf_in->num_iterations_diffuse[j]; move16(); hHrtf->pIndex_frequency_max_diffuse[j] = hHrtf_in->pIndex_frequency_max_diffuse[j]; hHrtf->pOut_to_bin_diffuse_re_fx[j] = hHrtf_in->pOut_to_bin_diffuse_re_fx[j]; hHrtf->pOut_to_bin_diffuse_im_fx[j] = hHrtf_in->pOut_to_bin_diffuse_im_fx[j]; #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->pIndex_frequency_max_diffuse_dyn[j] = hHrtf_in->pIndex_frequency_max_diffuse_dyn[j]; hHrtf->pOut_to_bin_diffuse_re_dyn_fx[j] = hHrtf_in->pOut_to_bin_diffuse_re_dyn_fx[j]; hHrtf->pOut_to_bin_diffuse_im_dyn_fx[j] = hHrtf_in->pOut_to_bin_diffuse_im_dyn_fx[j]; #endif } } #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT hHrtf->init_from_rom = 1; move16(); #endif return IVAS_ERR_OK; } Loading @@ -221,6 +153,8 @@ static ivas_error ivas_hrtf_open( ivas_error error; IF( *hHrtf_out == NULL ) { if ( hHrtf_in == NULL ) { IF( ( hHrtf = (HRTFS_HANDLE) malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) { Loading @@ -228,7 +162,7 @@ static ivas_error ivas_hrtf_open( } #ifdef FIX_POINT_HRTF_FILE_OPTIM IF( NE_32( ( error = ivas_Crend_hrtf_init( hHrtf_in, hHrtf ) ), IVAS_ERR_OK ) ) IF( NE_32( ( error = ivas_Crend_hrtf_init( hHrtf ) ), IVAS_ERR_OK ) ) #else IF( NE_32( ( error = ivas_hrtf_init( hHrtf ) ), IVAS_ERR_OK ) ) #endif Loading @@ -238,6 +172,11 @@ static ivas_error ivas_hrtf_open( *hHrtf_out = hHrtf; } else { *hHrtf_out = hHrtf_in; } } ELSE { return IVAS_ERR_INTERNAL; Loading Loading @@ -321,15 +260,6 @@ static ivas_error ivas_rend_initCrend_fx( { return error; } IF( hHrtfCrend != NULL ) { hHrtf->init_from_rom = 0; } ELSE { hHrtf->init_from_rom = 1; } move16(); #else IF( NE_32( ivas_hrtf_open( &hHrtf ), IVAS_ERR_OK ) ) { Loading @@ -350,7 +280,7 @@ static ivas_error ivas_rend_initCrend_fx( return IVAS_ERR_INTERNAL_FATAL; } IF( hHrtf->init_from_rom ) IF( hHrtf->init_from_rom == 1 ) { IF( EQ_16( inConfigType, IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ) { Loading Loading @@ -1090,6 +1020,8 @@ static ivas_error ivas_rend_initCrend_fx( } } ELSE { if ( hHrtf->init_from_rom == 0 ) { IF( EQ_16( inConfigType, IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) ) { Loading Loading @@ -1181,6 +1113,8 @@ static ivas_error ivas_rend_initCrend_fx( #undef WMC_TOOL_SKIP } } hHrtf->init_from_rom = inConfig; } } hHrtf->same_inv_diffuse_weight = 1; Loading Loading @@ -2830,7 +2764,7 @@ void ivas_rend_closeCrend( } #ifdef FIX_POINT_CREND_HRTF_FILE_FORMAT IF( ( *pCrend )->hHrtfCrend != NULL && ( *pCrend )->hHrtfCrend->init_from_rom ) IF( ( *pCrend )->hHrtfCrend != NULL && ( *pCrend )->hHrtfCrend->init_from_rom == 1 ) #else IF( ( *pCrend )->hHrtfCrend != NULL ) #endif Loading @@ -2838,7 +2772,6 @@ void ivas_rend_closeCrend( ivas_hrtf_close( &( *pCrend )->hHrtfCrend ); } { hCrend = ( *pCrend )->hCrend; IF( hCrend != NULL ) { Loading Loading @@ -2931,7 +2864,7 @@ void ivas_rend_closeCrend( hCrend = NULL; ( *pCrend )->hCrend = hCrend; } } free( *pCrend ); *pCrend = NULL; Loading
lib_rend/ivas_hrtf.c +1 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ ivas_error ivas_HRTF_CRend_binary_open_fx( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( error = ivas_Crend_hrtf_init( NULL, *hHrtfCrend ) ) != IVAS_ERR_OK ) if ( ( error = ivas_Crend_hrtf_init( *hHrtfCrend ) ) != IVAS_ERR_OK ) { return error; } Loading
lib_rend/ivas_prot_rend.h +0 −1 Original line number Diff line number Diff line Loading @@ -1315,7 +1315,6 @@ void ivas_rend_closeCrend( #ifdef FIX_POINT_HRTF_FILE_OPTIM ivas_error ivas_Crend_hrtf_init( HRTFS_CREND_DATA *hHrtf_in, /* i/o: HRTF handle */ HRTFS_CREND_DATA *hHrtf /* i/o: HRTF handle */ ); #else Loading
lib_rend/lib_rend.c +6 −1 Original line number Diff line number Diff line Loading @@ -2718,6 +2718,9 @@ static ivas_error updateSbaPanGains( SWITCH( outConfig ) { case IVAS_AUDIO_CONFIG_BINAURAL: #ifdef FIX_POINT_HRTF_FILE_FORMAT_REVERB case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: #endif { #ifdef FIX_POINT_HRTF_FILE_FORMAT_REVERB IF( NE_32( ( error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, hMixconv, hHrtfStatistics, *rendCtx.pOutSampleRate ) ), IVAS_ERR_OK ) ) Loading @@ -2730,7 +2733,9 @@ static ivas_error updateSbaPanGains( } BREAK; case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR: #ifndef FIX_POINT_HRTF_FILE_FORMAT_REVERB case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: #endif IF( NE_32( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_AUDIO_CONFIG_7_1_4, NULL ) ), IVAS_ERR_OK ) ) { return error; Loading Loading @@ -6760,10 +6765,10 @@ static ivas_error renderInputSba( SWITCH( outConfig ) { case IVAS_AUDIO_CONFIG_BINAURAL: case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: error = renderSbaToBinaural( sbaInput, outConfig, outAudio ); BREAK; case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR: case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: error = renderSbaToBinauralRoom( sbaInput, outConfig, outAudio ); BREAK; default: Loading