diff options
| author | Thom Johansen <thomj@rockbox.org> | 2007-11-14 02:15:56 +0000 |
|---|---|---|
| committer | Thom Johansen <thomj@rockbox.org> | 2007-11-14 02:15:56 +0000 |
| commit | 85b325fdb991a0602a2f16a55fc1df2c303aded1 (patch) | |
| tree | 6eba0129ce3cc84831b37e2ed64c473d053317ac /apps/codecs/libspeex/preprocess.c | |
| parent | 91f618f1ba1e507a9aa1cf7ee87eaf0370272b17 (diff) | |
| download | rockbox-85b325fdb991a0602a2f16a55fc1df2c303aded1.zip rockbox-85b325fdb991a0602a2f16a55fc1df2c303aded1.tar.gz rockbox-85b325fdb991a0602a2f16a55fc1df2c303aded1.tar.bz2 rockbox-85b325fdb991a0602a2f16a55fc1df2c303aded1.tar.xz | |
Sync Speex to SVN. Disable stereo compatibility hack since we don't needed it and it produced warnings. Remove unneeded math.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15613 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libspeex/preprocess.c')
| -rw-r--r-- | apps/codecs/libspeex/preprocess.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/codecs/libspeex/preprocess.c b/apps/codecs/libspeex/preprocess.c index da2da4a..5d5befe 100644 --- a/apps/codecs/libspeex/preprocess.c +++ b/apps/codecs/libspeex/preprocess.c @@ -62,7 +62,7 @@ #include <math.h> #include "speex/speex_preprocess.h" #include "speex/speex_echo.h" -#include "misc.h" +#include "arch.h" #include "fftwrap.h" #include "filterbank.h" #include "math_approx.h" @@ -1127,16 +1127,16 @@ int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) break; case SPEEX_PREPROCESS_SET_PROB_START: - *(spx_int32_t*)ptr = MIN32(Q15_ONE,MAX32(0, *(spx_int32_t*)ptr)); - st->speech_prob_start = DIV32_16(MULT16_16(32767,*(spx_int32_t*)ptr), 100); + *(spx_int32_t*)ptr = MIN32(100,MAX32(0, *(spx_int32_t*)ptr)); + st->speech_prob_start = DIV32_16(MULT16_16(Q15ONE,*(spx_int32_t*)ptr), 100); break; case SPEEX_PREPROCESS_GET_PROB_START: (*(spx_int32_t*)ptr) = MULT16_16_Q15(st->speech_prob_start, 100); break; case SPEEX_PREPROCESS_SET_PROB_CONTINUE: - *(spx_int32_t*)ptr = MIN32(Q15_ONE,MAX32(0, *(spx_int32_t*)ptr)); - st->speech_prob_continue = DIV32_16(MULT16_16(32767,*(spx_int32_t*)ptr), 100); + *(spx_int32_t*)ptr = MIN32(100,MAX32(0, *(spx_int32_t*)ptr)); + st->speech_prob_continue = DIV32_16(MULT16_16(Q15ONE,*(spx_int32_t*)ptr), 100); break; case SPEEX_PREPROCESS_GET_PROB_CONTINUE: (*(spx_int32_t*)ptr) = MULT16_16_Q15(st->speech_prob_continue, 100); @@ -1166,6 +1166,11 @@ int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) case SPEEX_PREPROCESS_GET_ECHO_STATE: ptr = (void*)st->echo_state; break; +#ifndef FIXED_POINT + case SPEEX_PREPROCESS_GET_AGC_LOUDNESS: + (*(spx_int32_t*)ptr) = pow(st->loudness, 1.0/LOUDNESS_EXP); + break; +#endif default: speex_warning_int("Unknown speex_preprocess_ctl request: ", request); |