📄 main.c
字号:
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BLKS, amp/10);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS);
gaec_adapt_dc3pC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc3p (&GaecDbA, &GaecScA, blk, 0);
gaec_adapt_dc3dC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc3d (&GaecDbA, &GaecScA, blk, 0);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 234)
{
extern void gaec_adapt_dc3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[GAEC_BANDS] = GaecDbA.aslAdEn[GAEC_BANDS] = 0x30;
GaecDbC.aslEn3[GAEC_BANDS] = GaecDbA.aslEn3[GAEC_BANDS] = 0x3000L;
for (k = 0; k < 234; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = rand() & 4095;
if (zer == 0)
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 0;
GaecDbC.asShft[GAEC_BANDS] = GaecDbA.asShft[GAEC_BANDS] = (rand()%7) - 3;
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
memcpy (GaecDbA.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS, amp/4);
memcpy(&GaecScA.aasErr[GAEC_BANDS][0], &GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS);
gaec_adapt_dc3pC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc3p (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 235)
{
extern void gaec_adapt_dc3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[GAEC_BANDS] = GaecDbA.aslAdEn[GAEC_BANDS] = 0x30;
GaecDbC.aslEn3[GAEC_BANDS] = GaecDbA.aslEn3[GAEC_BANDS] = 0x3000L;
for (k = 0; k < 235; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = rand() & 4095;
if (zer == 0)
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 0;
GaecDbC.asShft[GAEC_BANDS] = GaecDbA.asShft[GAEC_BANDS] = (rand()%7) - 3;
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
memcpy (GaecDbA.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS, amp/4);
memcpy(&GaecScA.aasErr[GAEC_BANDS][0], &GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS);
gaec_adapt_dc3pC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc3p (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
gaec_adapt_dc3dC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc3d (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 236)
{
extern void gaec_adapt_ac3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
extern void gaec_adapt_ac3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
S16 band;
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x12345678L;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0xdead;
GaecDbC.aslEn3[0] = GaecDbA.aslEn3[0] = 0x2345678L;
for (band = 1; band < GAEC_BANDS; band++)
{
GaecDbC.aslAdEn[band] = GaecDbA.aslAdEn[band] = 0x30;
GaecDbC.aslEn3[band] = GaecDbA.aslEn3[band] = 0x3000L;
}
for (k = 0; k < 236; k++)
{
S16 blk = (rand() &1) << 1;
S16 amp = abs(rand()) % 8200;
S16 band0;
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*2);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
for (band = 1; band < GAEC_BANDS; band++)
{
GaecScC.asSSC[band] = GaecScA.asSSC[band] = rand() & 4095;
GaecDbC.asShft[band] = GaecDbA.asShft[band] = (rand()%7) - 3;
}
band0 = rand() % GAEC_BANDS;
GaecScC.asSSC[band0] = GaecScA.asSSC[band0] = 0;
fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS*2, amp/4);
// fill_rand(&GaecScC.aasErr[0][0], 2*GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], amp/4, 2*GAEC_BLKS);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS*GAEC_BANDS*2);
gaec_adapt_ac3pC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac3p (&GaecDbA, &GaecScA, blk);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 237)
{
extern void gaec_adapt_ac3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
extern void gaec_adapt_ac3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
S16 band;
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x12345678L;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0xdead;
GaecDbC.aslEn3[0] = GaecDbA.aslEn3[0] = 0x2345678L;
for (band = 1; band < GAEC_BANDS; band++)
{
GaecDbC.aslAdEn[band] = GaecDbA.aslAdEn[band] = 0x30;
GaecDbC.aslEn3[band] = GaecDbA.aslEn3[band] = 0x3000L;
}
for (k = 0; k < 237; k++)
{
S16 blk = (rand() &1) << 1;
S16 amp = abs(rand()) % 8200;
S16 band0;
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*2);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
for (band = 1; band < GAEC_BANDS; band++)
{
GaecScC.asSSC[band] = GaecScA.asSSC[band] = rand() & 4095;
GaecDbC.asShft[band] = GaecDbA.asShft[band] = (rand()%7) - 3;
}
band0 = rand() % GAEC_BANDS;
GaecScC.asSSC[band0] = GaecScA.asSSC[band0] = 0;
fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS*2, amp/4);
// fill_rand(&GaecScC.aasErr[0][0], 2*GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], amp/4, 2*GAEC_BLKS);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS*GAEC_BANDS*2);
gaec_adapt_ac3pC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac3p (&GaecDbA, &GaecScA, blk);
gaec_adapt_ac3dC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac3d (&GaecDbA, &GaecScA, blk);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 241)
{
void gaec_get_energy4C(GAEC_tDb *pDb);
for (k = 0; k < 241; k++)
{
S16 amp = 82;//abs(rand()) % 8200;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*2*GAEC_BANDS);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy4C(&GaecDbC);
gaec_get_energy4 (&GaecDbA);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 242)
{
extern void gaec_adapt_dc4pC(GAEC_tDb *pDb,GAEC_tSc *pSc, S16 band);
extern void gaec_adapt_dc4dC(GAEC_tDb *pDb,GAEC_tSc *pSc, S16 band);
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x30;
GaecDbC.aslEn4[0] = GaecDbA.aslEn4[0] = 0x3000L;
for (k = 0; k < 242; k++)
{
S16 amp = abs(rand()) % 8200;
S16 ss = rand();
GaecScC.asSSC[0] = GaecScA.asSSC[0] = rand() & 4095;
if (ss < RAND_MAX/16)
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0;
GaecDbC.asShft[0] =
GaecDbA.asShft[0] =
(rand()%7) - 3;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy4(&GaecDbC);
gaec_get_energy4(&GaecDbA);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], amp/4, GAEC_BLKS);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS);
gaec_adapt_dc4pC(&GaecDbC, &GaecScC, 0);
gaec_adapt_dc4p (&GaecDbA, &GaecScA, 0);
gaec_adapt_dc4dC(&GaecDbC, &GaecScC, 0);
gaec_adapt_dc4d (&GaecDbA, &GaecScA, 0);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 243)
{
extern void gaec_adapt_dc4pC(GAEC_tDb *pDb,GAEC_tSc *pSc, S16 band);
extern void gaec_adapt_dc4dC(GAEC_tDb *pDb,GAEC_tSc *pSc, S16 band);
GaecDbC.aslAdEn[GAEC_BANDS] = GaecDbA.aslAdEn[GAEC_BANDS] = 0x30;
GaecDbC.aslEn4[GAEC_BANDS] = GaecDbA.aslEn4[GAEC_BANDS] = 0x30L;
for (k = 0; k < 243; k++)
{
S16 amp = 8400;//abs(rand()) % 8200;
S16 ss = rand();
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = rand()&4095;
if (ss < RAND_MAX/16)
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 0;
GaecDbC.asShft[GAEC_BANDS] =
GaecDbA.asShft[GAEC_BANDS] =
(rand()%7) - 3;
fill_rand(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, amp, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy4(&GaecDbC);
gaec_get_energy4(&GaecDbA);
fill_rand(&GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[GAEC_BANDS][0], amp/4, GAEC_BLKS);
memcpy(&GaecScA.aasErr[GAEC_BANDS][0], &GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS);
gaec_adapt_dc4pC(&GaecDbC, &GaecScC, GAEC_BANDS);
gaec_adapt_dc4p (&GaecDbA, &GaecScA, GAEC_BANDS);
gaec_adapt_dc4dC(&GaecDbC, &GaecScC, GAEC_BANDS);
gaec_adapt_dc4d (&GaecDbA, &GaecScA, GAEC_BANDS);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 244)
{
extern void gaec_adapt_ac4pC(GAEC_tDb *pDb,GAEC_tSc *pSc);
extern void gaec_adapt_ac4dC(GAEC_tDb *pDb,GAEC_tSc *pSc);
S16 band;
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x12345678L;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0xdead;
GaecDbC.aslEn4[0] = GaecDbA.aslEn4[0] = 0x2345678L;
for (band = 1; band < GAEC_BANDS; band++)
{
GaecDbC.aslAdEn[band] = GaecDbA.aslAdEn[band] = 0x3L;
GaecDbC.aslEn4[band] = GaecDbA.aslEn4[band] = 0x300L;
}
for (k = 0; k < 244; k++)
{
S16 amp = abs(rand()) % 8200;
S16 sb = rand() % (GAEC_BANDS+1);
for (band = 1; band < GAEC_BANDS; band++)
{
GaecScC.asSSC[band] = GaecScA.asSSC[band] = rand() & 4095;
GaecDbC.asShft[band] = GaecDbA.asShft[band] = (rand()%7) - 3;
}
GaecScC.asSSC[sb] = GaecScA.asSSC[sb] = 0;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*GAEC_BANDS, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*GAEC_BANDS);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*2);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy4(&GaecDbC);
gaec_get_energy4(&GaecDbA);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS*2, amp/4);
// fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], amp/4, GAEC_BANDS*GAEC_BLKS);
// memset(&GaecScC.aasErr[0][0], amp/4, GAEC_BANDS*2);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS*GAEC_BANDS*2);
gaec_adapt_ac4pC(&GaecDbC, &GaecScC);
gaec_adapt_ac4p (&GaecDbA, &GaecScA);
gaec_adapt_ac4dC(&GaecDbC, &GaecScC);
gaec_adapt_ac4d (&GaecDbA, &GaecScA);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 301)
{
extern void gaec_cancel_dcC
(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 *psAdf,S16 *psErr,S16 blk,S16 band);
extern void gaec_cancel_acC
(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 *psAdf,S16 *psErr,S16 blk);
for (k = 0; k < 301; k++)
{
int band;
S16 amp = abs(rand()) % 8200;
S16 blk = rand() % GAEC_BLKS;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ*2*GAEC_BANDS);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
fill_rand(&GaecDbC.psAdf[0], GAEC_ADF_SZ*2*GAEC_BANDS, amp/10);
// fill_rand(&GaecDbC.asAdf[0], GAEC_ADF_SZ*2, amp/10);
// memset(&GaecDbC.asAdf[0], amp/10, GAEC_ADF_SZ*2*GAEC_BANDS);
// memset(&GaecDbC.psAdf[0], amp/10, GAEC_ADF_SZ*2);
memcpy(&GaecDbA.psAdf[0], &GaecDbC.psAdf[0], GAEC_ADF_SZ*GAEC_BANDS*2);
fill_rand(&GaecDbC.psAdfM[0], GAEC_ADF_SZ*2*GAEC_BANDS, amp/10);
memcpy(&GaecDbA.psAdfM[0], &GaecDbC.psAdfM[0], GAEC_ADF_SZ*GAEC_BANDS*2);
fill_rand(&GaecScC.aasSin[0][0], GAEC_BLKS*2*GAEC_BANDS, amp/10);
// fill_rand(&GaecScC.aasSnd[0][0], GAEC_BLKS*2, amp/10);
// memset(&GaecScC.aasSnd[0][0], amp/10, GAEC_BLKS*2*GAEC_BANDS);
memcpy(&GaecScA.aasSin[0][0], &GaecScC.aasSin[0], GAEC_BLKS*GAEC_BANDS*2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -