Loading lib_dec/lib_dec_fx.c +44 −2 Original line number Diff line number Diff line Loading @@ -3038,7 +3038,49 @@ ivas_error IVAS_DEC_AddAcousticEnvironment( return IVAS_ERR_FAILED_ALLOC; } memcpy( ppAE, st_ivas->pAcousticEnvironments, st_ivas->acousticEnvironmentsCount * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); FOR( n = 0; n < st_ivas->acousticEnvironmentsCount; n++ ) { pAE = &ppAE[n]; pAE->aeID = roomAcousticsConfig.aeID; pAE->nBands = roomAcousticsConfig.nBands; pAE->acousticPreDelay_fx = roomAcousticsConfig.acousticPreDelay_fx; pAE->inputPreDelay_fx = roomAcousticsConfig.inputPreDelay_fx; Copy32( roomAcousticsConfig.pFc_input_fx, pAE->pFc_input_fx, CLDFB_NO_CHANNELS_MAX ); // Q16 Copy32( roomAcousticsConfig.pAcoustic_rt60_fx, pAE->pAcoustic_rt60_fx, CLDFB_NO_CHANNELS_MAX ); // Q26 Copy32( roomAcousticsConfig.pAcoustic_dsr_fx, pAE->pAcoustic_dsr_fx, CLDFB_NO_CHANNELS_MAX ); // Q30 pAE->use_er = roomAcousticsConfig.use_er; move16(); move16(); move32(); move32(); move16(); IF( EQ_16( pAE->use_er, 1 ) ) { pAE->lowComplexity = roomAcousticsConfig.lowComplexity; move32(); pAE->dimensions.x_fx = roomAcousticsConfig.dimensions.x_fx; pAE->dimensions.y_fx = roomAcousticsConfig.dimensions.y_fx; pAE->dimensions.z_fx = roomAcousticsConfig.dimensions.z_fx; move32(); move32(); move32(); pAE->ListenerOrigin.x_fx = roomAcousticsConfig.ListenerOrigin.x_fx; pAE->ListenerOrigin.y_fx = roomAcousticsConfig.ListenerOrigin.y_fx; pAE->ListenerOrigin.z_fx = roomAcousticsConfig.ListenerOrigin.z_fx; move32(); move32(); move32(); Copy32( roomAcousticsConfig.AbsCoeff_fx, pAE->AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } } free( st_ivas->pAcousticEnvironments ); st_ivas->pAcousticEnvironments = ppAE; Loading Loading @@ -3488,7 +3530,7 @@ static ivas_error feedAcousticEnvPI( move32(); move32(); Copy32( hRenderConfig->roomAcoustics.AbsCoeff_fx, hAcoustEnvPI.absorbCoeffs_fx, IVAS_ROOM_ABS_COEFF ); Copy32( hAcoustEnvPI.absorbCoeffs_fx, hRenderConfig->roomAcoustics.AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } IF( ( error = IVAS_DEC_AddAcousticEnvironment( hIvasDec, acEnv ) ) != IVAS_ERR_OK ) Loading Loading
lib_dec/lib_dec_fx.c +44 −2 Original line number Diff line number Diff line Loading @@ -3038,7 +3038,49 @@ ivas_error IVAS_DEC_AddAcousticEnvironment( return IVAS_ERR_FAILED_ALLOC; } memcpy( ppAE, st_ivas->pAcousticEnvironments, st_ivas->acousticEnvironmentsCount * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); FOR( n = 0; n < st_ivas->acousticEnvironmentsCount; n++ ) { pAE = &ppAE[n]; pAE->aeID = roomAcousticsConfig.aeID; pAE->nBands = roomAcousticsConfig.nBands; pAE->acousticPreDelay_fx = roomAcousticsConfig.acousticPreDelay_fx; pAE->inputPreDelay_fx = roomAcousticsConfig.inputPreDelay_fx; Copy32( roomAcousticsConfig.pFc_input_fx, pAE->pFc_input_fx, CLDFB_NO_CHANNELS_MAX ); // Q16 Copy32( roomAcousticsConfig.pAcoustic_rt60_fx, pAE->pAcoustic_rt60_fx, CLDFB_NO_CHANNELS_MAX ); // Q26 Copy32( roomAcousticsConfig.pAcoustic_dsr_fx, pAE->pAcoustic_dsr_fx, CLDFB_NO_CHANNELS_MAX ); // Q30 pAE->use_er = roomAcousticsConfig.use_er; move16(); move16(); move32(); move32(); move16(); IF( EQ_16( pAE->use_er, 1 ) ) { pAE->lowComplexity = roomAcousticsConfig.lowComplexity; move32(); pAE->dimensions.x_fx = roomAcousticsConfig.dimensions.x_fx; pAE->dimensions.y_fx = roomAcousticsConfig.dimensions.y_fx; pAE->dimensions.z_fx = roomAcousticsConfig.dimensions.z_fx; move32(); move32(); move32(); pAE->ListenerOrigin.x_fx = roomAcousticsConfig.ListenerOrigin.x_fx; pAE->ListenerOrigin.y_fx = roomAcousticsConfig.ListenerOrigin.y_fx; pAE->ListenerOrigin.z_fx = roomAcousticsConfig.ListenerOrigin.z_fx; move32(); move32(); move32(); Copy32( roomAcousticsConfig.AbsCoeff_fx, pAE->AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } } free( st_ivas->pAcousticEnvironments ); st_ivas->pAcousticEnvironments = ppAE; Loading Loading @@ -3488,7 +3530,7 @@ static ivas_error feedAcousticEnvPI( move32(); move32(); Copy32( hRenderConfig->roomAcoustics.AbsCoeff_fx, hAcoustEnvPI.absorbCoeffs_fx, IVAS_ROOM_ABS_COEFF ); Copy32( hAcoustEnvPI.absorbCoeffs_fx, hRenderConfig->roomAcoustics.AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } IF( ( error = IVAS_DEC_AddAcousticEnvironment( hIvasDec, acEnv ) ) != IVAS_ERR_OK ) Loading