summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-11-11 15:11:19 -0500
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-11-11 15:11:19 -0500
commit41520bf1a451b5e008263818cf6a2ba9ebfffd87 (patch)
tree2a2351d458a409a064e89c5d080e1160248822ab
parent5a66acfeb2095583a586e0cb852acec75c6779dc (diff)
downloadopus-41520bf1a451b5e008263818cf6a2ba9ebfffd87.tar.gz
cleanup
-rw-r--r--src/analysis.c66
1 files changed, 3 insertions, 63 deletions
diff --git a/src/analysis.c b/src/analysis.c
index 2aa10af5..af7b3fcc 100644
--- a/src/analysis.c
+++ b/src/analysis.c
@@ -151,7 +151,6 @@ void tonality_get_info(TonalityAnalysisState *tonal, AnalysisInfo *info_out, int
pos--;
if (pos<0)
pos = DETECT_SIZE-1;
- //printf("%d %d %d\n", tonal->read_pos, tonal->write_pos, pos);
OPUS_COPY(info_out, &tonal->info[pos], 1);
for (i=0;i<3;i++)
{
@@ -162,7 +161,6 @@ void tonality_get_info(TonalityAnalysisState *tonal, AnalysisInfo *info_out, int
break;
info_out->tonality = MAX32(0, -.008 + MAX32(info_out->tonality, tonal->info[pos].tonality-.05));
}
- //printf("%f\n", info_out->tonality);
tonal->read_subframe += len/120;
while (tonal->read_subframe>=4)
{
@@ -194,7 +192,6 @@ static const float std_feature_bias[9] = {
2.163313, 1.260756, 1.116868, 1.918795
};
-float oldE[1024];
static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt_mode, const void *x, int len, int offset, int c1, int c2, int C, int lsb_depth, downmix_func downmix)
{
int i, b;
@@ -252,7 +249,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
RESTORE_STACK;
return;
}
- //printf("write to %d (%d)\n", tonal->write_pos, tonal->count);
info = &tonal->info[tonal->write_pos++];
if (tonal->write_pos>=DETECT_SIZE)
tonal->write_pos-=DETECT_SIZE;
@@ -284,39 +280,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
}
#endif
- float S[240];
- float S2[240];
- float M[240];
- float T[240] = {0};
- S[0] = 1e-10;
- for (i=1;i<N2;i++)
- {
- float X2r, X2i;
- X2r = (float)out[i].i+out[N-i].i;
- X2i = (float)out[N-i].r-out[i].r;
- S[i] = X2r*X2r + X2i*X2i;
- }
-
- for (i=2;i<N2-2;i++)
- {
- T[i] = S[i] / (1e-10 + MAX32(S[i-2], S[i+2]));
- }
-
- S2[0] = 1e-10;
- S2[N2-1] = S[N2-1];
- for (i=1;i<N2-1;i++)
- {
- S2[i] = .25*(S[i-1]+2*S[i]+S[i+1]);
- }
-
- M[0] = 1e-10;
- for (i=1;i<N2;i++)
- M[i] = 0.9f*M[i-1] + .1f/(S2[i] + 1e-10);
- M[N2-1] = 1.f/M[N2-1];
- for (i=N2-2;i>=0;i--)
- M[i] = 0.9f*M[i+1] + .1f/(M[i]);
-
- float newtone[240];
for (i=1;i<N2;i++)
{
float X1r, X2r, X1i, X2i;
@@ -346,34 +309,14 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
mod2 *= mod2;
mod2 *= mod2;
-#if 0
- avg_mod = .25f*(1*d2A[i]+2*mod1+1*mod2);
- tonality[i] = 1.f/(1.f+40.f*16.f*pi4*avg_mod)-.015f;
-#else
- float E, E0;
- E = X2r*X2r + X2i*X2i + 1e-10;
- E0 = X1r*X1r + X1i*X1i + 1e-10;
-
avg_mod = .25f*(.5*d2A[i]+1.f*mod1+3.5*mod2);
tonality[i] = 1.f/(1.f+40.f*16.f*pi4*avg_mod)-.015f;
- float f;
- f = MAX32(0, E-oldE[i])/(1e-10+E);
- f *= f;
- newtone[i] = MIN32(1., MAX32(0, .5*log10(1e-10+T[i])-.3));
- if (E < 1.5*oldE[i]) newtone[i]=0;
- //printf("%f %f ", tonality[i], f*MIN32(1., MAX32(0, .5*log10(1e-10+T[i])-.2)));//10*log10(E / M[i]));
- //tonality[i] = MAX32(tonality[i], newtone);
- //printf("\n");
- //printf("%f %f\n", 20*log10((E+1e-8)/(oldE[i]+1e-8)), tonality[i]);
- //printf("%f ", 10*log10((E+1e-16)/(oldE[i]+1e-16)));
- oldE[i] = E0;
-#endif
A[i] = angle2;
dA[i] = d_angle2;
d2A[i] = mod2;
}
- //printf("\n");
+
frame_tonality = 0;
max_frame_tonality = 0;
/*tw_sum = 0;*/
@@ -404,8 +347,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
binE *= 5.55e-17f;
#endif
E += binE;
- //tonality[i] = MAX32(newtone[i],MAX32(newtone[i+1],newtone[i-1]));
- //tonality[i] = MAX32(tonality[i], MAX32(newtone[i],MAX32(newtone[i+1],newtone[i-1])));
tE += binE*tonality[i];
nE += binE*2.f*(.5f-noisiness[i]);
}
@@ -446,7 +387,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
frame_stationarity += stationarity;
/*band_tonality[b] = tE/(1e-15+E)*/;
band_tonality[b] = MAX16(tE/(1e-15f+E), stationarity*tonal->prev_band_tonality[b]);
- //printf("%f ", band_tonality[b]);
#if 0
if (b>=NB_TONAL_SKIP_BANDS)
{
@@ -463,7 +403,7 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
/*printf("%f %f ", band_tonality[b], stationarity);*/
tonal->prev_band_tonality[b] = band_tonality[b];
}
- //printf("\n");
+
bandwidth_mask = 0;
bandwidth = 0;
maxE = 0;
@@ -528,7 +468,7 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
frame_tonality = (max_frame_tonality/(NB_TBANDS-NB_TONAL_SKIP_BANDS));
frame_tonality = MAX16(frame_tonality, tonal->prev_tonality*.8f);
tonal->prev_tonality = frame_tonality;
- //printf("%f\n", frame_tonality);
+
slope /= 8*8;
info->tonality_slope = slope;