mirror of https://github.com/lwvmobile/mbelib
Merge pull request #1 from lwvmobile/lwvmobile-patch-1
Direct all printing to STDERR
This commit is contained in:
commit
1b890a37cb
10
CHANGELOG
10
CHANGELOG
|
|
@ -1,3 +1,7 @@
|
|||
1.3.1:
|
||||
Redirect all printf to stderr ( Change all printf to fprintf(stderr,)
|
||||
Increment to 1.3.1 to make it easy to differentiate if this particular version is installed
|
||||
|
||||
1.3.0:
|
||||
Initial DSTAR AMBE support
|
||||
Fixed random number generator
|
||||
|
|
@ -44,9 +48,9 @@
|
|||
reduced error -> repeat thresholds for reduced noise bursts
|
||||
ambe3600x2250 now correctly handles "Silence" frames
|
||||
ambe Tone and Erasure frames are now indicated with T and E in errorbars
|
||||
|
||||
1.0.1 Fixed bugs:
|
||||
cur_mp->repeat was not being copied to prev_mp
|
||||
|
||||
1.0.1 Fixed bugs:
|
||||
cur_mp->repeat was not being copied to prev_mp
|
||||
logic to check for bad mbe frames was incorrect
|
||||
|
||||
1.0 First release
|
||||
|
|
|
|||
11
README.md
11
README.md
|
|
@ -1,12 +1,17 @@
|
|||
[](https://travis-ci.org/szechyjs/mbelib)
|
||||
mbelib 1.3.1
|
||||
|
||||
Redirect all printf to stderr ( Change all printf to fprintf(stderr,)
|
||||
Increment to 1.3.1 to make it easy to differentiate if this particular version is installed
|
||||
|
||||
THIS VERSION PURELY FOR ACADEMIC RESEARCH - DON'T USE THIS VERSION!
|
||||
|
||||
PATENT NOTICE
|
||||
|
||||
This source code is provided for educational purposes only. It is
|
||||
a written description of how certain voice encoding/decoding
|
||||
algorythims could be implemented. Executable objects compiled or
|
||||
algorythims could be implemented. Executable objects compiled or
|
||||
derived from this package may be covered by one or more patents.
|
||||
Readers are strongly advised to check for any patent restrictions or
|
||||
Readers are strongly advised to check for any patent restrictions or
|
||||
licencing requirements before compiling or using this source code.
|
||||
|
||||
mbelib 1.3.0
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ mbe_dumpAmbe2400Data (char *ambe_d)
|
|||
ambe = ambe_d;
|
||||
for (i = 0; i < 49; i++)
|
||||
{
|
||||
printf ("%i", *ambe);
|
||||
fprintf (stderr,"%i", *ambe);
|
||||
ambe++;
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -45,33 +45,33 @@ mbe_dumpAmbe3600x2400Frame (char ambe_fr[4][24])
|
|||
int j;
|
||||
|
||||
// c0
|
||||
printf ("ambe_fr c0: ");
|
||||
fprintf (stderr,"ambe_fr c0: ");
|
||||
for (j = 23; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[0][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[0][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c1
|
||||
printf ("ambe_fr c1: ");
|
||||
fprintf (stderr,"ambe_fr c1: ");
|
||||
for (j = 22; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[1][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[1][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c2
|
||||
printf ("ambe_fr c2: ");
|
||||
fprintf (stderr,"ambe_fr c2: ");
|
||||
for (j = 10; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[2][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[2][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c3
|
||||
printf ("ambe_fr c3: ");
|
||||
fprintf (stderr,"ambe_fr c3: ");
|
||||
for (j = 13; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[3][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[3][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -157,12 +157,12 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
silence = 0;
|
||||
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// copy repeat from prev_mp
|
||||
cur_mp->repeat = prev_mp->repeat;
|
||||
|
||||
|
||||
// check if frame is tone or other; this matches section 7.2 on the P25 Half rate vocoder annex doc
|
||||
b0 = 0;
|
||||
b0 |= ambe_d[0]<<6;
|
||||
|
|
@ -192,7 +192,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
int t6tab[8] = {0,0,0,1,1,1,1,0};
|
||||
int t5tab[8] = {0,0,1,0,1,1,0,1};
|
||||
// V V V V V G G G V = verified, G = guessed (and unused by all normal tone indices)
|
||||
b1 = 0;
|
||||
b1 = 0;
|
||||
b1 |= t7tab[((ambe_d[6]<<2)|(ambe_d[7]<<1)|ambe_d[8])]<<7; //t7 128
|
||||
b1 |= t6tab[((ambe_d[6]<<2)|(ambe_d[7]<<1)|ambe_d[8])]<<6; //t6 64
|
||||
b1 |= t5tab[((ambe_d[6]<<2)|(ambe_d[7]<<1)|ambe_d[8])]<<5; //t5 32
|
||||
|
|
@ -242,7 +242,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
if(silence == 1)
|
||||
{
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Silence Frame\n");
|
||||
fprintf (stderr,"Silence Frame\n");
|
||||
#endif
|
||||
cur_mp->w0 = ((float) 2 * M_PI) / (float) 32;
|
||||
f0 = (float) 1 / (float) 32;
|
||||
|
|
@ -254,16 +254,16 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Tone Frame\n");
|
||||
fprintf (stderr,"Tone Frame\n");
|
||||
#endif
|
||||
return (3);
|
||||
}
|
||||
//fprintf(stderr,"Voice Frame, Pitch = %f\n", powf(2, ((float)b0+195.626)/-46.368)*8000); // was 45.368
|
||||
//fprintf(stderr,"Voice Frame, rawPitch = %02d, Pitch = %f\n", b0, powf(2, ((-1*(float)(17661/((int)1<<12))) - (2.1336e-2 * ((float)b0+0.5))))*8000);
|
||||
//fprintf(stderr,"Voice Frame, Pitch = %f, ", powf(2, (-4.311767578125 - (2.1336e-2 * ((float)b0+0.5))))*8000);
|
||||
|
||||
|
||||
// decode fundamental frequency w0 from b0 is already done
|
||||
|
||||
|
||||
if (silence == 0)
|
||||
{
|
||||
// w0 from specification document
|
||||
|
|
@ -271,7 +271,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
//cur_mp->w0 = f0 * (float) 2 *M_PI;
|
||||
// w0 from patent filings
|
||||
//f0 = powf (2, ((float) b0 + (float) 195.626) / -(float) 46.368); // was 45.368
|
||||
// w0 guess
|
||||
// w0 guess
|
||||
f0 = powf(2, (-4.311767578125 - (2.1336e-2 * ((float)b0+0.5))));
|
||||
cur_mp->w0 = f0 * (float) 2 *M_PI;
|
||||
}
|
||||
|
|
@ -283,7 +283,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
// decode L
|
||||
if (silence == 0)
|
||||
{
|
||||
// L from specification document
|
||||
// L from specification document
|
||||
// lookup L in tabl3
|
||||
L = AmbePlusLtable[b0];
|
||||
// L formula from patent filings
|
||||
|
|
@ -313,11 +313,11 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
cur_mp->Vl[l] = AmbePlusVuv[b1][jl];
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("jl[%i]:%i Vl[%i]:%i\n", l, jl, l, cur_mp->Vl[l]);
|
||||
fprintf (stderr,"jl[%i]:%i Vl[%i]:%i\n", l, jl, l, cur_mp->Vl[l]);
|
||||
#endif
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\nb0:%i w0:%f L:%i b1:%i\n", b0, cur_mp->w0, L, b1);
|
||||
fprintf (stderr,"\nb0:%i w0:%f L:%i b1:%i\n", b0, cur_mp->w0, L, b1);
|
||||
#endif
|
||||
|
||||
// decode gain vector
|
||||
|
|
@ -333,7 +333,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
deltaGamma = AmbePlusDg[b2];
|
||||
cur_mp->gamma = deltaGamma + ((float) 0.5 * prev_mp->gamma);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("b2: %i, deltaGamma: %f gamma: %f gamma-1: %f\n", b2, deltaGamma, cur_mp->gamma, prev_mp->gamma);
|
||||
fprintf (stderr,"b2: %i, deltaGamma: %f gamma: %f gamma-1: %f\n", b2, deltaGamma, cur_mp->gamma, prev_mp->gamma);
|
||||
#endif
|
||||
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
Gm[8] = AmbePlusPRBA58[b4][3];
|
||||
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("b3: %i Gm[2]: %f Gm[3]: %f Gm[4]: %f b4: %i Gm[5]: %f Gm[6]: %f Gm[7]: %f Gm[8]: %f\n", b3, Gm[2], Gm[3], Gm[4], b4, Gm[5], Gm[6], Gm[7], Gm[8]);
|
||||
fprintf (stderr,"b3: %i Gm[2]: %f Gm[3]: %f Gm[4]: %f b4: %i Gm[5]: %f Gm[6]: %f Gm[7]: %f Gm[8]: %f\n", b3, Gm[2], Gm[3], Gm[4], b4, Gm[5], Gm[6], Gm[7], Gm[8]);
|
||||
#endif
|
||||
|
||||
// compute Ri
|
||||
|
|
@ -391,11 +391,11 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
Ri[i] = sum;
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("R%i: %f ", i, Ri[i]);
|
||||
fprintf (stderr,"R%i: %f ", i, Ri[i]);
|
||||
#endif
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// generate first to elements of each Ci,k block from PRBA vector
|
||||
|
|
@ -445,8 +445,8 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
Ji[3] = AmbePlusLmprbl[L][2];
|
||||
Ji[4] = AmbePlusLmprbl[L][3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Ji[1]: %i Ji[2]: %i Ji[3]: %i Ji[4]: %i\n", Ji[1], Ji[2], Ji[3], Ji[4]);
|
||||
printf ("b5: %i b6: %i b7: %i b8: %i\n", b5, b6, b7, b8);
|
||||
fprintf (stderr,"Ji[1]: %i Ji[2]: %i Ji[3]: %i Ji[4]: %i\n", Ji[1], Ji[2], Ji[3], Ji[4]);
|
||||
fprintf (stderr,"b5: %i b6: %i b7: %i b8: %i\n", b5, b6, b7, b8);
|
||||
#endif
|
||||
|
||||
// Load Ci,k with the values from the HOC tables
|
||||
|
|
@ -462,7 +462,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[1][k] = AmbePlusHOCb5[b5][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C1,%i: %f ", k, Cik[1][k]);
|
||||
fprintf (stderr,"C1,%i: %f ", k, Cik[1][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -476,7 +476,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[2][k] = AmbePlusHOCb6[b6][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C2,%i: %f ", k, Cik[2][k]);
|
||||
fprintf (stderr,"C2,%i: %f ", k, Cik[2][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -490,7 +490,7 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[3][k] = AmbePlusHOCb7[b7][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C3,%i: %f ", k, Cik[3][k]);
|
||||
fprintf (stderr,"C3,%i: %f ", k, Cik[3][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -504,12 +504,12 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[4][k] = AmbePlusHOCb8[b8][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C4,%i: %f ", k, Cik[4][k]);
|
||||
fprintf (stderr,"C4,%i: %f ", k, Cik[4][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// inverse DCT each Ci,k to give ci,j (Tl)
|
||||
|
|
@ -531,13 +531,13 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
ak = 2;
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("j: %i Cik[%i][%i]: %f ", j, i, k, Cik[i][k]);
|
||||
fprintf (stderr,"j: %i Cik[%i][%i]: %f ", j, i, k, Cik[i][k]);
|
||||
#endif
|
||||
sum = sum + ((float) ak * Cik[i][k] * cosf ((M_PI * (float) (k - 1) * ((float) j - (float) 0.5)) / (float) ji));
|
||||
}
|
||||
Tl[l] = sum;
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Tl[%i]: %f\n", l, Tl[l]);
|
||||
fprintf (stderr,"Tl[%i]: %f\n", l, Tl[l]);
|
||||
#endif
|
||||
l++;
|
||||
}
|
||||
|
|
@ -566,20 +566,20 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
flokl[l] = ((float) prev_mp->L / (float) cur_mp->L) * (float) l;
|
||||
intkl[l] = (int) (flokl[l]);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("flok%i: %f, intk%i: %i ", l, flokl[l], l, intkl[l]);
|
||||
fprintf (stderr,"flok%i: %f, intk%i: %i ", l, flokl[l], l, intkl[l]);
|
||||
#endif
|
||||
// eq. 41
|
||||
deltal[l] = flokl[l] - (float) intkl[l];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("delta%i: %f ", l, deltal[l]);
|
||||
fprintf (stderr,"delta%i: %f ", l, deltal[l]);
|
||||
#endif
|
||||
// eq 43
|
||||
Sum43 = Sum43 + ((((float) 1 - deltal[l]) * prev_mp->log2Ml[intkl[l]]) + (deltal[l] * prev_mp->log2Ml[intkl[l] + 1]));
|
||||
}
|
||||
Sum43 = (((float) 0.65 / (float) cur_mp->L) * Sum43);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
printf ("Sum43: %f\n", Sum43);
|
||||
fprintf (stderr,"\n");
|
||||
fprintf (stderr,"Sum43: %f\n", Sum43);
|
||||
#endif
|
||||
|
||||
// Part 2
|
||||
|
|
@ -608,10 +608,10 @@ mbe_decodeAmbe2400Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
cur_mp->Ml[l] = unvc * exp ((float) 0.693 * cur_mp->log2Ml[l]);
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("flokl[%i]: %f, intkl[%i]: %i ", l, flokl[l], l, intkl[l]);
|
||||
printf ("deltal[%i]: %f ", l, deltal[l]);
|
||||
printf ("prev_mp->log2Ml[%i]: %f\n", l, prev_mp->log2Ml[intkl[l]]);
|
||||
printf ("BigGamma: %f c1: %f c2: %f Sum43: %f Tl[%i]: %f log2Ml[%i]: %f Ml[%i]: %f\n", BigGamma, c1, c2, Sum43, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
fprintf (stderr,"flokl[%i]: %f, intkl[%i]: %i ", l, flokl[l], l, intkl[l]);
|
||||
fprintf (stderr,"deltal[%i]: %f ", l, deltal[l]);
|
||||
fprintf (stderr,"prev_mp->log2Ml[%i]: %f\n", l, prev_mp->log2Ml[intkl[l]]);
|
||||
fprintf (stderr,"BigGamma: %f c1: %f c2: %f Sum43: %f Tl[%i]: %f log2Ml[%i]: %f Ml[%i]: %f\n", BigGamma, c1, c2, Sum43, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ mbe_dumpAmbe2450Data (char *ambe_d)
|
|||
ambe = ambe_d;
|
||||
for (i = 0; i < 49; i++)
|
||||
{
|
||||
printf ("%i", *ambe);
|
||||
fprintf (stderr,"%i", *ambe);
|
||||
ambe++;
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -45,33 +45,33 @@ mbe_dumpAmbe3600x2450Frame (char ambe_fr[4][24])
|
|||
int j;
|
||||
|
||||
// c0
|
||||
printf ("ambe_fr c0: ");
|
||||
fprintf (stderr,"ambe_fr c0: ");
|
||||
for (j = 23; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[0][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[0][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c1
|
||||
printf ("ambe_fr c1: ");
|
||||
fprintf (stderr,"ambe_fr c1: ");
|
||||
for (j = 22; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[1][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[1][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c2
|
||||
printf ("ambe_fr c2: ");
|
||||
fprintf (stderr,"ambe_fr c2: ");
|
||||
for (j = 10; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[2][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[2][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
// c3
|
||||
printf ("ambe_fr c3: ");
|
||||
fprintf (stderr,"ambe_fr c3: ");
|
||||
for (j = 13; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", ambe_fr[3][j]);
|
||||
fprintf (stderr,"%i", ambe_fr[3][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
|
||||
int
|
||||
|
|
@ -157,7 +157,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
silence = 0;
|
||||
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// copy repeat from prev_mp
|
||||
|
|
@ -175,14 +175,14 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
if ((b0 >= 120) && (b0 <= 123)) // if w0 bits are 1111000, 1111001, 1111010 or 1111011, frame is erasure
|
||||
{
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Erasure Frame\n");
|
||||
fprintf (stderr,"Erasure Frame\n");
|
||||
#endif
|
||||
return (2);
|
||||
}
|
||||
else if ((b0 == 124) || (b0 == 125)) // if w0 bits are 1111100 or 1111101, frame is silence
|
||||
{
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Silence Frame\n");
|
||||
fprintf (stderr,"Silence Frame\n");
|
||||
#endif
|
||||
silence = 1;
|
||||
cur_mp->w0 = ((float) 2 * M_PI) / (float) 32;
|
||||
|
|
@ -197,7 +197,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
else if ((b0 == 126) || (b0 == 127)) // if w0 bits are 1111110 or 1111111, frame is tone
|
||||
{
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Tone Frame\n");
|
||||
fprintf (stderr,"Tone Frame\n");
|
||||
#endif
|
||||
return (3);
|
||||
}
|
||||
|
|
@ -249,11 +249,11 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
cur_mp->Vl[l] = AmbeVuv[b1][jl];
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("jl[%i]:%i Vl[%i]:%i\n", l, jl, l, cur_mp->Vl[l]);
|
||||
fprintf (stderr,"jl[%i]:%i Vl[%i]:%i\n", l, jl, l, cur_mp->Vl[l]);
|
||||
#endif
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\nb0:%i w0:%f L:%i b1:%i\n", b0, cur_mp->w0, L, b1);
|
||||
fprintf (stderr,"\nb0:%i w0:%f L:%i b1:%i\n", b0, cur_mp->w0, L, b1);
|
||||
#endif
|
||||
|
||||
// decode gain vector
|
||||
|
|
@ -268,7 +268,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
deltaGamma = AmbeDg[b2];
|
||||
cur_mp->gamma = deltaGamma + ((float) 0.5 * prev_mp->gamma);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("b2: %i, deltaGamma: %f gamma: %f gamma-1: %f\n", b2, deltaGamma, cur_mp->gamma, prev_mp->gamma);
|
||||
fprintf (stderr,"b2: %i, deltaGamma: %f gamma: %f gamma-1: %f\n", b2, deltaGamma, cur_mp->gamma, prev_mp->gamma);
|
||||
#endif
|
||||
|
||||
|
||||
|
|
@ -305,7 +305,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
Gm[8] = AmbePRBA58[b4][3];
|
||||
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("b3: %i Gm[2]: %f Gm[3]: %f Gm[4]: %f b4: %i Gm[5]: %f Gm[6]: %f Gm[7]: %f Gm[8]: %f\n", b3, Gm[2], Gm[3], Gm[4], b4, Gm[5], Gm[6], Gm[7], Gm[8]);
|
||||
fprintf (stderr,"b3: %i Gm[2]: %f Gm[3]: %f Gm[4]: %f b4: %i Gm[5]: %f Gm[6]: %f Gm[7]: %f Gm[8]: %f\n", b3, Gm[2], Gm[3], Gm[4], b4, Gm[5], Gm[6], Gm[7], Gm[8]);
|
||||
#endif
|
||||
|
||||
// compute Ri
|
||||
|
|
@ -326,11 +326,11 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
Ri[i] = sum;
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("R%i: %f ", i, Ri[i]);
|
||||
fprintf (stderr,"R%i: %f ", i, Ri[i]);
|
||||
#endif
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// generate first to elements of each Ci,k block from PRBA vector
|
||||
|
|
@ -380,8 +380,8 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
Ji[3] = AmbeLmprbl[L][2];
|
||||
Ji[4] = AmbeLmprbl[L][3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Ji[1]: %i Ji[2]: %i Ji[3]: %i Ji[4]: %i\n", Ji[1], Ji[2], Ji[3], Ji[4]);
|
||||
printf ("b5: %i b6: %i b7: %i b8: %i\n", b5, b6, b7, b8);
|
||||
fprintf (stderr,"Ji[1]: %i Ji[2]: %i Ji[3]: %i Ji[4]: %i\n", Ji[1], Ji[2], Ji[3], Ji[4]);
|
||||
fprintf (stderr,"b5: %i b6: %i b7: %i b8: %i\n", b5, b6, b7, b8);
|
||||
#endif
|
||||
|
||||
// Load Ci,k with the values from the HOC tables
|
||||
|
|
@ -397,7 +397,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[1][k] = AmbeHOCb5[b5][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C1,%i: %f ", k, Cik[1][k]);
|
||||
fprintf (stderr,"C1,%i: %f ", k, Cik[1][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -411,7 +411,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[2][k] = AmbeHOCb6[b6][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C2,%i: %f ", k, Cik[2][k]);
|
||||
fprintf (stderr,"C2,%i: %f ", k, Cik[2][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -425,7 +425,7 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[3][k] = AmbeHOCb7[b7][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C3,%i: %f ", k, Cik[3][k]);
|
||||
fprintf (stderr,"C3,%i: %f ", k, Cik[3][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -439,12 +439,12 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
Cik[4][k] = AmbeHOCb8[b8][k - 3];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("C4,%i: %f ", k, Cik[4][k]);
|
||||
fprintf (stderr,"C4,%i: %f ", k, Cik[4][k]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
fprintf (stderr,"\n");
|
||||
#endif
|
||||
|
||||
// inverse DCT each Ci,k to give ci,j (Tl)
|
||||
|
|
@ -466,13 +466,13 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
ak = 2;
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("j: %i Cik[%i][%i]: %f ", j, i, k, Cik[i][k]);
|
||||
fprintf (stderr,"j: %i Cik[%i][%i]: %f ", j, i, k, Cik[i][k]);
|
||||
#endif
|
||||
sum = sum + ((float) ak * Cik[i][k] * cosf ((M_PI * (float) (k - 1) * ((float) j - (float) 0.5)) / (float) ji));
|
||||
}
|
||||
Tl[l] = sum;
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("Tl[%i]: %f\n", l, Tl[l]);
|
||||
fprintf (stderr,"Tl[%i]: %f\n", l, Tl[l]);
|
||||
#endif
|
||||
l++;
|
||||
}
|
||||
|
|
@ -501,20 +501,20 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
flokl[l] = ((float) prev_mp->L / (float) cur_mp->L) * (float) l;
|
||||
intkl[l] = (int) (flokl[l]);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("flok%i: %f, intk%i: %i ", l, flokl[l], l, intkl[l]);
|
||||
fprintf (stderr,"flok%i: %f, intk%i: %i ", l, flokl[l], l, intkl[l]);
|
||||
#endif
|
||||
// eq. 41
|
||||
deltal[l] = flokl[l] - (float) intkl[l];
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("delta%i: %f ", l, deltal[l]);
|
||||
fprintf (stderr,"delta%i: %f ", l, deltal[l]);
|
||||
#endif
|
||||
// eq 43
|
||||
Sum43 = Sum43 + ((((float) 1 - deltal[l]) * prev_mp->log2Ml[intkl[l]]) + (deltal[l] * prev_mp->log2Ml[intkl[l] + 1]));
|
||||
}
|
||||
Sum43 = (((float) 0.65 / (float) cur_mp->L) * Sum43);
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("\n");
|
||||
printf ("Sum43: %f\n", Sum43);
|
||||
fprintf (stderr,"\n");
|
||||
fprintf (stderr,"Sum43: %f\n", Sum43);
|
||||
#endif
|
||||
|
||||
// Part 2
|
||||
|
|
@ -543,10 +543,10 @@ mbe_decodeAmbe2450Parms (char *ambe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
cur_mp->Ml[l] = unvc * exp ((float) 0.693 * cur_mp->log2Ml[l]);
|
||||
}
|
||||
#ifdef AMBE_DEBUG
|
||||
printf ("flokl[%i]: %f, intkl[%i]: %i ", l, flokl[l], l, intkl[l]);
|
||||
printf ("deltal[%i]: %f ", l, deltal[l]);
|
||||
printf ("prev_mp->log2Ml[%i]: %f\n", l, prev_mp->log2Ml[intkl[l]]);
|
||||
printf ("BigGamma: %f c1: %f c2: %f Sum43: %f Tl[%i]: %f log2Ml[%i]: %f Ml[%i]: %f\n", BigGamma, c1, c2, Sum43, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
fprintf (stderr,"flokl[%i]: %f, intkl[%i]: %i ", l, flokl[l], l, intkl[l]);
|
||||
fprintf (stderr,"deltal[%i]: %f ", l, deltal[l]);
|
||||
fprintf (stderr,"prev_mp->log2Ml[%i]: %f\n", l, prev_mp->log2Ml[intkl[l]]);
|
||||
fprintf (stderr,"BigGamma: %f c1: %f c2: %f Sum43: %f Tl[%i]: %f log2Ml[%i]: %f Ml[%i]: %f\n", BigGamma, c1, c2, Sum43, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,9 +33,9 @@ mbe_dumpImbe7100x4400Data (char *imbe_d)
|
|||
{
|
||||
if ((i == 7) || (i == 19) || (i == 31) || (i == 43) || (i == 54) || (i == 65))
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", *imbe);
|
||||
fprintf (stderr,"%i", *imbe);
|
||||
imbe++;
|
||||
}
|
||||
}
|
||||
|
|
@ -51,21 +51,21 @@ mbe_dumpImbe7100x4400Frame (char imbe_fr[7][24])
|
|||
{
|
||||
if (j == 11)
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", imbe_fr[0][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[0][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
|
||||
for (j = 23; j >= 0; j--)
|
||||
{
|
||||
if (j == 11)
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", imbe_fr[1][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[1][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
|
||||
for (i = 2; i < 4; i++)
|
||||
{
|
||||
|
|
@ -73,11 +73,11 @@ mbe_dumpImbe7100x4400Frame (char imbe_fr[7][24])
|
|||
{
|
||||
if (j == 10)
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", imbe_fr[i][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[i][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
for (i = 4; i < 6; i++)
|
||||
{
|
||||
|
|
@ -85,15 +85,15 @@ mbe_dumpImbe7100x4400Frame (char imbe_fr[7][24])
|
|||
{
|
||||
if (j == 3)
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", imbe_fr[i][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[i][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
for (j = 22; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", imbe_fr[6][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[6][j]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ mbe_dumpImbe4400Data (char *imbe_d)
|
|||
imbe = imbe_d;
|
||||
for (i = 0; i < 88; i++)
|
||||
{
|
||||
printf ("%i", *imbe);
|
||||
fprintf (stderr,"%i", *imbe);
|
||||
imbe++;
|
||||
}
|
||||
}
|
||||
|
|
@ -49,9 +49,9 @@ mbe_dumpImbe7200x4400Data (char *imbe_d)
|
|||
{
|
||||
if ((i == 12) || (i == 24) || (i == 36) || (i == 48) || (i == 59) || (i == 70) || (i == 81))
|
||||
{
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
printf ("%i", *imbe);
|
||||
fprintf (stderr,"%i", *imbe);
|
||||
imbe++;
|
||||
}
|
||||
}
|
||||
|
|
@ -67,21 +67,21 @@ mbe_dumpImbe7200x4400Frame (char imbe_fr[8][23])
|
|||
{
|
||||
for (j = 22; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", imbe_fr[i][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[i][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
for (i = 4; i < 7; i++)
|
||||
{
|
||||
for (j = 14; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", imbe_fr[i][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[i][j]);
|
||||
}
|
||||
printf (" ");
|
||||
fprintf (stderr," ");
|
||||
}
|
||||
for (j = 6; j >= 0; j--)
|
||||
{
|
||||
printf ("%i", imbe_fr[7][j]);
|
||||
fprintf (stderr,"%i", imbe_fr[7][j]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -196,13 +196,13 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
if ((b0 >= 216) && (b0 <= 219))
|
||||
{
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("Silence\n");
|
||||
fprintf (stderr,"Silence\n");
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("Invalid fundamental frequency\n");
|
||||
fprintf (stderr,"Invalid fundamental frequency\n");
|
||||
#endif
|
||||
}
|
||||
return (1);
|
||||
|
|
@ -215,7 +215,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
if ((L > 56) || (L < 9))
|
||||
{
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("invalid L: %i\n", L);
|
||||
fprintf (stderr,"invalid L: %i\n", L);
|
||||
#endif
|
||||
return (1);
|
||||
}
|
||||
|
|
@ -235,7 +235,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("b0:%i L:%i K:%i\n", b0, L, K);
|
||||
fprintf (stderr,"b0:%i L:%i K:%i\n", b0, L, K);
|
||||
#endif
|
||||
|
||||
// read bits from imbe_d into b0..bL+1
|
||||
|
|
@ -245,7 +245,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
{
|
||||
bb[*bo1][*bo2] = imbe_d[i];
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("bo1: %i,bo2: %i, ", *bo1, *bo2);
|
||||
fprintf (stderr,"bo1: %i,bo2: %i, ", *bo1, *bo2);
|
||||
#endif
|
||||
bo1 += 2;
|
||||
bo2 += 2;
|
||||
|
|
@ -286,11 +286,11 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
b2 = strtol (tmpstr, NULL, 2);
|
||||
Gm[1] = B2[b2];
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("G1: %e, %s, %i\n", Gm[1], tmpstr, b2);
|
||||
fprintf (stderr,"G1: %e, %s, %i\n", Gm[1], tmpstr, b2);
|
||||
#endif
|
||||
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("tmpstr: %s b2: %i g1: %e\n", tmpstr, b2, Gm[1]);
|
||||
fprintf (stderr,"tmpstr: %s b2: %i g1: %e\n", tmpstr, b2, Gm[1]);
|
||||
#endif
|
||||
|
||||
// decode G2..G6 (from b3..b7) with annex E
|
||||
|
|
@ -310,7 +310,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
bm = strtol (tmpstr, NULL, 2);
|
||||
Gm[i] = (*ba2 * ((float) bm - powf (2, (*ba1 - 1)) + (float) 0.5));
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("G%i: %e, %s, %i, ba1: %e, ba2: %e\n", i, Gm[i], tmpstr, bm, *ba1, *ba2);
|
||||
fprintf (stderr,"G%i: %e, %s, %i, ba1: %e, ba2: %e\n", i, Gm[i], tmpstr, bm, *ba1, *ba2);
|
||||
#endif
|
||||
ba1 += 2;
|
||||
ba2 += 2;
|
||||
|
|
@ -332,16 +332,16 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
sum = sum + ((float) am * Gm[m] * cosf ((M_PI * (float) (m - 1) * ((float) i - 0.5)) / (float) 6));
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("sum: %e ", sum);
|
||||
fprintf (stderr,"sum: %e ", sum);
|
||||
#endif
|
||||
}
|
||||
Ri[i] = sum;
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("R%i: %e\n", i, Ri[i]);
|
||||
fprintf (stderr,"R%i: %e\n", i, Ri[i]);
|
||||
#endif
|
||||
}
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("R1: %e\n", Ri[1]);
|
||||
fprintf (stderr,"R1: %e\n", Ri[1]);
|
||||
#endif
|
||||
|
||||
// load b8..bL+1 into Ci,k
|
||||
|
|
@ -395,10 +395,10 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
}
|
||||
}
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("T1: %e\n", Tl[1]);
|
||||
fprintf (stderr,"T1: %e\n", Tl[1]);
|
||||
#endif
|
||||
|
||||
// determine log2Ml by applying ci,j to previous log2Ml
|
||||
// determine log2Ml by applying ci,j to previous log2Ml
|
||||
if (cur_mp->L <= 15)
|
||||
{
|
||||
rho = 0.4;
|
||||
|
|
@ -431,12 +431,12 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
flokl[l] = ((float) prev_mp->L / (float) cur_mp->L) * (float) l;
|
||||
intkl[l] = (int) (flokl[l]);
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("flokl: %e, intkl: %i ", flokl[l], intkl[l]);
|
||||
fprintf (stderr,"flokl: %e, intkl: %i ", flokl[l], intkl[l]);
|
||||
#endif
|
||||
// eq. 76
|
||||
deltal[l] = flokl[l] - (float) intkl[l];
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("deltal: %e ", deltal[l]);
|
||||
fprintf (stderr,"deltal: %e ", deltal[l]);
|
||||
#endif
|
||||
// eq 77
|
||||
Sum77 = Sum77 + ((((float) 1 - deltal[l]) * prev_mp->log2Ml[intkl[l]]) + (deltal[l] * prev_mp->log2Ml[intkl[l] + 1]));
|
||||
|
|
@ -444,7 +444,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
Sum77 = ((rho / (float) cur_mp->L) * Sum77);
|
||||
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("Sum77: %e\n", Sum77);
|
||||
fprintf (stderr,"Sum77: %e\n", Sum77);
|
||||
#endif
|
||||
|
||||
// Part 2
|
||||
|
|
@ -455,7 +455,7 @@ mbe_decodeImbe4400Parms (char *imbe_d, mbe_parms * cur_mp, mbe_parms * prev_mp)
|
|||
cur_mp->log2Ml[l] = Tl[l] + c1 + c2 - Sum77;
|
||||
cur_mp->Ml[l] = powf (2, cur_mp->log2Ml[l]);
|
||||
#ifdef IMBE_DEBUG
|
||||
printf ("rho: %e c1: %e c2: %e Sum77: %e T%i: %e log2M%i: %e M%i: %e\n", rho, c1, c2, Sum77, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
fprintf (stderr,"rho: %e c1: %e c2: %e Sum77: %e T%i: %e log2M%i: %e M%i: %e\n", rho, c1, c2, Sum77, l, Tl[l], l, cur_mp->log2Ml[l], l, cur_mp->Ml[l]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
6
mbelib.c
6
mbelib.c
|
|
@ -240,7 +240,7 @@ mbe_synthesizeSpeechf (float *aout_buf, mbe_parms * cur_mp, mbe_parms * prev_mp,
|
|||
|
||||
if ((uvquality < 1) || (uvquality > 64))
|
||||
{
|
||||
printf ("\nmbelib: Error - uvquality must be within the range 1 - 64, setting to default value of 3\n");
|
||||
fprintf (stderr,"\nmbelib: Error - uvquality must be within the range 1 - 64, setting to default value of 3\n");
|
||||
uvquality = 3;
|
||||
}
|
||||
|
||||
|
|
@ -482,14 +482,14 @@ mbe_floattoshort (float *float_buf, short *aout_buf)
|
|||
if (audio > 32760)
|
||||
{
|
||||
#ifdef MBE_DEBUG
|
||||
printf ("audio clip: %f\n", audio);
|
||||
fprintf (stderr,"audio clip: %f\n", audio);
|
||||
#endif
|
||||
audio = 32760;
|
||||
}
|
||||
else if (audio < -32760)
|
||||
{
|
||||
#ifdef MBE_DEBUG
|
||||
printf ("audio clip: %f\n", audio);
|
||||
fprintf (stderr,"audio clip: %f\n", audio);
|
||||
#endif
|
||||
audio = -32760;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue