Loading lib_dec/lib_dec_fx.c +47 −7 Original line number Diff line number Diff line Loading @@ -3021,14 +3021,59 @@ ivas_error IVAS_DEC_AddAcousticEnvironment( /* If not found */ IF( pAE == NULL ) { IVAS_ROOM_ACOUSTICS_CONFIG_DATA *ppAE = realloc( st_ivas->pAcousticEnvironments, ( st_ivas->acousticEnvironmentsCount + 1 ) * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); IVAS_ROOM_ACOUSTICS_CONFIG_DATA *ppAE = malloc( ( st_ivas->acousticEnvironmentsCount + 1 ) * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); IF( ppAE == NULL ) { return IVAS_ERR_FAILED_ALLOC; } FOR( n = 0; n < st_ivas->acousticEnvironmentsCount; n++ ) { pAE = &ppAE[n]; pAE->aeID = st_ivas->pAcousticEnvironments[n].aeID; pAE->nBands = st_ivas->pAcousticEnvironments[n].nBands; pAE->acousticPreDelay_fx = st_ivas->pAcousticEnvironments[n].acousticPreDelay_fx; pAE->inputPreDelay_fx = st_ivas->pAcousticEnvironments[n].inputPreDelay_fx; Copy32( st_ivas->pAcousticEnvironments[n].pFc_input_fx, pAE->pFc_input_fx, CLDFB_NO_CHANNELS_MAX ); // Q16 Copy32( st_ivas->pAcousticEnvironments[n].pAcoustic_rt60_fx, pAE->pAcoustic_rt60_fx, CLDFB_NO_CHANNELS_MAX ); // Q26 Copy32( st_ivas->pAcousticEnvironments[n].pAcoustic_dsr_fx, pAE->pAcoustic_dsr_fx, CLDFB_NO_CHANNELS_MAX ); // Q30 pAE->use_er = st_ivas->pAcousticEnvironments[n].use_er; move16(); move16(); move32(); move32(); move16(); IF( EQ_16( pAE->use_er, 1 ) ) { pAE->lowComplexity = st_ivas->pAcousticEnvironments[n].lowComplexity; move32(); pAE->dimensions.x_fx = st_ivas->pAcousticEnvironments[n].dimensions.x_fx; pAE->dimensions.y_fx = st_ivas->pAcousticEnvironments[n].dimensions.y_fx; pAE->dimensions.z_fx = st_ivas->pAcousticEnvironments[n].dimensions.z_fx; move32(); move32(); move32(); pAE->ListenerOrigin.x_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.x_fx; pAE->ListenerOrigin.y_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.y_fx; pAE->ListenerOrigin.z_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.z_fx; move32(); move32(); move32(); Copy32( st_ivas->pAcousticEnvironments[n].AbsCoeff_fx, pAE->AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } } free( st_ivas->pAcousticEnvironments ); st_ivas->pAcousticEnvironments = ppAE; n = st_ivas->acousticEnvironmentsCount++; pAE = &st_ivas->pAcousticEnvironments[n]; move32(); Loading Loading @@ -3475,11 +3520,7 @@ static ivas_error feedAcousticEnvPI( move32(); move32(); FOR( Word16 i = 0; i < IVAS_ROOM_ABS_COEFF; i++ ) { hRenderConfig->roomAcoustics.AbsCoeff[i] = hAcoustEnvPI.absorbCoeffs[i]; move16(); } Copy32( hAcoustEnvPI.absorbCoeffs_fx, hRenderConfig->roomAcoustics.AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } IF( ( error = IVAS_DEC_AddAcousticEnvironment( hIvasDec, acEnv ) ) != IVAS_ERR_OK ) Loading Loading @@ -6998,7 +7039,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( { UWord32 piDataType = piData->data.noPiData.piDataType; move32(); numPiData = UL_subNsD( numPiData, 1 ); /* Subtraction of WHILE variable */ SWITCH( piDataType ) { Loading Loading
lib_dec/lib_dec_fx.c +47 −7 Original line number Diff line number Diff line Loading @@ -3021,14 +3021,59 @@ ivas_error IVAS_DEC_AddAcousticEnvironment( /* If not found */ IF( pAE == NULL ) { IVAS_ROOM_ACOUSTICS_CONFIG_DATA *ppAE = realloc( st_ivas->pAcousticEnvironments, ( st_ivas->acousticEnvironmentsCount + 1 ) * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); IVAS_ROOM_ACOUSTICS_CONFIG_DATA *ppAE = malloc( ( st_ivas->acousticEnvironmentsCount + 1 ) * sizeof( IVAS_ROOM_ACOUSTICS_CONFIG_DATA ) ); IF( ppAE == NULL ) { return IVAS_ERR_FAILED_ALLOC; } FOR( n = 0; n < st_ivas->acousticEnvironmentsCount; n++ ) { pAE = &ppAE[n]; pAE->aeID = st_ivas->pAcousticEnvironments[n].aeID; pAE->nBands = st_ivas->pAcousticEnvironments[n].nBands; pAE->acousticPreDelay_fx = st_ivas->pAcousticEnvironments[n].acousticPreDelay_fx; pAE->inputPreDelay_fx = st_ivas->pAcousticEnvironments[n].inputPreDelay_fx; Copy32( st_ivas->pAcousticEnvironments[n].pFc_input_fx, pAE->pFc_input_fx, CLDFB_NO_CHANNELS_MAX ); // Q16 Copy32( st_ivas->pAcousticEnvironments[n].pAcoustic_rt60_fx, pAE->pAcoustic_rt60_fx, CLDFB_NO_CHANNELS_MAX ); // Q26 Copy32( st_ivas->pAcousticEnvironments[n].pAcoustic_dsr_fx, pAE->pAcoustic_dsr_fx, CLDFB_NO_CHANNELS_MAX ); // Q30 pAE->use_er = st_ivas->pAcousticEnvironments[n].use_er; move16(); move16(); move32(); move32(); move16(); IF( EQ_16( pAE->use_er, 1 ) ) { pAE->lowComplexity = st_ivas->pAcousticEnvironments[n].lowComplexity; move32(); pAE->dimensions.x_fx = st_ivas->pAcousticEnvironments[n].dimensions.x_fx; pAE->dimensions.y_fx = st_ivas->pAcousticEnvironments[n].dimensions.y_fx; pAE->dimensions.z_fx = st_ivas->pAcousticEnvironments[n].dimensions.z_fx; move32(); move32(); move32(); pAE->ListenerOrigin.x_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.x_fx; pAE->ListenerOrigin.y_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.y_fx; pAE->ListenerOrigin.z_fx = st_ivas->pAcousticEnvironments[n].ListenerOrigin.z_fx; move32(); move32(); move32(); Copy32( st_ivas->pAcousticEnvironments[n].AbsCoeff_fx, pAE->AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } } free( st_ivas->pAcousticEnvironments ); st_ivas->pAcousticEnvironments = ppAE; n = st_ivas->acousticEnvironmentsCount++; pAE = &st_ivas->pAcousticEnvironments[n]; move32(); Loading Loading @@ -3475,11 +3520,7 @@ static ivas_error feedAcousticEnvPI( move32(); move32(); FOR( Word16 i = 0; i < IVAS_ROOM_ABS_COEFF; i++ ) { hRenderConfig->roomAcoustics.AbsCoeff[i] = hAcoustEnvPI.absorbCoeffs[i]; move16(); } Copy32( hAcoustEnvPI.absorbCoeffs_fx, hRenderConfig->roomAcoustics.AbsCoeff_fx, IVAS_ROOM_ABS_COEFF ); } IF( ( error = IVAS_DEC_AddAcousticEnvironment( hIvasDec, acEnv ) ) != IVAS_ERR_OK ) Loading Loading @@ -6998,7 +7039,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( { UWord32 piDataType = piData->data.noPiData.piDataType; move32(); numPiData = UL_subNsD( numPiData, 1 ); /* Subtraction of WHILE variable */ SWITCH( piDataType ) { Loading