diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-07-26 17:04:54 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-07-26 17:04:54 +0000 |
commit | 2fa99a7ade8748fae314aeab2fea83e9bc88c36c (patch) | |
tree | 689c1cb15f7e7304b955e296748c800ce430542d /pjmedia/src/pjmedia-codec/speex/misc.c | |
parent | d80219f36636faa876c84b586e7b4b4815767be3 (diff) |
- Bring speex codec up to date with their SVN trunk
- Speex codec should work in FIXED_POINT mode when PJ_HAS_FLOATING_POINT is set to zero.
- ulaw2linear will return zero if zero is given (this would make the VAD works better, and it also fixed click noise when call is established/hangup).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@628 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-codec/speex/misc.c')
-rw-r--r-- | pjmedia/src/pjmedia-codec/speex/misc.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/pjmedia/src/pjmedia-codec/speex/misc.c b/pjmedia/src/pjmedia-codec/speex/misc.c index fc2cb7cf..53bdd0b6 100644 --- a/pjmedia/src/pjmedia-codec/speex/misc.c +++ b/pjmedia/src/pjmedia-codec/speex/misc.c @@ -196,12 +196,12 @@ void speex_warning_int(const char *str, int val) #endif #ifdef FIXED_POINT -spx_word32_t speex_rand(spx_word16_t std, spx_int32_t *seed) +spx_word16_t speex_rand(spx_word16_t std, spx_int32_t *seed) { spx_word32_t res; *seed = 1664525 * *seed + 1013904223; res = MULT16_16(EXTRACT16(SHR32(*seed,16)),std); - return SUB32(res, SHR(res, 3)); + return PSHR32(SUB32(res, SHR(res, 3)),14); } #else spx_word16_t speex_rand(spx_word16_t std, spx_int32_t *seed) @@ -216,19 +216,6 @@ spx_word16_t speex_rand(spx_word16_t std, spx_int32_t *seed) } #endif -void speex_rand_vec(float std, spx_sig_t *data, int len) -{ - int i; - for (i=0;i<len;i++) - data[i]+=SIG_SCALING*3*std*((((float)rand())/RAND_MAX)-.5); -} - - -/*float speex_rand(float std) -{ - return 3*std*((((float)rand())/RAND_MAX)-.5); -}*/ - #ifndef OVERRIDE_SPEEX_PUTC void _speex_putc(int ch, void *file) { |