diff --git a/src/analysis.c b/src/analysis.c index ddd2812f7098fb768d4f2683097dddb910257dbe..734364b94a4bf60cf834c954bb7393e57f7190f4 100644 --- a/src/analysis.c +++ b/src/analysis.c @@ -376,8 +376,8 @@ void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info_out, con float E=0; int band_start, band_end; /* Keep a margin of 300 Hz for aliasing */ - band_start = extra_bands[b]+3; - band_end = extra_bands[b+1]+3; + band_start = extra_bands[b]; + band_end = extra_bands[b+1]; for (i=band_start;i<band_end;i++) { float binE = out[i].r*out[i].r + out[N-i].r*out[N-i].r @@ -569,11 +569,11 @@ void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info_out, con printf("%f ", features[i]); printf("\n");*/ - if (bandwidth<=12 || (bandwidth==13 && tonal->opus_bandwidth == OPUS_BANDWIDTH_NARROWBAND)) + if (bandwidth<=12) tonal->opus_bandwidth = OPUS_BANDWIDTH_NARROWBAND; - else if (bandwidth<=14 || (bandwidth==15 && tonal->opus_bandwidth == OPUS_BANDWIDTH_MEDIUMBAND)) + else if (bandwidth<=14) tonal->opus_bandwidth = OPUS_BANDWIDTH_MEDIUMBAND; - else if (bandwidth<=16 || (bandwidth==17 && tonal->opus_bandwidth == OPUS_BANDWIDTH_WIDEBAND)) + else if (bandwidth<=16) tonal->opus_bandwidth = OPUS_BANDWIDTH_WIDEBAND; else if (bandwidth<=18) tonal->opus_bandwidth = OPUS_BANDWIDTH_SUPERWIDEBAND; diff --git a/src/opus_encoder.c b/src/opus_encoder.c index 36fa897b6fce1581ac02a57881337234b5af4821..b036861405f122839ad3fac152f037941f06ed5e 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -695,6 +695,8 @@ void downmix_int(const void *_x, float *sub, int subframe, int offset, int C) for (c=1;c<C;c++) for (j=0;j<subframe;j++) sub[j] += x[(j+offset)*C+c]; + for (j=0;j<subframe;j++) + sub[j] *= (1.f/32768); } int optimize_framesize(const opus_val16 *x, int len, int C, opus_int32 Fs,