Commit 7c809a84 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Fixes unitialized earlyPartEneCorrection_fx for FASTCONV path. Issue 1371 in IVAS float PC repo.

parent cdd587f8
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1362,7 +1362,7 @@ ivas_error ivas_binRenderer_open_fx(
            pRoomAcoustics = &( st_ivas->hRenderConfig->roomAcoustics );
        }
#ifdef FIX_1139_REV_COLORATION_SHORT_T60
        IF( NE_32( ( error = ivas_binaural_reverb_init( &( hBinRenderer->hReverb ), st_ivas->hHrtfStatistics, hBinRenderer->conv_band, hBinRenderer->timeSlots, pRoomAcoustics, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv->fastconvReverberationTimes_fx, st_ivas->hHrtfFastConv->fastconvReverberationEneCorrections_fx, hBinRenderer->earlyPartEneCorrection_fx ) ), IVAS_ERR_OK ) )
        IF( NE_32( ( error = ivas_binaural_reverb_init( &( hBinRenderer->hReverb ), st_ivas->hHrtfStatistics, hBinRenderer->conv_band, hBinRenderer->timeSlots, pRoomAcoustics, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv->fastconvReverberationTimes_fx, st_ivas->hHrtfFastConv->fastconvReverberationEneCorrections_fx, NULL ) ), IVAS_ERR_OK ) )
#else
        IF( NE_32( ( error = ivas_binaural_reverb_init( &( hBinRenderer->hReverb ), st_ivas->hHrtfStatistics, hBinRenderer->conv_band, hBinRenderer->timeSlots, pRoomAcoustics, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv->fastconvReverberationTimes_fx, st_ivas->hHrtfFastConv->fastconvReverberationEneCorrections_fx ) ), IVAS_ERR_OK ) )
#endif
+10 −4
Original line number Diff line number Diff line
@@ -2583,8 +2583,11 @@ ivas_error ivas_binaural_reverb_init(
                energyModifier = L_shl_sat( energyModifier, sub( scale, 1 ) );                                  /* Store in Q30 as range is [0,1]  */

                /* Adjust early and late energies, by moving late energy to early energy */
                IF( earlyEne != NULL )
                {
                    adjustedEarlyEne = L_shr( Mpy_32_32( revEne[bin], energyModifier ), 2 ); /* Q31 * Q30 mult, shift from Q30 to Q28 */
                    adjustedEarlyEne = L_add( adjustedEarlyEne, earlyEne[bin] );             /* Q28 */
                }

                adjustedLateEne = L_sub( ONE_IN_Q30, energyModifier );                       /* Q30 */
                adjustedLateEne = L_shl_sat( Mpy_32_32( adjustedLateEne, revEne[bin] ), 1 ); /* Q30 * Q31 mult, shift back to Q31 */
@@ -2594,11 +2597,14 @@ ivas_error ivas_binaural_reverb_init(
                move32();
                revEne[bin] = adjustedLateEne;
                move32();
                IF( earlyEne != NULL )
                {
                    earlyEne[bin] = adjustedEarlyEne;
                    move32();
                }
            }
        }
    }
#endif

    error = ivas_binaural_reverb_open_fx( hReverbPr, numBins, numCldfbSlotsPerFrame, sampling_rate, revTimes, revEne, preDelay );