Lines Matching refs:cb
183 void DPFrequency::updateParameters(ChannelBuffer &cb, int channelIndex) { in updateParameters() argument
194 IS_CHANGED(changed, cb.inputGainDb, pChannel->getInputGain()); in updateParameters()
196 if (cb.mPreEqInUse) { in updateParameters()
202 IS_CHANGED(changed, cb.mPreEqEnabled, pPreEq->isEnabled()); in updateParameters()
203 if (cb.mPreEqEnabled) { in updateParameters()
210 ChannelBuffer::EqBandParams *pEqBandParams = &cb.mPreEqBands[b]; in updateParameters()
220 float inputGainFactor = dBtoLinear(cb.inputGainDb); in updateParameters()
221 if (cb.mPreEqInUse && cb.mPreEqEnabled) { in updateParameters()
225 ChannelBuffer::EqBandParams *pEqBandParams = &cb.mPreEqBands[b]; in updateParameters()
228 cb.computeBinStartStop(*pEqBandParams, binNext); in updateParameters()
236 cb.mPreEqFactorVector[k] = factor * inputGainFactor; in updateParameters()
243 cb.mPreEqFactorVector[k] = inputGainFactor; in updateParameters()
250 if (cb.mPostEqInUse) { in updateParameters()
258 IS_CHANGED(changed, cb.mPostEqEnabled, pPostEq->isEnabled()); in updateParameters()
259 if (cb.mPostEqEnabled) { in updateParameters()
266 ChannelBuffer::EqBandParams *pEqBandParams = &cb.mPostEqBands[b]; in updateParameters()
276 ChannelBuffer::EqBandParams *pEqBandParams = &cb.mPostEqBands[b]; in updateParameters()
279 cb.computeBinStartStop(*pEqBandParams, binNext); in updateParameters()
287 cb.mPostEqFactorVector[k] = factor; in updateParameters()
295 if (cb.mMbcInUse) { in updateParameters()
301 cb.mMbcEnabled = pMbc->isEnabled(); in updateParameters()
302 if (cb.mMbcEnabled) { in updateParameters()
310 ChannelBuffer::MbcBandParams *pMbcBandParams = &cb.mMbcBands[b]; in updateParameters()
331 ChannelBuffer::MbcBandParams *pMbcBandParams = &cb.mMbcBands[b]; in updateParameters()
336 cb.computeBinStartStop(*pMbcBandParams, binNext); in updateParameters()
344 if (cb.mLimiterInUse) { in updateParameters()
351 cb.mLimiterEnabled = pLimiter->isEnabled(); in updateParameters()
352 if (cb.mLimiterEnabled) { in updateParameters()
353 IS_CHANGED(changed, cb.mLimiterParams.linkGroup , in updateParameters()
355 cb.mLimiterParams.attackTimeMs = pLimiter->getAttackTime(); in updateParameters()
356 cb.mLimiterParams.releaseTimeMs = pLimiter->getReleaseTime(); in updateParameters()
357 cb.mLimiterParams.ratio = pLimiter->getRatio(); in updateParameters()
358 cb.mLimiterParams.thresholdDb = pLimiter->getThreshold(); in updateParameters()
359 cb.mLimiterParams.postGainDb = pLimiter->getPostGain(); in updateParameters()
365 mLinkedLimiters.update(cb.mLimiterParams.linkGroup, channelIndex); in updateParameters()
370 cb.outputGainDb = pChannel->getOutputGain(); in updateParameters()
477 size_t DPFrequency::processFirstStages(ChannelBuffer &cb) { in processFirstStages() argument
481 Eigen::Map<Eigen::VectorXf> eInput(&cb.input[0], cb.input.size()); in processFirstStages()
489 mFftServer.fwd(cb.complexTemp, eWin); in processFirstStages()
491 size_t cSize = cb.complexTemp.size(); in processFirstStages()
496 cb.complexTemp[k] *= cb.mPreEqFactorVector[k]; in processFirstStages()
500 if (cb.mMbcInUse && cb.mMbcEnabled) { in processFirstStages()
501 for (size_t band = 0; band < cb.mMbcBands.size(); band++) { in processFirstStages()
502 ChannelBuffer::MbcBandParams *pMbcBandParams = &cb.mMbcBands[band]; in processFirstStages()
510 fEnergySum += std::norm(cb.complexTemp[k]) * preGainSquared; //mag squared in processFirstStages()
571 cb.complexTemp[k] *= newFactor; in processFirstStages()
579 if (cb.mPostEqInUse && cb.mPostEqEnabled) { in processFirstStages()
581 cb.complexTemp[k] *= cb.mPostEqFactorVector[k]; in processFirstStages()
586 if (cb.mLimiterInUse && cb.mLimiterEnabled) { in processFirstStages()
589 fEnergySum += std::norm(cb.complexTemp[k]); in processFirstStages()
595 float fFAttSec = cb.mLimiterParams.attackTimeMs / 1000; //in seconds in processFirstStages()
596 float fFRelSec = cb.mLimiterParams.releaseTimeMs / 1000; //in seconds in processFirstStages()
598 if (fEnergySum > cb.mLimiterParams.previousEnvelope) { in processFirstStages()
604 float fEnv = (1.0 - fTheta) * fEnergySum + fTheta * cb.mLimiterParams.previousEnvelope; in processFirstStages()
606 cb.mLimiterParams.previousEnvelope = fEnv; in processFirstStages()
611 const float thresholdDb = cb.mLimiterParams.thresholdDb; in processFirstStages()
612 const float ratio = cb.mLimiterParams.ratio; in processFirstStages()
621 cb.mLimiterParams.newFactor = newFactor; in processFirstStages()
647 size_t DPFrequency::processLastStages(ChannelBuffer &cb) { in processLastStages() argument
649 float outputGainFactor = dBtoLinear(cb.outputGainDb); in processLastStages()
651 if (cb.mLimiterInUse && cb.mLimiterEnabled) { in processLastStages()
653 float factor = cb.mLimiterParams.linkFactor * dBtoLinear(cb.mLimiterParams.postGainDb); in processLastStages()
659 size_t cSize = cb.complexTemp.size(); in processLastStages()
662 cb.complexTemp[k] *= outputGainFactor; in processLastStages()
667 Eigen::Map<Eigen::VectorXf> eOutput(&cb.output[0], cb.output.size()); in processLastStages()
668 mFftServer.inv(eOutput, cb.complexTemp); in processLastStages()