Lines Matching refs:tC
358 TNS_CONFIG *tC,
369 tC->isLowDelay = isLowDelay;
372 tC->tnsActive = (active) ? TRUE : FALSE;
373 tC->maxOrder = (blockType == SHORT_WINDOW) ? 5 : 12; /* maximum: 7, 20 */
375 tC->maxOrder -= 2;
376 tC->coefRes = (blockType == SHORT_WINDOW) ? 3 : 4;
379 tC->lpcStopBand = getTnsMaxBands(sampleRate, granuleLength, (blockType == SHORT_WINDOW) ? 1 : 0);
381 if (tC->lpcStopBand < 0) {
385 tC->lpcStopBand = FDKmin(tC->lpcStopBand, pC->sfbActive);
386 tC->lpcStopLine = pC->sfbOffset[tC->lpcStopBand];
391 tC->lpcStartBand[LOFILT] = (blockType == SHORT_WINDOW) ? 0 : ((sampleRate < 18783) ? 4 : 8);
392 tC->lpcStartLine[LOFILT] = pC->sfbOffset[tC->lpcStartBand[LOFILT]];
394 i = tC->lpcStopBand;
395 while (pC->sfbOffset[i] > (tC->lpcStartLine[LOFILT] + (tC->lpcStopLine - tC->lpcStartLine[LOFILT]) / 4)) i--;
396 tC->lpcStartBand[HIFILT] = i;
397 tC->lpcStartLine[HIFILT] = pC->sfbOffset[i];
399 tC->confTab.threshOn[HIFILT] = 1437;
400 tC->confTab.threshOn[LOFILT] = 1500;
402 tC->confTab.tnsLimitOrder[HIFILT] = tC->maxOrder;
403 tC->confTab.tnsLimitOrder[LOFILT] = tC->maxOrder - 7;
405 tC->confTab.tnsFilterDirection[HIFILT] = FILTER_DIRECTION;
406 tC->confTab.tnsFilterDirection[LOFILT] = FILTER_DIRECTION;
408 tC->confTab.acfSplit[HIFILT] = -1; /* signal Merged4to2QuartersAutoCorrelation in FDKaacEnc_MergedAutoCorrelation*/
409 tC->confTab.acfSplit[LOFILT] = -1; /* signal Merged4to2QuartersAutoCorrelation in FDKaacEnc_MergedAutoCorrelation */
411 tC->confTab.filterEnabled[HIFILT] = 1;
412 tC->confTab.filterEnabled[LOFILT] = 1;
413 tC->confTab.seperateFiltersAllowed = 1;
416 /* for (i = 0; i <= tC->maxOrder + 3; i++) {
422 FDKmemcpy(tC->acfWindow[HIFILT], acfWindowShort, FDKmin(sizeof(acfWindowShort), sizeof(tC->acfWindow[HIFILT])));
423 FDKmemcpy(tC->acfWindow[LOFILT], acfWindowShort, FDKmin(sizeof(acfWindowShort), sizeof(tC->acfWindow[HIFILT])));
426 FDKmemcpy(tC->acfWindow[HIFILT], acfWindowLong, FDKmin(sizeof(acfWindowLong), sizeof(tC->acfWindow[HIFILT])));
427 FDKmemcpy(tC->acfWindow[LOFILT], acfWindowLong, FDKmin(sizeof(acfWindowLong), sizeof(tC->acfWindow[HIFILT])));
437 FDKmemcpy(&(tC->confTab), pCfg, sizeof(tC->confTab));
439 tC->lpcStartBand[HIFILT] = FDKaacEnc_FreqToBandWithRounding(pCfg->filterStartFreq[HIFILT], sampleRate, pC->sfbCnt, pC->sfbOffset);
440 tC->lpcStartLine[HIFILT] = pC->sfbOffset[tC->lpcStartBand[HIFILT]];
441 tC->lpcStartBand[LOFILT] = FDKaacEnc_FreqToBandWithRounding(pCfg->filterStartFreq[LOFILT], sampleRate, pC->sfbCnt, pC->sfbOffset);
442 tCtC->lpcStartBand[LOFILT]];
444 FDKaacEnc_CalcGaussWindow(tC->acfWindow[HIFILT], tC->maxOrder+1, sampleRate, granuleLength, pCfg->tnsTimeResolution[HIFILT], TNS_TIMERES_SCALE);
445 FDKaacEnc_CalcGaussWindow(tC->acfWindow[LOFILT], tC->maxOrder+1, sampleRate, granuleLength, pCfg->tnsTimeResolution[LOFILT], TNS_TIMERES_SCALE);
448 tC->tnsActive = FALSE; /* no configuration available, disable tns tool */
453 tC->tnsActive = FALSE; /* no configuration available, disable tns tool */
728 const TNS_CONFIG *tC,
755 tnsInfo->coefRes[subBlockNumber] = tC->coefRes;
756 for (i = 0; i < tC->maxOrder; i++) {
763 if ( (tC->tnsActive) && (tC->maxOrder>0) )
769 tC->isLowDelay,
770 tC->acfWindow,
771 tC->lpcStartLine,
772 tC->lpcStopLine,
773 tC->maxOrder,
774 tC->confTab.acfSplit,
779 tsbi->predictionGain[HIFILT] = FDKaacEnc_AutoToParcor(rxx2, parcor_tmp, tC->confTab.tnsLimitOrder[HIFILT]);
785 tC->confTab.tnsLimitOrder[HIFILT],
786 tC->coefRes);
789 for (i = tC->confTab.tnsLimitOrder[HIFILT] - 1; i >= 0; i--) {
802 tnsInfo->direction[subBlockNumber][HIFILT] = tC->confTab.tnsFilterDirection[HIFILT];
803 tnsInfo->length[subBlockNumber][HIFILT] = sfbCnt - tC->lpcStartBand[HIFILT];
806 if ((tsbi->predictionGain[HIFILT] > tC->confTab.threshOn[HIFILT]) || (sumSqrCoef > (tC->confTab.tnsLimitOrder[HIFILT]/2 + 2)))
813 (tC->confTab.filterEnabled[LOFILT]) && (tC->confTab.seperateFiltersAllowed) )
818 INT predGain = FDKaacEnc_AutoToParcor(rxx1, parcor_tmp, tC->confTab.tnsLimitOrder[LOFILT]);
824 tC->confTab.tnsLimitOrder[LOFILT],
825 tC->coefRes);
828 for (i = tC->confTab.tnsLimitOrder[LOFILT] - 1; i >= 0; i--) {
840 tnsInfo->direction[subBlockNumber][LOFILT] = tC->confTab.tnsFilterDirection[LOFILT];
841 tnsInfo->length[subBlockNumber][LOFILT] = tC->lpcStartBand[HIFILT] - tC->lpcStartBand[LOFILT];
844 if ( ( (predGain > tC->confTab.threshOn[LOFILT]) && (predGain < (16000 * tC->confTab.tnsLimitOrder[LOFILT])) )
845 || ( (sumSqrCoef > 9) && (sumSqrCoef < 22 * tC->confTab.tnsLimitOrder[LOFILT]) ) )
850 for (i = 0; i < tC->confTab.tnsLimitOrder[LOFILT]; i++) {
857 tnsInfo->length[subBlockNumber][HIFILT] = sfbCnt - tC->lpcStartBand[LOFILT];
908 const TNS_CONFIG *tC
939 for (i = 0; i < tC->maxOrder; i++) {
964 for (i = 0; i < tC->maxOrder; i++) {
997 const TNS_CONFIG *tC,
1012 startLine = (tnsData->filtersMerged) ? tC->lpcStartLine[LOFILT] : tC->lpcStartLine[HIFILT];
1013 stopLine = tC->lpcStopLine;
1026 tC->coefRes);
1042 startLine = tC->lpcStartLine[LOFILT];
1043 stopLine = tC->lpcStartLine[HIFILT];