895 lines
31 KiB
Diff
895 lines
31 KiB
Diff
|
diff -Nupr src.p9/aacenc.c src.p10/aacenc.c
|
||
|
--- src.p9/aacenc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/aacenc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -130,7 +130,7 @@ AacEncOpen ( struct AAC_ENCODER *hA
|
||
|
if (!error) {
|
||
|
|
||
|
|
||
|
- error = (PsyNew(&hAacEnc->psyKernel, elInfo->nChannelsInEl) ||
|
||
|
+ error = (PsyNew(hAacEnc->aac_ram, hAacEnc->sbr_ram, &hAacEnc->psyKernel, elInfo->nChannelsInEl) ||
|
||
|
PsyOutNew(&hAacEnc->psyOut));
|
||
|
}
|
||
|
|
||
|
@@ -157,7 +157,7 @@ AacEncOpen ( struct AAC_ENCODER *hA
|
||
|
|
||
|
if (!error) {
|
||
|
|
||
|
- error = QCOutNew(&hAacEnc->qcOut,
|
||
|
+ error = QCOutNew(hAacEnc->aac_ram, &hAacEnc->qcOut,
|
||
|
elInfo->nChannelsInEl);
|
||
|
}
|
||
|
|
||
|
@@ -198,7 +198,7 @@ AacEncOpen ( struct AAC_ENCODER *hA
|
||
|
qcInit.bitrate = config->bitRate;
|
||
|
|
||
|
|
||
|
- error = QCInit(&hAacEnc->qcKernel, &qcInit);
|
||
|
+ error = QCInit(hAacEnc->aac_ram, &hAacEnc->qcKernel, &qcInit);
|
||
|
}
|
||
|
|
||
|
/* init bitstream encoder */
|
||
|
@@ -307,7 +307,8 @@ int AacEncEncode(struct AAC_ENCODER *aac
|
||
|
}
|
||
|
|
||
|
|
||
|
- psyMain(timeInStride,
|
||
|
+ psyMain(aacEnc->fftctx,
|
||
|
+ timeInStride,
|
||
|
elInfo,
|
||
|
timeSignal,
|
||
|
&aacEnc->psyKernel.psyData[elInfo->ChannelIndex[0]],
|
||
|
@@ -332,7 +333,8 @@ int AacEncEncode(struct AAC_ENCODER *aac
|
||
|
*/
|
||
|
|
||
|
/* min() */
|
||
|
- QCMain( &aacEnc->qcKernel,
|
||
|
+ QCMain( aacEnc->aac_ram,
|
||
|
+ &aacEnc->qcKernel,
|
||
|
elInfo->nChannelsInEl,
|
||
|
&aacEnc->qcKernel.elementBits,
|
||
|
&aacEnc->qcKernel.adjThr.adjThrStateElem,
|
||
|
diff -Nupr src.p9/dyn_bits.c src.p10/dyn_bits.c
|
||
|
--- src.p9/dyn_bits.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/dyn_bits.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -417,7 +417,7 @@ gmStage2(SECTION_INFO * section,
|
||
|
count bits used by the noiseless coder
|
||
|
*/
|
||
|
static void
|
||
|
-noiselessCounter(SECTION_DATA * sectionData,
|
||
|
+noiselessCounter(AACRam_t *aacram, SECTION_DATA * sectionData,
|
||
|
int mergeGainLookUp[MAX_SFB_LONG],
|
||
|
int bitLookUp[MAX_SFB_LONG][CODE_BOOK_ESC_NDX + 1],
|
||
|
const short *quantSpectrum,
|
||
|
@@ -441,12 +441,12 @@ noiselessCounter(SECTION_DATA * sectionD
|
||
|
case STOP_WINDOW:
|
||
|
|
||
|
|
||
|
- sideInfoTab = sideInfoTabLong;
|
||
|
+ sideInfoTab = aacram->sideInfoTabLong;
|
||
|
break;
|
||
|
case SHORT_WINDOW:
|
||
|
|
||
|
|
||
|
- sideInfoTab = sideInfoTabShort;
|
||
|
+ sideInfoTab = aacram->sideInfoTabShort;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
@@ -715,7 +715,8 @@ static void scfCount(const short *scalef
|
||
|
typedef int (*lookUpTable)[CODE_BOOK_ESC_NDX + 1];
|
||
|
|
||
|
int
|
||
|
-dynBitCount(const short *quantSpectrum,
|
||
|
+dynBitCount(AACRam_t *aacram,
|
||
|
+ const short *quantSpectrum,
|
||
|
const unsigned short *maxValueInSfb,
|
||
|
const signed short *scalefac,
|
||
|
const int blockType,
|
||
|
@@ -742,7 +743,7 @@ dynBitCount(const short *quantS
|
||
|
sectionData->maxSfbPerGroup = maxSfbPerGroup;
|
||
|
|
||
|
|
||
|
- noiselessCounter(sectionData,
|
||
|
+ noiselessCounter(aacram, sectionData,
|
||
|
mergeGainLookUp,
|
||
|
(lookUpTable)bitLookUp,
|
||
|
quantSpectrum,
|
||
|
@@ -766,7 +767,7 @@ dynBitCount(const short *quantS
|
||
|
|
||
|
|
||
|
int
|
||
|
-BCInit(void)
|
||
|
+BCInit(AACRam_t *aacram)
|
||
|
{
|
||
|
int i;
|
||
|
|
||
|
@@ -777,14 +778,14 @@ BCInit(void)
|
||
|
for (i = 0; i <= MAX_SFB_LONG; i++)
|
||
|
{
|
||
|
|
||
|
- sideInfoTabLong[i] = calcSideInfoBits(i, LONG_WINDOW);
|
||
|
+ aacram->sideInfoTabLong[i] = calcSideInfoBits(i, LONG_WINDOW);
|
||
|
}
|
||
|
|
||
|
/* sideInfoTabShort[] */
|
||
|
for (i = 0; i <= MAX_SFB_SHORT; i++)
|
||
|
{
|
||
|
|
||
|
- sideInfoTabShort[i] = calcSideInfoBits(i, SHORT_WINDOW);
|
||
|
+ aacram->sideInfoTabShort[i] = calcSideInfoBits(i, SHORT_WINDOW);
|
||
|
}
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/dyn_bits.h src.p10/dyn_bits.h
|
||
|
--- src.p9/dyn_bits.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/dyn_bits.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -36,10 +36,10 @@ typedef struct
|
||
|
}
|
||
|
SECTION_DATA;
|
||
|
|
||
|
+int BCInit(AACRam_t *aacram);
|
||
|
|
||
|
-int BCInit(void);
|
||
|
-
|
||
|
-int dynBitCount(const short *quantSpectrum,
|
||
|
+int dynBitCount(AACRam_t *aacram,
|
||
|
+ const short *quantSpectrum,
|
||
|
const unsigned short *maxValueInSfb,
|
||
|
const signed short *scalefac,
|
||
|
const int blockType,
|
||
|
diff -Nupr src.p9/env_est.c src.p10/env_est.c
|
||
|
--- src.p9/env_est.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/env_est.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -1675,7 +1675,7 @@ extractSbrEnvelope (FFTWFContext_t *fftc
|
||
|
|
||
|
****************************************************************************/
|
||
|
int
|
||
|
-CreateExtractSbrEnvelope (int chan,
|
||
|
+CreateExtractSbrEnvelope (SBRRam_t *sbrram, int chan,
|
||
|
HANDLE_SBR_EXTRACT_ENVELOPE hSbrCut,
|
||
|
int start_index)
|
||
|
{
|
||
|
@@ -1723,7 +1723,7 @@ CreateExtractSbrEnvelope (int chan,
|
||
|
|
||
|
for (i = 0; i < YBufferLength; i++) {
|
||
|
|
||
|
- hSbrCut->YBuffer[i] = &sbr_envYBuffer[chan*YBufferLength*64 + i*QMF_CHANNELS];
|
||
|
+ hSbrCut->YBuffer[i] = &sbrram->sbr_envYBuffer[chan*YBufferLength*64 + i*QMF_CHANNELS];
|
||
|
}
|
||
|
|
||
|
/* hSbrCut->rBuffer[]
|
||
|
@@ -1732,10 +1732,10 @@ CreateExtractSbrEnvelope (int chan,
|
||
|
|
||
|
for (i = 0; i < rBufferLength; i++) {
|
||
|
|
||
|
- hSbrCut->rBuffer[i] = &sbr_envRBuffer[chan*QMF_TIME_SLOTS*QMF_CHANNELS + i*QMF_CHANNELS];
|
||
|
+ hSbrCut->rBuffer[i] = &sbrram->sbr_envRBuffer[chan*QMF_TIME_SLOTS*QMF_CHANNELS + i*QMF_CHANNELS];
|
||
|
|
||
|
|
||
|
- hSbrCut->iBuffer[i] = &sbr_envIBuffer[chan*QMF_TIME_SLOTS*QMF_CHANNELS + i*QMF_CHANNELS];
|
||
|
+ hSbrCut->iBuffer[i] = &sbrram->sbr_envIBuffer[chan*QMF_TIME_SLOTS*QMF_CHANNELS + i*QMF_CHANNELS];
|
||
|
}
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/env_est.h src.p10/env_est.h
|
||
|
--- src.p9/env_est.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/env_est.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -29,7 +29,7 @@ typedef SBR_EXTRACT_ENVELOPE *HANDLE_SBR
|
||
|
/************ Function Declarations ***************/
|
||
|
|
||
|
int
|
||
|
-CreateExtractSbrEnvelope (int chan,
|
||
|
+CreateExtractSbrEnvelope (SBRRam_t *sbrram, int chan,
|
||
|
HANDLE_SBR_EXTRACT_ENVELOPE hSbr,
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/mh_det.c src.p10/mh_det.c
|
||
|
--- src.p9/mh_det.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/mh_det.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -1264,7 +1264,8 @@ SbrMissingHarmonicsDetectorQmf(HANDLE_SB
|
||
|
*/
|
||
|
/**************************************************************************/
|
||
|
int
|
||
|
-CreateSbrMissingHarmonicsDetector (int chan,
|
||
|
+CreateSbrMissingHarmonicsDetector (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_MISSING_HARMONICS_DETECTOR hSbrMHDet,
|
||
|
int sampleFreq,
|
||
|
unsigned char* freqBandTable,
|
||
|
@@ -1305,7 +1306,7 @@ CreateSbrMissingHarmonicsDetector (int c
|
||
|
hs->noEstPerFrame = noEstPerFrame;
|
||
|
|
||
|
|
||
|
- ptr = &sbr_toncorrBuff[chan*5*NO_OF_ESTIMATES*MAX_FREQ_COEFFS];
|
||
|
+ ptr = &sbrram->sbr_toncorrBuff[chan*5*NO_OF_ESTIMATES*MAX_FREQ_COEFFS];
|
||
|
|
||
|
/* hs->tonalityDiff[i]
|
||
|
hs->sfmOrig[i]
|
||
|
@@ -1347,13 +1348,13 @@ CreateSbrMissingHarmonicsDetector (int c
|
||
|
memset(hs->guideVectors[i].guideVectorOrig,0,sizeof(float)*MAX_FREQ_COEFFS);
|
||
|
|
||
|
|
||
|
- hs->detectionVectors[i] = &(sbr_detectionVectors[chan*NO_OF_ESTIMATES*MAX_FREQ_COEFFS + i*MAX_FREQ_COEFFS]);
|
||
|
+ hs->detectionVectors[i] = &(sbrram->sbr_detectionVectors[chan*NO_OF_ESTIMATES*MAX_FREQ_COEFFS + i*MAX_FREQ_COEFFS]);
|
||
|
|
||
|
|
||
|
memset(hs->detectionVectors[i],0,sizeof(unsigned char)*MAX_FREQ_COEFFS);
|
||
|
|
||
|
|
||
|
- hs->guideVectors[i].guideVectorDetected = &(sbr_guideVectorDetected[chan*NO_OF_ESTIMATES*MAX_FREQ_COEFFS + i*MAX_FREQ_COEFFS]);
|
||
|
+ hs->guideVectors[i].guideVectorDetected = &(sbrram->sbr_guideVectorDetected[chan*NO_OF_ESTIMATES*MAX_FREQ_COEFFS + i*MAX_FREQ_COEFFS]);
|
||
|
|
||
|
|
||
|
memset(hs->guideVectors[i].guideVectorDetected,0,sizeof(unsigned char)*MAX_FREQ_COEFFS);
|
||
|
@@ -1361,13 +1362,13 @@ CreateSbrMissingHarmonicsDetector (int c
|
||
|
}
|
||
|
|
||
|
|
||
|
- hs->prevEnvelopeCompensation = &(sbr_prevEnvelopeCompensation[chan*MAX_FREQ_COEFFS]);
|
||
|
+ hs->prevEnvelopeCompensation = &(sbrram->sbr_prevEnvelopeCompensation[chan*MAX_FREQ_COEFFS]);
|
||
|
|
||
|
|
||
|
memset( hs->prevEnvelopeCompensation,0, sizeof(char)*MAX_FREQ_COEFFS);
|
||
|
|
||
|
|
||
|
- hs->guideScfb = &(sbr_guideScfb[chan*MAX_FREQ_COEFFS]);
|
||
|
+ hs->guideScfb = &(sbrram->sbr_guideScfb[chan*MAX_FREQ_COEFFS]);
|
||
|
|
||
|
|
||
|
memset( hs->guideScfb,0, sizeof(unsigned char)*MAX_FREQ_COEFFS);
|
||
|
@@ -1377,7 +1378,7 @@ CreateSbrMissingHarmonicsDetector (int c
|
||
|
hs->previousTransientFrame = 0;
|
||
|
hs->previousTransientPos = 0;
|
||
|
|
||
|
- assert (ptr-&sbr_toncorrBuff[0] <= 5*MAX_CHANNELS*NO_OF_ESTIMATES*MAX_FREQ_COEFFS);
|
||
|
+ assert (ptr-&sbrram->sbr_toncorrBuff[0] <= 5*MAX_CHANNELS*NO_OF_ESTIMATES*MAX_FREQ_COEFFS);
|
||
|
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/mh_det.h src.p10/mh_det.h
|
||
|
--- src.p9/mh_det.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/mh_det.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -61,7 +61,8 @@ SbrMissingHarmonicsDetectorQmf(HANDLE_SB
|
||
|
|
||
|
|
||
|
int
|
||
|
-CreateSbrMissingHarmonicsDetector(int chan,
|
||
|
+CreateSbrMissingHarmonicsDetector(SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_MISSING_HARMONICS_DETECTOR h_sbrMissingHarmonicsDetector,
|
||
|
int sampleFreq,
|
||
|
unsigned char* freqBandTable,
|
||
|
diff -Nupr src.p9/ps_enc.c src.p10/ps_enc.c
|
||
|
--- src.p9/ps_enc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/ps_enc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -56,7 +56,8 @@ int GetPsMode(int bitRate)
|
||
|
}
|
||
|
|
||
|
int
|
||
|
-CreatePsEnc(HANDLE_PS_ENC h_ps_e,
|
||
|
+CreatePsEnc(SBRRam_t *sbrram,
|
||
|
+ HANDLE_PS_ENC h_ps_e,
|
||
|
int psMode)
|
||
|
{
|
||
|
int i;
|
||
|
@@ -67,10 +68,10 @@ CreatePsEnc(HANDLE_PS_ENC h_ps_e,
|
||
|
|
||
|
|
||
|
|
||
|
- ptr1 = &sbr_envYBuffer[QMF_TIME_SLOTS * QMF_CHANNELS];
|
||
|
- ptr2 = &PsBuf2[0];
|
||
|
- ptr3 = &PsBuf3[0];
|
||
|
- ptr4 = &PsBuf4[0];
|
||
|
+ ptr1 = &sbrram->sbr_envYBuffer[QMF_TIME_SLOTS * QMF_CHANNELS];
|
||
|
+ ptr2 = &sbrram->PsBuf2[0];
|
||
|
+ ptr3 = &sbrram->PsBuf3[0];
|
||
|
+ ptr4 = &sbrram->PsBuf4[0];
|
||
|
|
||
|
|
||
|
if (h_ps_e == NULL)
|
||
|
diff -Nupr src.p9/ps_enc.h src.p10/ps_enc.h
|
||
|
--- src.p9/ps_enc.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/ps_enc.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -85,7 +85,8 @@ typedef struct PS_ENC *HANDLE_PS_ENC;
|
||
|
int GetPsMode(int bitRate);
|
||
|
|
||
|
int
|
||
|
-CreatePsEnc(HANDLE_PS_ENC h_ps_enc,
|
||
|
+CreatePsEnc(SBRRam_t *sbrram,
|
||
|
+ HANDLE_PS_ENC h_ps_enc,
|
||
|
int psMode);
|
||
|
|
||
|
void
|
||
|
diff -Nupr src.p9/psy_main.c src.p10/psy_main.c
|
||
|
--- src.p9/psy_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/psy_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -44,7 +44,7 @@ static int advancePsychShortMS (PSY_DATA
|
||
|
input: pointer to a psych handle
|
||
|
|
||
|
*****************************************************************************/
|
||
|
-int PsyNew(PSY_KERNEL *hPsy, int nChan)
|
||
|
+int PsyNew(AACRam_t *aacram, SBRRam_t *sbrram, PSY_KERNEL *hPsy, int nChan)
|
||
|
{
|
||
|
int i;
|
||
|
|
||
|
@@ -60,7 +60,7 @@ int PsyNew(PSY_KERNEL *hPsy, int nChan)
|
||
|
reserve memory for mdct delay buffer
|
||
|
*/
|
||
|
|
||
|
- hPsy->psyData[i].mdctDelayBuffer = &mdctDelayBuffer[i*BLOCK_SWITCHING_OFFSET];
|
||
|
+ hPsy->psyData[i].mdctDelayBuffer = &aacram->mdctDelayBuffer[i*BLOCK_SWITCHING_OFFSET];
|
||
|
|
||
|
|
||
|
/*
|
||
|
@@ -68,12 +68,12 @@ int PsyNew(PSY_KERNEL *hPsy, int nChan)
|
||
|
*/
|
||
|
|
||
|
|
||
|
- hPsy->psyData[i].mdctSpectrum = &sbr_envRBuffer[i*FRAME_LEN_LONG];
|
||
|
+ hPsy->psyData[i].mdctSpectrum = &sbrram->sbr_envRBuffer[i*FRAME_LEN_LONG];
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
- hPsy->pScratchTns = sbr_envIBuffer;
|
||
|
+ hPsy->pScratchTns = sbrram->sbr_envIBuffer;
|
||
|
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/psy_main.h src.p10/psy_main.h
|
||
|
--- src.p9/psy_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/psy_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -16,7 +16,7 @@ typedef struct {
|
||
|
}PSY_KERNEL;
|
||
|
|
||
|
|
||
|
-int PsyNew( PSY_KERNEL *hPsy, int nChan);
|
||
|
+int PsyNew( AACRam_t *aacram, SBRRam_t *sbrram, PSY_KERNEL *hPsy, int nChan);
|
||
|
int PsyDelete( PSY_KERNEL *hPsy);
|
||
|
|
||
|
int PsyOutNew( PSY_OUT *hPsyOut);
|
||
|
diff -Nupr src.p9/qc_main.c src.p10/qc_main.c
|
||
|
--- src.p9/qc_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/qc_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -118,7 +118,7 @@ static int framePadding(int bitRate,
|
||
|
|
||
|
**********************************************************************************/
|
||
|
|
||
|
-int QCOutNew(QC_OUT *hQC, int nChannels)
|
||
|
+int QCOutNew(AACRam_t *aacram, QC_OUT *hQC, int nChannels)
|
||
|
{
|
||
|
int error=0;
|
||
|
int i;
|
||
|
@@ -135,13 +135,13 @@ int QCOutNew(QC_OUT *hQC, int nChannels)
|
||
|
|
||
|
for (i=0; i<nChannels; i++) {
|
||
|
|
||
|
- hQC->qcChannel[i].quantSpec = &quantSpec[i*FRAME_LEN_LONG];
|
||
|
+ hQC->qcChannel[i].quantSpec = &aacram->quantSpec[i*FRAME_LEN_LONG];
|
||
|
|
||
|
|
||
|
- hQC->qcChannel[i].maxValueInSfb = &maxValueInSfb[i*MAX_GROUPED_SFB];
|
||
|
+ hQC->qcChannel[i].maxValueInSfb = &aacram->maxValueInSfb[i*MAX_GROUPED_SFB];
|
||
|
|
||
|
|
||
|
- hQC->qcChannel[i].scf = &scf[i*MAX_GROUPED_SFB];
|
||
|
+ hQC->qcChannel[i].scf = &aacram->scf[i*MAX_GROUPED_SFB];
|
||
|
}
|
||
|
|
||
|
|
||
|
@@ -231,7 +231,7 @@ void QCDelete(QC_STATE *hQC)
|
||
|
return:
|
||
|
|
||
|
**********************************************************************************/
|
||
|
-int QCInit(QC_STATE *hQC,
|
||
|
+int QCInit(AACRam_t *aacram, QC_STATE *hQC,
|
||
|
struct QC_INIT *init)
|
||
|
{
|
||
|
|
||
|
@@ -264,7 +264,7 @@ int QCInit(QC_STATE *hQC,
|
||
|
hQC->elementBits.chBitrate);
|
||
|
|
||
|
|
||
|
- BCInit();
|
||
|
+ BCInit(aacram);
|
||
|
|
||
|
|
||
|
|
||
|
@@ -279,7 +279,8 @@ int QCInit(QC_STATE *hQC,
|
||
|
return:
|
||
|
|
||
|
**********************************************************************************/
|
||
|
-int QCMain(QC_STATE* hQC,
|
||
|
+int QCMain(AACRam_t *aacram,
|
||
|
+ QC_STATE* hQC,
|
||
|
int nChannels,
|
||
|
ELEMENT_BITS* elBits,
|
||
|
ATS_ELEMENT* adjThrStateElement,
|
||
|
@@ -350,7 +351,8 @@ int QCMain(QC_STATE* hQC,
|
||
|
qcOutElement->staticBitsUsed+qcOutElement->ancBitsUsed);
|
||
|
|
||
|
|
||
|
- EstimateScaleFactors(psyOutChannel,
|
||
|
+ EstimateScaleFactors(aacram,
|
||
|
+ psyOutChannel,
|
||
|
qcOutChannel,
|
||
|
sfbFormFactor,
|
||
|
sfbNRelevantLines,
|
||
|
@@ -427,7 +429,8 @@ int QCMain(QC_STATE* hQC,
|
||
|
|
||
|
|
||
|
chDynBits =
|
||
|
- dynBitCount(qcOutChannel[ch].quantSpec,
|
||
|
+ dynBitCount(aacram,
|
||
|
+ qcOutChannel[ch].quantSpec,
|
||
|
qcOutChannel[ch].maxValueInSfb,
|
||
|
qcOutChannel[ch].scf,
|
||
|
psyOutChannel[ch].windowSequence,
|
||
|
diff -Nupr src.p9/qc_main.h src.p10/qc_main.h
|
||
|
--- src.p9/qc_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/qc_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -4,19 +4,18 @@
|
||
|
#ifndef _QC_MAIN_H
|
||
|
#define _QC_MAIN_H
|
||
|
|
||
|
-
|
||
|
-
|
||
|
-int QCOutNew(QC_OUT *hQC, int nChannels);
|
||
|
+int QCOutNew(AACRam_t *aacram, QC_OUT *hQC, int nChannels);
|
||
|
|
||
|
void QCOutDelete(QC_OUT *hQC);
|
||
|
|
||
|
int QCNew(QC_STATE *hQC);
|
||
|
|
||
|
-int QCInit(QC_STATE *hQC, struct QC_INIT *init);
|
||
|
+int QCInit(AACRam_t *aacram, QC_STATE *hQC, struct QC_INIT *init);
|
||
|
void QCDelete(QC_STATE *hQC);
|
||
|
|
||
|
|
||
|
-int QCMain(QC_STATE *hQC,
|
||
|
+int QCMain(AACRam_t *aacram,
|
||
|
+ QC_STATE *hQC,
|
||
|
int nChannels,
|
||
|
ELEMENT_BITS* elBits,
|
||
|
ATS_ELEMENT* adjThrStateElement,
|
||
|
diff -Nupr src.p9/qmf_enc.c src.p10/qmf_enc.c
|
||
|
--- src.p9/qmf_enc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/qmf_enc.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -1094,7 +1094,8 @@ getEnergyFromCplxQmfData(float **energyV
|
||
|
*/
|
||
|
|
||
|
int
|
||
|
-createQmfBank (int chan,
|
||
|
+createQmfBank (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf
|
||
|
|
||
|
|
||
|
@@ -1112,7 +1113,7 @@ createQmfBank (int chan,
|
||
|
h_sbrQmf->p_filter = sbr_qmf_64_640;
|
||
|
|
||
|
|
||
|
- h_sbrQmf->qmf_states_buffer = sbr_QmfStatesAnalysis + chan * 640;
|
||
|
+ h_sbrQmf->qmf_states_buffer = sbrram->sbr_QmfStatesAnalysis + chan * 640;
|
||
|
|
||
|
|
||
|
|
||
|
@@ -1228,14 +1229,14 @@ SynthesisQmfFiltering (float **sbrReal,
|
||
|
|
||
|
*******************************************************************************/
|
||
|
int
|
||
|
-CreateSynthesisQmfBank (HANDLE_SBR_QMF_FILTER_BANK hs)
|
||
|
+CreateSynthesisQmfBank (SBRRam_t *sbrram,HANDLE_SBR_QMF_FILTER_BANK hs)
|
||
|
{
|
||
|
float *ptr;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
- ptr = &PsBuf5[0];
|
||
|
+ ptr = &sbrram->PsBuf5[0];
|
||
|
|
||
|
|
||
|
memset (hs, 0, sizeof (SBR_QMF_FILTER_BANK));
|
||
|
diff -Nupr src.p9/qmf_enc.h src.p10/qmf_enc.h
|
||
|
--- src.p9/qmf_enc.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/qmf_enc.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -31,7 +31,7 @@ void sbrAnalysisFiltering (const float *
|
||
|
HANDLE_SBR_QMF_FILTER_BANK qmfBank);
|
||
|
|
||
|
|
||
|
-int createQmfBank (int chan,HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf);
|
||
|
+int createQmfBank (SBRRam_t *sbrram,int chan,HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf);
|
||
|
|
||
|
|
||
|
void deleteQmfBank (HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf);
|
||
|
@@ -52,7 +52,7 @@ SynthesisQmfFiltering (float **sbrReal,
|
||
|
|
||
|
|
||
|
int
|
||
|
-CreateSynthesisQmfBank (HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf);
|
||
|
+CreateSynthesisQmfBank (SBRRam_t *sbrram,HANDLE_SBR_QMF_FILTER_BANK h_sbrQmf);
|
||
|
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/sbr_main.c src.p10/sbr_main.c
|
||
|
--- src.p9/sbr_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/sbr_main.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -377,7 +377,7 @@ EnvClose (HANDLE_SBR_ENCODER hEnvEnc)
|
||
|
|
||
|
|
||
|
deleteEnvChannel (hEnvEnc->hEnvChannel[i]);
|
||
|
-
|
||
|
+ free(hEnvEnc->hEnvChannel[i]);
|
||
|
|
||
|
hEnvEnc->hEnvChannel[i] = NULL;
|
||
|
}
|
||
|
@@ -390,6 +390,7 @@ EnvClose (HANDLE_SBR_ENCODER hEnvEnc)
|
||
|
{
|
||
|
|
||
|
DeleteSynthesisQmfBank ((HANDLE_SBR_QMF_FILTER_BANK*)&hEnvEnc->hSynthesisQmfBank);
|
||
|
+ free(hEnvEnc->hSynthesisQmfBank);
|
||
|
}
|
||
|
|
||
|
|
||
|
@@ -397,6 +398,7 @@ EnvClose (HANDLE_SBR_ENCODER hEnvEnc)
|
||
|
{
|
||
|
|
||
|
DeletePsEnc(&hEnvEnc->hPsEnc);
|
||
|
+ free(hEnvEnc->hPsEnc);
|
||
|
}
|
||
|
#endif /* #ifndef MONO_ONLY */
|
||
|
|
||
|
@@ -535,7 +537,8 @@ EnvEncodeFrame (HANDLE_SBR_ENCODER hEnvE
|
||
|
|
||
|
|
||
|
|
||
|
- extractSbrEnvelope(samples,
|
||
|
+ extractSbrEnvelope(hEnvEncoder->fftctx,
|
||
|
+ samples,
|
||
|
pCoreBuffer,
|
||
|
timeInStride,
|
||
|
&hEnvEncoder->sbrConfigData,
|
||
|
@@ -587,7 +590,8 @@ EnvEncodeFrame (HANDLE_SBR_ENCODER hEnvE
|
||
|
*****************************************************************************/
|
||
|
|
||
|
static int
|
||
|
-createEnvChannel (int chan,
|
||
|
+createEnvChannel (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_CONFIG_DATA sbrConfigData,
|
||
|
HANDLE_SBR_HEADER_DATA sbrHeaderData,
|
||
|
HANDLE_ENV_CHANNEL hEnv,
|
||
|
@@ -616,7 +620,7 @@ createEnvChannel (int chan,
|
||
|
|
||
|
|
||
|
|
||
|
- if(createQmfBank (chan, &hEnv->sbrQmf)){
|
||
|
+ if(createQmfBank (sbrram, chan, &hEnv->sbrQmf)){
|
||
|
|
||
|
|
||
|
return (1); /* initialisation failed */
|
||
|
@@ -627,7 +631,8 @@ createEnvChannel (int chan,
|
||
|
|
||
|
|
||
|
|
||
|
- if(CreateTonCorrParamExtr (chan,
|
||
|
+ if(CreateTonCorrParamExtr (sbrram,
|
||
|
+ chan,
|
||
|
&hEnv->TonCorr,
|
||
|
|
||
|
|
||
|
@@ -691,7 +696,8 @@ createEnvChannel (int chan,
|
||
|
|
||
|
|
||
|
|
||
|
- if(CreateExtractSbrEnvelope (chan,
|
||
|
+ if(CreateExtractSbrEnvelope (sbrram,
|
||
|
+ chan,
|
||
|
&hEnv->sbrExtractEnvelope,
|
||
|
|
||
|
startIndex
|
||
|
@@ -742,7 +748,8 @@ createEnvChannel (int chan,
|
||
|
hEnv->encEnvData.freq_res_fixfix);
|
||
|
|
||
|
|
||
|
- if(CreateSbrTransientDetector (chan,
|
||
|
+ if(CreateSbrTransientDetector (sbrram,
|
||
|
+ chan,
|
||
|
&hEnv->sbrTransientDetector,
|
||
|
|
||
|
sbrConfigData->sampleFreq,
|
||
|
@@ -782,7 +789,8 @@ createEnvChannel (int chan,
|
||
|
|
||
|
*****************************************************************************/
|
||
|
int
|
||
|
-EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
+EnvOpen (SBRRam_t *sbrram,
|
||
|
+ HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
float *pCoreBuffer,
|
||
|
sbrConfigurationPtr params,
|
||
|
int *coreBandWith)
|
||
|
@@ -802,7 +810,7 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
for (ch=0; ch<MAX_CHANNELS; ch++)
|
||
|
{
|
||
|
|
||
|
- hEnvEnc->hEnvChannel[ch] = &EnvChannel[ch];
|
||
|
+ hEnvEnc->hEnvChannel[ch] = calloc(1, sizeof(struct ENV_CHANNEL));
|
||
|
}
|
||
|
|
||
|
|
||
|
@@ -817,19 +825,19 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
|
||
|
|
||
|
|
||
|
- hEnvEnc->sbrConfigData.freqBandTable[LO] = sbr_freqBandTableLO;
|
||
|
+ hEnvEnc->sbrConfigData.freqBandTable[LO] = sbrram->sbr_freqBandTableLO;
|
||
|
|
||
|
|
||
|
memset(hEnvEnc->sbrConfigData.freqBandTable[LO],0,sizeof(unsigned char)*MAX_FREQ_COEFFS/2+1);
|
||
|
|
||
|
|
||
|
- hEnvEnc->sbrConfigData.freqBandTable[HI] = sbr_freqBandTableHI;
|
||
|
+ hEnvEnc->sbrConfigData.freqBandTable[HI] = sbrram->sbr_freqBandTableHI;
|
||
|
|
||
|
|
||
|
memset(hEnvEnc->sbrConfigData.freqBandTable[HI],0,sizeof(unsigned char)*MAX_FREQ_COEFFS+1);
|
||
|
|
||
|
|
||
|
- hEnvEnc->sbrConfigData.v_k_master = sbr_v_k_master;
|
||
|
+ hEnvEnc->sbrConfigData.v_k_master = sbrram->sbr_v_k_master;
|
||
|
|
||
|
|
||
|
memset(hEnvEnc->sbrConfigData.v_k_master,0,sizeof(unsigned char)*MAX_FREQ_COEFFS+1);
|
||
|
@@ -986,7 +994,8 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
for ( ch = 0; ch < hEnvEnc->sbrConfigData.nChannels; ch++ ) {
|
||
|
|
||
|
|
||
|
- if(createEnvChannel(ch,
|
||
|
+ if(createEnvChannel(sbrram,
|
||
|
+ ch,
|
||
|
&hEnvEnc->sbrConfigData,
|
||
|
&hEnvEnc->sbrHeaderData,
|
||
|
hEnvEnc->hEnvChannel[ch],
|
||
|
@@ -1011,12 +1020,13 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
if (params->usePs)
|
||
|
{
|
||
|
|
||
|
- if(createQmfBank (1, &hEnvEnc->hEnvChannel[1]->sbrQmf)){
|
||
|
+ if(createQmfBank (sbrram, 1, &hEnvEnc->hEnvChannel[1]->sbrQmf)){
|
||
|
|
||
|
return (1);
|
||
|
}
|
||
|
|
||
|
- if(CreateExtractSbrEnvelope (1,
|
||
|
+ if(CreateExtractSbrEnvelope (sbrram,
|
||
|
+ 1,
|
||
|
&hEnvEnc->hEnvChannel[1]->sbrExtractEnvelope,
|
||
|
576
|
||
|
)) {
|
||
|
@@ -1025,10 +1035,10 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
}
|
||
|
|
||
|
|
||
|
- hEnvEnc->hSynthesisQmfBank = &SynthesisQmfBank;
|
||
|
+ hEnvEnc->hSynthesisQmfBank = calloc(1, sizeof(SBR_QMF_FILTER_BANK));
|
||
|
|
||
|
|
||
|
- if(CreateSynthesisQmfBank (hEnvEnc->hSynthesisQmfBank)){
|
||
|
+ if(CreateSynthesisQmfBank (sbrram, hEnvEnc->hSynthesisQmfBank)){
|
||
|
|
||
|
|
||
|
DeleteSynthesisQmfBank ((HANDLE_SBR_QMF_FILTER_BANK*)&hEnvEnc->hSynthesisQmfBank);
|
||
|
@@ -1038,10 +1048,11 @@ EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
}
|
||
|
|
||
|
|
||
|
- hEnvEnc->hPsEnc = &psEncoder;
|
||
|
+ hEnvEnc->hPsEnc = calloc(1, sizeof(struct PS_ENC));
|
||
|
|
||
|
|
||
|
- if(CreatePsEnc (hEnvEnc->hPsEnc,
|
||
|
+ if(CreatePsEnc (sbrram,
|
||
|
+ hEnvEnc->hPsEnc,
|
||
|
params->psMode)){
|
||
|
|
||
|
|
||
|
diff -Nupr src.p9/sbr_main.h src.p10/sbr_main.h
|
||
|
--- src.p9/sbr_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/sbr_main.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -102,7 +102,8 @@ typedef struct SBR_ENCODER *HANDLE_SBR_E
|
||
|
|
||
|
|
||
|
int
|
||
|
-EnvOpen (HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
+EnvOpen (SBRRam_t *sbrram,
|
||
|
+ HANDLE_SBR_ENCODER hEnvEnc,
|
||
|
float *pCoreBuffer,
|
||
|
sbrConfigurationPtr params,
|
||
|
int *coreBandWith
|
||
|
diff -Nupr src.p9/sf_estim.c src.p10/sf_estim.c
|
||
|
--- src.p9/sf_estim.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/sf_estim.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -1035,7 +1035,8 @@ static void assimilateMultipleScf(PSY_OU
|
||
|
|
||
|
|
||
|
static void
|
||
|
-estimateScaleFactorsChannel(PSY_OUT_CHANNEL *psyOutChan,
|
||
|
+estimateScaleFactorsChannel(AACRam_t *aacram,
|
||
|
+ PSY_OUT_CHANNEL *psyOutChan,
|
||
|
short *scf,
|
||
|
int *globalGain,
|
||
|
float *sfbFormFactor,
|
||
|
@@ -1062,7 +1063,7 @@ estimateScaleFactorsChannel(PSY_OUT_CHAN
|
||
|
for (i=0; i<FRAME_LEN_LONG; i++) {
|
||
|
|
||
|
|
||
|
- expSpec[i] = 0.0f;
|
||
|
+ aacram->expSpec[i] = 0.0f;
|
||
|
quantSpec[i] = 0;
|
||
|
}
|
||
|
|
||
|
@@ -1124,15 +1125,15 @@ estimateScaleFactorsChannel(PSY_OUT_CHAN
|
||
|
|
||
|
/* find better scalefactor with analysis by synthesis */
|
||
|
|
||
|
- calcExpSpec(expSpec+psyOutChan->sfbOffsets[i],
|
||
|
+ calcExpSpec(aacram->expSpec+psyOutChan->sfbOffsets[i],
|
||
|
psyOutChan->mdctSpectrum+psyOutChan->sfbOffsets[i],
|
||
|
psyOutChan->sfbOffsets[i+1]-psyOutChan->sfbOffsets[i]);
|
||
|
|
||
|
|
||
|
scfInt = improveScf(psyOutChan->mdctSpectrum+psyOutChan->sfbOffsets[i],
|
||
|
- expSpec+psyOutChan->sfbOffsets[i],
|
||
|
+ aacram->expSpec+psyOutChan->sfbOffsets[i],
|
||
|
quantSpec+psyOutChan->sfbOffsets[i],
|
||
|
- quantSpecTmp+psyOutChan->sfbOffsets[i],
|
||
|
+ aacram->quantSpecTmp+psyOutChan->sfbOffsets[i],
|
||
|
psyOutChan->sfbOffsets[i+1]-psyOutChan->sfbOffsets[i],
|
||
|
thresh, scfInt, minSfMaxQuant[i],
|
||
|
&sfbDist[i], &minScfCalculated[i]);
|
||
|
@@ -1155,12 +1156,12 @@ estimateScaleFactorsChannel(PSY_OUT_CHAN
|
||
|
}
|
||
|
|
||
|
|
||
|
- assimilateSingleScf(psyOutChan, expSpec, quantSpec, quantSpecTmp, scf,
|
||
|
+ assimilateSingleScf(psyOutChan, aacram->expSpec, quantSpec, aacram->quantSpecTmp, scf,
|
||
|
minSfMaxQuant, sfbDist, sfbConstPePart,
|
||
|
sfbFormFactor, sfbNRelevantLines, minScfCalculated, 1);
|
||
|
|
||
|
|
||
|
- assimilateMultipleScf(psyOutChan, expSpec, quantSpec, quantSpecTmp, scf,
|
||
|
+ assimilateMultipleScf(psyOutChan, aacram->expSpec, quantSpec, aacram->quantSpecTmp, scf,
|
||
|
minSfMaxQuant, sfbDist, sfbConstPePart,
|
||
|
sfbFormFactor, sfbNRelevantLines);
|
||
|
}
|
||
|
@@ -1204,7 +1205,7 @@ estimateScaleFactorsChannel(PSY_OUT_CHAN
|
||
|
/* ??? */
|
||
|
sfbDist[i] =
|
||
|
calcSfbDist(psyOutChan->mdctSpectrum+psyOutChan->sfbOffsets[i],
|
||
|
- expSpec+psyOutChan->sfbOffsets[i],
|
||
|
+ aacram->expSpec+psyOutChan->sfbOffsets[i],
|
||
|
quantSpec+psyOutChan->sfbOffsets[i],
|
||
|
psyOutChan->sfbOffsets[i+1]-psyOutChan->sfbOffsets[i],
|
||
|
scf[i]);
|
||
|
@@ -1301,7 +1302,8 @@ CalcFormFactor(float sfbFormFactor[MAX_C
|
||
|
|
||
|
|
||
|
void
|
||
|
-EstimateScaleFactors(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
|
||
|
+EstimateScaleFactors(AACRam_t *aacram,
|
||
|
+ PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
|
||
|
QC_OUT_CHANNEL qcOutChannel[MAX_CHANNELS],
|
||
|
float sfbFormFactor[MAX_CHANNELS][MAX_GROUPED_SFB],
|
||
|
float sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
|
||
|
@@ -1315,7 +1317,8 @@ EstimateScaleFactors(PSY_OUT_CHANNEL psy
|
||
|
for (j=0; j<nChannels; j++) {
|
||
|
|
||
|
|
||
|
- estimateScaleFactorsChannel(&psyOutChannel[j],
|
||
|
+ estimateScaleFactorsChannel(aacram,
|
||
|
+ &psyOutChannel[j],
|
||
|
qcOutChannel[j].scf,
|
||
|
&(qcOutChannel[j].globalGain),
|
||
|
sfbFormFactor[j],
|
||
|
diff -Nupr src.p9/sf_estim.h src.p10/sf_estim.h
|
||
|
--- src.p9/sf_estim.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/sf_estim.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -13,7 +13,8 @@ CalcFormFactor(float sfbFormFactor[MAX_C
|
||
|
const int nChannels);
|
||
|
|
||
|
void
|
||
|
-EstimateScaleFactors(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
|
||
|
+EstimateScaleFactors(AACRam_t *aacram,
|
||
|
+ PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
|
||
|
QC_OUT_CHANNEL qcOutChannel[MAX_CHANNELS],
|
||
|
float sfbFormFactor[MAX_CHANNELS][MAX_GROUPED_SFB],
|
||
|
float sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
|
||
|
diff -Nupr src.p9/ton_corr.c src.p10/ton_corr.c
|
||
|
--- src.p9/ton_corr.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/ton_corr.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -712,7 +712,8 @@ resetPatch(HANDLE_SBR_TON_CORR_EST hTonC
|
||
|
*/
|
||
|
/**************************************************************************/
|
||
|
int
|
||
|
-CreateTonCorrParamExtr (int chan,
|
||
|
+CreateTonCorrParamExtr (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_TON_CORR_EST hTonCorr,
|
||
|
int fs,
|
||
|
int usb,
|
||
|
@@ -762,7 +763,7 @@ CreateTonCorrParamExtr (int chan,
|
||
|
|
||
|
for(i=0;i<hTonCorr->numberOfEstimates;i++) {
|
||
|
|
||
|
- hTonCorr->quotaMatrix[i] = &(sbr_quotaMatrix[chan* NO_OF_ESTIMATES*QMF_CHANNELS + i*noQmfChannels]);
|
||
|
+ hTonCorr->quotaMatrix[i] = &(sbrram->sbr_quotaMatrix[chan* NO_OF_ESTIMATES*QMF_CHANNELS + i*noQmfChannels]);
|
||
|
|
||
|
|
||
|
memset(hTonCorr->quotaMatrix[i] ,0, sizeof(float)*QMF_CHANNELS);
|
||
|
@@ -815,7 +816,8 @@ CreateTonCorrParamExtr (int chan,
|
||
|
|
||
|
|
||
|
|
||
|
- if(CreateSbrMissingHarmonicsDetector (chan,
|
||
|
+ if(CreateSbrMissingHarmonicsDetector (sbrram,
|
||
|
+ chan,
|
||
|
&hTonCorr->sbrMissingHarmonicsDetector,
|
||
|
fs,
|
||
|
freqBandTable[HI],
|
||
|
diff -Nupr src.p9/ton_corr.h src.p10/ton_corr.h
|
||
|
--- src.p9/ton_corr.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/ton_corr.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -72,7 +72,8 @@ TonCorrParamExtr(HANDLE_SBR_TON_CORR_EST
|
||
|
|
||
|
|
||
|
int
|
||
|
-CreateTonCorrParamExtr (int chan,
|
||
|
+CreateTonCorrParamExtr (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_TON_CORR_EST hTonCorr,
|
||
|
int fs,
|
||
|
int usb,
|
||
|
diff -Nupr src.p9/tran_det.c src.p10/tran_det.c
|
||
|
--- src.p9/tran_det.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/tran_det.c 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -489,7 +489,8 @@ transientDetect (float **Energies,
|
||
|
|
||
|
|
||
|
int
|
||
|
-CreateSbrTransientDetector (int chan,
|
||
|
+CreateSbrTransientDetector (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_TRANSIENT_DETECTOR h_sbrTransientDetector,
|
||
|
|
||
|
int sampleFreq,
|
||
|
@@ -555,13 +556,13 @@ CreateSbrTransientDetector (int chan,
|
||
|
h_sbrTransientDetector->prevLowBandEnergy = 0;
|
||
|
|
||
|
|
||
|
- h_sbrTransientDetector->thresholds = &sbr_thresholds[chan*QMF_CHANNELS];
|
||
|
+ h_sbrTransientDetector->thresholds = &sbrram->sbr_thresholds[chan*QMF_CHANNELS];
|
||
|
|
||
|
|
||
|
memset(h_sbrTransientDetector->thresholds,0,sizeof(float)*QMF_CHANNELS);
|
||
|
|
||
|
|
||
|
- h_sbrTransientDetector->transients = &sbr_transients[chan*h_sbrTransientDetector->buffer_length];
|
||
|
+ h_sbrTransientDetector->transients = &sbrram->sbr_transients[chan*h_sbrTransientDetector->buffer_length];
|
||
|
|
||
|
|
||
|
memset(h_sbrTransientDetector->transients,0,sizeof(float)*h_sbrTransientDetector->buffer_length);
|
||
|
diff -Nupr src.p9/tran_det.h src.p10/tran_det.h
|
||
|
--- src.p9/tran_det.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
+++ src.p10/tran_det.h 2010-10-21 13:06:37.000000000 +0300
|
||
|
@@ -36,7 +36,8 @@ void transientDetect (float **Energies,
|
||
|
);
|
||
|
|
||
|
int
|
||
|
-CreateSbrTransientDetector (int chan,
|
||
|
+CreateSbrTransientDetector (SBRRam_t *sbrram,
|
||
|
+ int chan,
|
||
|
HANDLE_SBR_TRANSIENT_DETECTOR h_sbrTransientDetector,
|
||
|
|
||
|
int sampleFreq,
|