Loading lib_dec/ivas_binRenderer_internal.c +40 −23 Original line number Diff line number Diff line Loading @@ -708,7 +708,7 @@ ivas_error ivas_allocate_binaural_hrtf( } #ifdef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) if ( renderer_type == RENDERER_BINAURAL_FASTCONV && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif Loading Loading @@ -753,7 +753,7 @@ ivas_error ivas_allocate_binaural_hrtf( } } #ifdef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif Loading Loading @@ -871,46 +871,28 @@ static ivas_error ivas_binaural_hrtf_open( } for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) { #ifndef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir; k++ ) { HrtfFastConv->leftHRIRReal[i][j][k] = (float) leftHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->leftHRIRImag[i][j][k] = (float) leftHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRReal[i][j][k] = (float) rightHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRImag[i][j][k] = (float) rightHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); } #else HrtfFastConv->leftHRIRReal[i][j] = leftHRIRReal[i][j]; HrtfFastConv->leftHRIRImag[i][j] = leftHRIRImag[i][j]; HrtfFastConv->rightHRIRReal[i][j] = rightHRIRReal[i][j]; HrtfFastConv->rightHRIRImag[i][j] = rightHRIRImag[i][j]; #endif } } else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_brir; k++ ) { HrtfFastConv->leftBRIRReal[i][j][k] = (float) leftBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->leftBRIRImag[i][j][k] = (float) leftBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRReal[i][j][k] = (float) rightBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRImag[i][j][k] = (float) rightBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); } #else HrtfFastConv->leftBRIRReal[i][j] = leftBRIRReal[i][j]; HrtfFastConv->leftBRIRImag[i][j] = leftBRIRImag[i][j]; HrtfFastConv->rightBRIRReal[i][j] = rightBRIRReal[i][j]; HrtfFastConv->rightBRIRImag[i][j] = rightBRIRImag[i][j]; #endif } } #endif if ( input_config == IVAS_AUDIO_CONFIG_HOA3 ) { for ( j = 0; j < HOA3_CHANNELS; j++ ) Loading @@ -931,7 +913,11 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } #ifdef FIX_1123_FASTCONV_16BIT_ROM else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) #else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) #endif { for ( j = 0; j < HOA2_CHANNELS; j++ ) { Loading @@ -951,7 +937,7 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } if ( input_config == IVAS_AUDIO_CONFIG_FOA ) else if ( input_config == IVAS_AUDIO_CONFIG_FOA ) { for ( j = 0; j < FOA_CHANNELS; j++ ) { Loading @@ -971,6 +957,37 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } #ifdef FIX_1123_FASTCONV_16BIT_ROM else { if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { for ( k = 0; k < HrtfFastConv->ntaps_hrir; k++ ) { HrtfFastConv->leftHRIRReal[i][j][k] = (float) leftHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->leftHRIRImag[i][j][k] = (float) leftHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRReal[i][j][k] = (float) rightHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRImag[i][j][k] = (float) rightHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); } } } else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { for ( k = 0; k < HrtfFastConv->ntaps_brir; k++ ) { HrtfFastConv->leftBRIRReal[i][j][k] = (float) leftBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->leftBRIRImag[i][j][k] = (float) leftBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRReal[i][j][k] = (float) rightBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRImag[i][j][k] = (float) rightBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); } } } } #endif } #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) Loading Loading
lib_dec/ivas_binRenderer_internal.c +40 −23 Original line number Diff line number Diff line Loading @@ -708,7 +708,7 @@ ivas_error ivas_allocate_binaural_hrtf( } #ifdef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) if ( renderer_type == RENDERER_BINAURAL_FASTCONV && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif Loading Loading @@ -753,7 +753,7 @@ ivas_error ivas_allocate_binaural_hrtf( } } #ifdef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif Loading Loading @@ -871,46 +871,28 @@ static ivas_error ivas_binaural_hrtf_open( } for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) { #ifndef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir; k++ ) { HrtfFastConv->leftHRIRReal[i][j][k] = (float) leftHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->leftHRIRImag[i][j][k] = (float) leftHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRReal[i][j][k] = (float) rightHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRImag[i][j][k] = (float) rightHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); } #else HrtfFastConv->leftHRIRReal[i][j] = leftHRIRReal[i][j]; HrtfFastConv->leftHRIRImag[i][j] = leftHRIRImag[i][j]; HrtfFastConv->rightHRIRReal[i][j] = rightHRIRReal[i][j]; HrtfFastConv->rightHRIRImag[i][j] = rightHRIRImag[i][j]; #endif } } else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_brir; k++ ) { HrtfFastConv->leftBRIRReal[i][j][k] = (float) leftBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->leftBRIRImag[i][j][k] = (float) leftBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRReal[i][j][k] = (float) rightBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRImag[i][j][k] = (float) rightBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); } #else HrtfFastConv->leftBRIRReal[i][j] = leftBRIRReal[i][j]; HrtfFastConv->leftBRIRImag[i][j] = leftBRIRImag[i][j]; HrtfFastConv->rightBRIRReal[i][j] = rightBRIRReal[i][j]; HrtfFastConv->rightBRIRImag[i][j] = rightBRIRImag[i][j]; #endif } } #endif if ( input_config == IVAS_AUDIO_CONFIG_HOA3 ) { for ( j = 0; j < HOA3_CHANNELS; j++ ) Loading @@ -931,7 +913,11 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } #ifdef FIX_1123_FASTCONV_16BIT_ROM else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) #else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) #endif { for ( j = 0; j < HOA2_CHANNELS; j++ ) { Loading @@ -951,7 +937,7 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } if ( input_config == IVAS_AUDIO_CONFIG_FOA ) else if ( input_config == IVAS_AUDIO_CONFIG_FOA ) { for ( j = 0; j < FOA_CHANNELS; j++ ) { Loading @@ -971,6 +957,37 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } #ifdef FIX_1123_FASTCONV_16BIT_ROM else { if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { for ( k = 0; k < HrtfFastConv->ntaps_hrir; k++ ) { HrtfFastConv->leftHRIRReal[i][j][k] = (float) leftHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->leftHRIRImag[i][j][k] = (float) leftHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRReal[i][j][k] = (float) rightHRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); HrtfFastConv->rightHRIRImag[i][j][k] = (float) rightHRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); } } } else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { for ( j = 0; j < HRTF_LS_CHANNELS; j++ ) { for ( k = 0; k < HrtfFastConv->ntaps_brir; k++ ) { HrtfFastConv->leftBRIRReal[i][j][k] = (float) leftBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->leftBRIRImag[i][j][k] = (float) leftBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRReal[i][j][k] = (float) rightBRIRReal[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); HrtfFastConv->rightBRIRImag[i][j][k] = (float) rightBRIRImag[i][j][k] * powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); } } } } #endif } #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) Loading