float powerOfLastPeriod; short* signal = (short*)result; float powerSum = 0.0f; for (int i = 0; i < m_PeriodSizeInSamples; ++i) { float amp = (float) abs(signal[i]); powerSum += amp * amp; } powerOfLastPeriod = powerSum / (32768.0f * 3.27680f * (float) m_PeriodSizeInSamples); if(powerOfLastPeriod < 1.) { ...... }