Commit e6e0e83d authored by Jan Kiene's avatar Jan Kiene
Browse files

also read in M and S spectra

parent e7ef5b8b
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -1020,6 +1020,14 @@ static void MsStereoDecision(
    ctxM = &ctxMem[2];
    ctxS = &ctxMem[3];

    GLR = SQ_gain_estimate_stereo( specL, specR, nBitsAvailable, length );

    for ( i = 0; i < length; i++ )
    {
        specM[i] = ( specL[i] + specR[i] ) * SQRT2_OVER_2;
        specS[i] = ( specL[i] - specR[i] ) * SQRT2_OVER_2;
    }

#ifdef READ_IN_MS_DEC_SPEC_FROM_FX
    int32_t fx_buffer[512];
    int16_t q_spec;
@@ -1041,15 +1049,21 @@ static void MsStereoDecision(
    {
        specR[i] = fx_buffer[i] * scale_fac;
    }
#endif

    GLR = SQ_gain_estimate_stereo( specL, specR, nBitsAvailable, length );
    // Mid spec
    dbgread( &fx_buffer[0], sizeof( int32_t ), 512, "specM_fx" );
    for ( i = 0; i < 512; ++i )
    {
        specM[i] = fx_buffer[i] * scale_fac;
    }

    for ( i = 0; i < length; i++ )
    // Side spec
    dbgread( &fx_buffer[0], sizeof( int32_t ), 512, "specS_fx" );
    for ( i = 0; i < 512; ++i )
    {
        specM[i] = ( specL[i] + specR[i] ) * SQRT2_OVER_2;
        specS[i] = ( specL[i] - specR[i] ) * SQRT2_OVER_2;
        specS[i] = fx_buffer[i] * scale_fac;
    }
#endif

    G = 0.5f * GLR; /* seems to be favourable to underestimate a bit */