Lines Matching refs:psyData

49 static Word16 advancePsychLong(PSY_DATA* psyData,
57 static Word16 advancePsychLongMS (PSY_DATA psyData[MAX_CHANNELS],
60 static Word16 advancePsychShort(PSY_DATA* psyData,
68 static Word16 advancePsychShortMS (PSY_DATA psyData[MAX_CHANNELS],
104 hPsy->psyData[i].mdctDelayBuffer = mdctDelayBuffer + i*BLOCK_SWITCHING_OFFSET;
105 hPsy->psyData[i].mdctSpectrum = mdctSpectrum + i*FRAME_LEN_LONG;
127 if(hPsy->psyData[0].mdctDelayBuffer)
128 mem_free(pMemOP, hPsy->psyData[0].mdctDelayBuffer, VO_INDEX_ENC_AAC);
130 if(hPsy->psyData[0].mdctSpectrum)
131 mem_free(pMemOP, hPsy->psyData[0].mdctSpectrum, VO_INDEX_ENC_AAC);
134 hPsy->psyData[nch].mdctDelayBuffer = NULL;
135 hPsy->psyData[nch].mdctSpectrum = NULL;
224 InitBlockSwitching(&hPsy->psyData[ch].blockSwitchingControl,
227 InitPreEchoControl(hPsy->psyData[ch].sfbThresholdnm1,
230 hPsy->psyData[ch].mdctScalenm1 = 0;
249 PSY_DATA psyData[MAX_CHANNELS],
272 BlockSwitching(&psyData[ch].blockSwitchingControl,
279 SyncBlockSwitching(&psyData[0].blockSwitchingControl,
280 &psyData[1].blockSwitchingControl,
286 Transform_Real(psyData[ch].mdctDelayBuffer,
289 psyData[ch].mdctSpectrum,
291 psyData[ch].blockSwitchingControl.windowSequence);
300 Word32 *Spectrum = psyData[ch].mdctSpectrum;
306 psyData[ch].mdctScale = maxScale;
311 if(psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW) {
313 advancePsychLong(&psyData[ch],
325 if (psyData[ch].mdctSpectrum[line] != 0) break;
335 advancePsychLongMS(psyData, hPsyConfLong);
338 advancePsychShort(&psyData[ch],
350 advancePsychShortMS (psyData, hPsyConfShort);
357 if (psyData[ch].blockSwitchingControl.windowSequence == SHORT_WINDOW) {
358 groupShortData(psyData[ch].mdctSpectrum,
360 &psyData[ch].sfbThreshold,
361 &psyData[ch].sfbEnergy,
362 &psyData[ch].sfbEnergyMS,
363 &psyData[ch].sfbSpreadedEnergy,
370 psyData[ch].blockSwitchingControl.noOfGroups,
371 psyData[ch].blockSwitchingControl.groupLen);
385 if (psyData[0].blockSwitchingControl.windowSequence != SHORT_WINDOW)
386 MsStereoProcessing(psyData[0].sfbEnergy.sfbLong,
387 psyData[1].sfbEnergy.sfbLong,
388 psyData[0].sfbEnergyMS.sfbLong,
389 psyData[1].sfbEnergyMS.sfbLong,
390 psyData[0].mdctSpectrum,
391 psyData[1].mdctSpectrum,
392 psyData[0].sfbThreshold.sfbLong,
393 psyData[1].sfbThreshold.sfbLong,
394 psyData[0].sfbSpreadedEnergy.sfbLong,
395 psyData[1].sfbSpreadedEnergy.sfbLong,
403 MsStereoProcessing(psyData[0].sfbEnergy.sfbLong,
404 psyData[1].sfbEnergy.sfbLong,
405 psyData[0].sfbEnergyMS.sfbLong,
406 psyData[1].sfbEnergyMS.sfbLong,
407 psyData[0].mdctSpectrum,
408 psyData[1].mdctSpectrum,
409 psyData[0].sfbThreshold.sfbLong,
410 psyData[1].sfbThreshold.sfbLong,
411 psyData[0].sfbSpreadedEnergy.sfbLong,
412 psyData[1].sfbSpreadedEnergy.sfbLong,
415 psyData[0].blockSwitchingControl.noOfGroups*hPsyConfShort->sfbCnt,
428 if (psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW)
429 BuildInterface(psyData[ch].mdctSpectrum,
430 psyData[ch].mdctScale,
431 &psyData[ch].sfbThreshold,
432 &psyData[ch].sfbEnergy,
433 &psyData[ch].sfbSpreadedEnergy,
434 psyData[ch].sfbEnergySum,
435 psyData[ch].sfbEnergySumMS,
436 psyData[ch].blockSwitchingControl.windowSequence,
437 blockType2windowShape[psyData[ch].blockSwitchingControl.windowSequence],
442 psyData[ch].blockSwitchingControl.noOfGroups,
443 psyData[ch].blockSwitchingControl.groupLen,
446 BuildInterface(psyData[ch].mdctSpectrum,
447 psyData[ch].mdctScale,
448 &psyData[ch].sfbThreshold,
449 &psyData[ch].sfbEnergy,
450 &psyData[ch].sfbSpreadedEnergy,
451 psyData[ch].sfbEnergySum,
452 psyData[ch].sfbEnergySumMS,
455 psyData[0].blockSwitchingControl.noOfGroups*hPsyConfShort->sfbCnt,
459 psyData[ch].blockSwitchingControl.noOfGroups,
460 psyData[ch].blockSwitchingControl.groupLen,
474 static Word16 advancePsychLong(PSY_DATA* psyData,
483 Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */
488 data0 = psyData->mdctSpectrum + hPsyConfLong->lowpassLine;
494 CalcBandEnergy( psyData->mdctSpectrum,
497 psyData->sfbEnergy.sfbLong,
498 &psyData->sfbEnergySum.sfbLong);
507 psyData->mdctSpectrum,
509 psyData->blockSwitchingControl.windowSequence,
510 psyData->sfbEnergy.sfbLong);
518 psyData->blockSwitchingControl.windowSequence);
527 psyData->mdctSpectrum,
529 psyData->blockSwitchingControl.windowSequence);
532 data0 = psyData->sfbEnergy.sfbLong;
533 data1 = psyData->sfbThreshold.sfbLong;
542 CalcBandEnergy( psyData->mdctSpectrum,
545 psyData->sfbEnergy.sfbLong+tnsStartBand,
546 &psyData->sfbEnergySum.sfbLong);
548 data0 = psyData->sfbEnergy.sfbLong;
549 tdata = psyData->sfbEnergySum.sfbLong;
553 psyData->sfbEnergySum.sfbLong = tdata;
561 psyData->sfbThreshold.sfbLong);
564 data0 = psyData->sfbThreshold.sfbLong;
573 if (psyData->blockSwitchingControl.windowSequence == STOP_WINDOW) {
574 data0 = psyData->sfbThresholdnm1;
578 psyData->mdctScalenm1 = 0;
581 PreEchoControl( psyData->sfbThresholdnm1,
585 psyData->sfbThreshold.sfbLong,
586 psyData->mdctScale,
587 psyData->mdctScalenm1);
588 psyData->mdctScalenm1 = psyData->mdctScale;
591 if (psyData->blockSwitchingControl.windowSequence== START_WINDOW) {
592 data0 = psyData->sfbThresholdnm1;
596 psyData->mdctScalenm1 = 0;
603 psyData->sfbThreshold.sfbLong);
607 data0 = psyData->sfbSpreadedEnergy.sfbLong;
608 data1 = psyData->sfbEnergy.sfbLong;
610 //psyData->sfbSpreadedEnergy.sfbLong[i] = psyData->sfbEnergy.sfbLong[i];
618 psyData->sfbSpreadedEnergy.sfbLong);
630 static Word16 advancePsychLongMS (PSY_DATA psyData[MAX_CHANNELS],
633 CalcBandEnergyMS(psyData[0].mdctSpectrum,
634 psyData[1].mdctSpectrum,
637 psyData[0].sfbEnergyMS.sfbLong,
638 &psyData[0].sfbEnergySumMS.sfbLong,
639 psyData[1].sfbEnergyMS.sfbLong,
640 &psyData[1].sfbEnergySumMS.sfbLong);
653 static Word16 advancePsychShort(PSY_DATA* psyData,
662 Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */
672 data0 = psyData->mdctSpectrum + wOffset + hPsyConfShort->lowpassLine;
678 CalcBandEnergy( psyData->mdctSpectrum+wOffset,
681 psyData->sfbEnergy.sfbShort[w],
682 &psyData->sfbEnergySum.sfbShort[w]);
690 psyData->mdctSpectrum+wOffset,
692 psyData->blockSwitchingControl.windowSequence,
693 psyData->sfbEnergy.sfbShort[w]);
701 psyData->blockSwitchingControl.windowSequence);
709 psyData->mdctSpectrum+wOffset,
711 psyData->blockSwitchingControl.windowSequence);
714 data0 = psyData->sfbThreshold.sfbShort[w];
715 data1 = psyData->sfbEnergy.sfbShort[w];
724 CalcBandEnergy( psyData->mdctSpectrum+wOffset,
727 psyData->sfbEnergy.sfbShort[w]+tnsStartBand,
728 &psyData->sfbEnergySum.sfbShort[w]);
730 tdata = psyData->sfbEnergySum.sfbShort[w];
731 data0 = psyData->sfbEnergy.sfbShort[w];
735 psyData->sfbEnergySum.sfbShort[w] = tdata;
742 psyData->sfbThreshold.sfbShort[w]);
746 data0 = psyData->sfbThreshold.sfbShort[w];
757 PreEchoControl( psyData->sfbThresholdnm1,
761 psyData->sfbThreshold.sfbShort[w],
762 psyData->mdctScale,
763 w==0 ? psyData->mdctScalenm1 : psyData->mdctScale);
769 psyData->sfbThreshold.sfbShort[w]);
772 data0 = psyData->sfbSpreadedEnergy.sfbShort[w];
773 data1 = psyData->sfbEnergy.sfbShort[w];
780 psyData->sfbSpreadedEnergy.sfbShort[w]);
785 psyData->mdctScalenm1 = psyData->mdctScale;
797 static Word16 advancePsychShortMS (PSY_DATA psyData[MAX_CHANNELS],
803 CalcBandEnergyMS(psyData[0].mdctSpectrum+wOffset,
804 psyData[1].mdctSpectrum+wOffset,
807 psyData[0].sfbEnergyMS.sfbShort[w],
808 &psyData[0].sfbEnergySumMS.sfbShort[w],
809 psyData[1].sfbEnergyMS.sfbShort[w],
810 &psyData[1].sfbEnergySumMS.sfbShort[w]);