Home | History | Annotate | Download | only in src

Lines Matching refs:psyData

47 static Word16 advancePsychLong(PSY_DATA* psyData,
55 static Word16 advancePsychLongMS (PSY_DATA psyData[MAX_CHANNELS],
58 static Word16 advancePsychShort(PSY_DATA* psyData,
66 static Word16 advancePsychShortMS (PSY_DATA psyData[MAX_CHANNELS],
102 hPsy->psyData[i].mdctDelayBuffer = mdctDelayBuffer + i*BLOCK_SWITCHING_OFFSET;
103 hPsy->psyData[i].mdctSpectrum = mdctSpectrum + i*FRAME_LEN_LONG;
125 if(hPsy->psyData[0].mdctDelayBuffer)
126 mem_free(pMemOP, hPsy->psyData[0].mdctDelayBuffer, VO_INDEX_ENC_AAC);
128 if(hPsy->psyData[0].mdctSpectrum)
129 mem_free(pMemOP, hPsy->psyData[0].mdctSpectrum, VO_INDEX_ENC_AAC);
132 hPsy->psyData[nch].mdctDelayBuffer = NULL;
133 hPsy->psyData[nch].mdctSpectrum = NULL;
220 InitBlockSwitching(&hPsy->psyData[ch].blockSwitchingControl,
223 InitPreEchoControl(hPsy->psyData[ch].sfbThresholdnm1,
226 hPsy->psyData[ch].mdctScalenm1 = 0;
245 PSY_DATA psyData[MAX_CHANNELS],
268 BlockSwitching(&psyData[ch].blockSwitchingControl,
275 SyncBlockSwitching(&psyData[0].blockSwitchingControl,
276 &psyData[1].blockSwitchingControl,
282 Transform_Real(psyData[ch].mdctDelayBuffer,
285 psyData[ch].mdctSpectrum,
287 psyData[ch].blockSwitchingControl.windowSequence);
296 Word32 *Spectrum = psyData[ch].mdctSpectrum;
302 psyData[ch].mdctScale = maxScale;
307 if(psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW) {
309 advancePsychLong(&psyData[ch],
321 if (psyData[ch].mdctSpectrum[line] != 0) break;
331 advancePsychLongMS(psyData, hPsyConfLong);
334 advancePsychShort(&psyData[ch],
346 advancePsychShortMS (psyData, hPsyConfShort);
353 if (psyData[ch].blockSwitchingControl.windowSequence == SHORT_WINDOW) {
354 groupShortData(psyData[ch].mdctSpectrum,
356 &psyData[ch].sfbThreshold,
357 &psyData[ch].sfbEnergy,
358 &psyData[ch].sfbEnergyMS,
359 &psyData[ch].sfbSpreadedEnergy,
366 psyData[ch].blockSwitchingControl.noOfGroups,
367 psyData[ch].blockSwitchingControl.groupLen);
381 if (psyData[0].blockSwitchingControl.windowSequence != SHORT_WINDOW)
382 MsStereoProcessing(psyData[0].sfbEnergy.sfbLong,
383 psyData[1].sfbEnergy.sfbLong,
384 psyData[0].sfbEnergyMS.sfbLong,
385 psyData[1].sfbEnergyMS.sfbLong,
386 psyData[0].mdctSpectrum,
387 psyData[1].mdctSpectrum,
388 psyData[0].sfbThreshold.sfbLong,
389 psyData[1].sfbThreshold.sfbLong,
390 psyData[0].sfbSpreadedEnergy.sfbLong,
391 psyData[1].sfbSpreadedEnergy.sfbLong,
399 MsStereoProcessing(psyData[0].sfbEnergy.sfbLong,
400 psyData[1].sfbEnergy.sfbLong,
401 psyData[0].sfbEnergyMS.sfbLong,
402 psyData[1].sfbEnergyMS.sfbLong,
403 psyData[0].mdctSpectrum,
404 psyData[1].mdctSpectrum,
405 psyData[0].sfbThreshold.sfbLong,
406 psyData[1].sfbThreshold.sfbLong,
407 psyData[0].sfbSpreadedEnergy.sfbLong,
408 psyData[1].sfbSpreadedEnergy.sfbLong,
411 psyData[0].blockSwitchingControl.noOfGroups*hPsyConfShort->sfbCnt,
424 if (psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW)
425 BuildInterface(psyData[ch].mdctSpectrum,
426 psyData[ch].mdctScale,
427 &psyData[ch].sfbThreshold,
428 &psyData[ch].sfbEnergy,
429 &psyData[ch].sfbSpreadedEnergy,
430 psyData[ch].sfbEnergySum,
431 psyData[ch].sfbEnergySumMS,
432 psyData[ch].blockSwitchingControl.windowSequence,
433 blockType2windowShape[psyData[ch].blockSwitchingControl.windowSequence],
438 psyData[ch].blockSwitchingControl.noOfGroups,
439 psyData[ch].blockSwitchingControl.groupLen,
442 BuildInterface(psyData[ch].mdctSpectrum,
443 psyData[ch].mdctScale,
444 &psyData[ch].sfbThreshold,
445 &psyData[ch].sfbEnergy,
446 &psyData[ch].sfbSpreadedEnergy,
447 psyData[ch].sfbEnergySum,
448 psyData[ch].sfbEnergySumMS,
451 psyData[0].blockSwitchingControl.noOfGroups*hPsyConfShort->sfbCnt,
455 psyData[ch].blockSwitchingControl.noOfGroups,
456 psyData[ch].blockSwitchingControl.groupLen,
470 static Word16 advancePsychLong(PSY_DATA* psyData,
479 Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */
484 data0 = psyData->mdctSpectrum + hPsyConfLong->lowpassLine;
490 CalcBandEnergy( psyData->mdctSpectrum,
493 psyData->sfbEnergy.sfbLong,
494 &psyData->sfbEnergySum.sfbLong);
503 psyData->mdctSpectrum,
505 psyData->blockSwitchingControl.windowSequence,
506 psyData->sfbEnergy.sfbLong);
514 psyData->blockSwitchingControl.windowSequence);
523 psyData->mdctSpectrum,
525 psyData->blockSwitchingControl.windowSequence);
528 data0 = psyData->sfbEnergy.sfbLong;
529 data1 = psyData->sfbThreshold.sfbLong;
538 CalcBandEnergy( psyData->mdctSpectrum,
541 psyData->sfbEnergy.sfbLong+tnsStartBand,
542 &psyData->sfbEnergySum.sfbLong);
544 data0 = psyData->sfbEnergy.sfbLong;
545 tdata = psyData->sfbEnergySum.sfbLong;
549 psyData->sfbEnergySum.sfbLong = tdata;
557 psyData->sfbThreshold.sfbLong);
560 data0 = psyData->sfbThreshold.sfbLong;
569 if (psyData->blockSwitchingControl.windowSequence == STOP_WINDOW) {
570 data0 = psyData->sfbThresholdnm1;
574 psyData->mdctScalenm1 = 0;
577 PreEchoControl( psyData->sfbThresholdnm1,
581 psyData->sfbThreshold.sfbLong,
582 psyData->mdctScale,
583 psyData->mdctScalenm1);
584 psyData->mdctScalenm1 = psyData->mdctScale;
587 if (psyData->blockSwitchingControl.windowSequence== START_WINDOW) {
588 data0 = psyData->sfbThresholdnm1;
592 psyData->mdctScalenm1 = 0;
599 psyData->sfbThreshold.sfbLong);
603 data0 = psyData->sfbSpreadedEnergy.sfbLong;
604 data1 = psyData->sfbEnergy.sfbLong;
606 //psyData->sfbSpreadedEnergy.sfbLong[i] = psyData->sfbEnergy.sfbLong[i];
614 psyData->sfbSpreadedEnergy.sfbLong);
626 static Word16 advancePsychLongMS (PSY_DATA psyData[MAX_CHANNELS],
629 CalcBandEnergyMS(psyData[0].mdctSpectrum,
630 psyData[1].mdctSpectrum,
633 psyData[0].sfbEnergyMS.sfbLong,
634 &psyData[0].sfbEnergySumMS.sfbLong,
635 psyData[1].sfbEnergyMS.sfbLong,
636 &psyData[1].sfbEnergySumMS.sfbLong);
649 static Word16 advancePsychShort(PSY_DATA* psyData,
658 Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */
668 data0 = psyData->mdctSpectrum + wOffset + hPsyConfShort->lowpassLine;
674 CalcBandEnergy( psyData->mdctSpectrum+wOffset,
677 psyData->sfbEnergy.sfbShort[w],
678 &psyData->sfbEnergySum.sfbShort[w]);
686 psyData->mdctSpectrum+wOffset,
688 psyData->blockSwitchingControl.windowSequence,
689 psyData->sfbEnergy.sfbShort[w]);
697 psyData->blockSwitchingControl.windowSequence);
705 psyData->mdctSpectrum+wOffset,
707 psyData->blockSwitchingControl.windowSequence);
710 data0 = psyData->sfbThreshold.sfbShort[w];
711 data1 = psyData->sfbEnergy.sfbShort[w];
720 CalcBandEnergy( psyData->mdctSpectrum+wOffset,
723 psyData->sfbEnergy.sfbShort[w]+tnsStartBand,
724 &psyData->sfbEnergySum.sfbShort[w]);
726 tdata = psyData->sfbEnergySum.sfbShort[w];
727 data0 = psyData->sfbEnergy.sfbShort[w];
731 psyData->sfbEnergySum.sfbShort[w] = tdata;
738 psyData->sfbThreshold.sfbShort[w]);
742 data0 = psyData->sfbThreshold.sfbShort[w];
753 PreEchoControl( psyData->sfbThresholdnm1,
757 psyData->sfbThreshold.sfbShort[w],
758 psyData->mdctScale,
759 w==0 ? psyData->mdctScalenm1 : psyData->mdctScale);
765 psyData->sfbThreshold.sfbShort[w]);
768 data0 = psyData->sfbSpreadedEnergy.sfbShort[w];
769 data1 = psyData->sfbEnergy.sfbShort[w];
776 psyData->sfbSpreadedEnergy.sfbShort[w]);
781 psyData->mdctScalenm1 = psyData->mdctScale;
793 static Word16 advancePsychShortMS (PSY_DATA psyData[MAX_CHANNELS],
799 CalcBandEnergyMS(psyData[0].mdctSpectrum+wOffset,
800 psyData[1].mdctSpectrum+wOffset,
803 psyData[0].sfbEnergyMS.sfbShort[w],
804 &psyData[0].sfbEnergySumMS.sfbShort[w],
805 psyData[1].sfbEnergyMS.sfbShort[w],
806 &psyData[1].sfbEnergySumMS.sfbShort[w]);