diff options
-rw-r--r-- | libspeex/preprocess.c | 6 | ||||
-rw-r--r-- | libspeex/testdenoise.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/libspeex/preprocess.c b/libspeex/preprocess.c index e01b247..49ba0d0 100644 --- a/libspeex/preprocess.c +++ b/libspeex/preprocess.c @@ -1067,14 +1067,14 @@ int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) break; #ifndef DISABLE_FLOAT_API case SPEEX_PREPROCESS_SET_AGC_LEVEL: - st->agc_level = (*(float*)ptr); + st->agc_level = (*(spx_int32_t*)ptr); if (st->agc_level<1) st->agc_level=1; if (st->agc_level>32768) st->agc_level=32768; break; case SPEEX_PREPROCESS_GET_AGC_LEVEL: - (*(float*)ptr) = st->agc_level; + (*(spx_int32_t*)ptr) = st->agc_level; break; #endif /* #ifndef DISABLE_FLOAT_API */ case SPEEX_PREPROCESS_SET_AGC_INCREMENT: @@ -1176,7 +1176,7 @@ int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) (*(spx_int32_t*)ptr) = pow(st->loudness, 1.0/LOUDNESS_EXP); break; case SPEEX_PREPROCESS_GET_AGC_GAIN: - (*(spx_int32_t*)ptr) = (spx_int32_t) (st->agc_gain * 100.f); + (*(spx_int32_t*)ptr) = floor(.5+8.6858*log(st->agc_gain)); break; #endif case SPEEX_PREPROCESS_GET_PSD_SIZE: diff --git a/libspeex/testdenoise.c b/libspeex/testdenoise.c index 42644cb..49f5120 100644 --- a/libspeex/testdenoise.c +++ b/libspeex/testdenoise.c @@ -20,8 +20,8 @@ int main() speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DENOISE, &i); i=0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC, &i); - f=8000; - speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &f); + i=8000; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); i=0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB, &i); f=.0; |