search for: pseudofloat

Displaying 17 results from an estimated 17 matches for "pseudofloat".

2006 Feb 27
2
Building 1.1.12 for symbian failed
...build wins udeb (to build for emulator) but building failed, the error message is : nmake -nologo -x - -s -f "\Install\Symbian\8.0a\S60_2nd_FP2\EPOC32\BUILD\HOME\MYOWN\NOKIA\SPEEX\SPEEX-1.1.12\SYMBIAN\SPEEX\WINS\SPEEX.WINS" LIBRARY Mdf.c c:\HOME\MyOwn\Nokia\Speex\speex-1.1.12\libspeex\pseudofloat.h(63) : error C2059: syntax error : '{' c:\HOME\MyOwn\Nokia\Speex\speex-1.1.12\libspeex\pseudofloat.h(109) : error C2061: syntax error : identifier 'FLOAT_SUB' and many similiar erros in mdf.c \HOME\MyOwn\Nokia\Speex\speex-1.1.12\libspeex\mdf.c(548) : error C2440: 'function'...
2006 May 02
3
Re: speex echo cancellation limitations
...ts and > modified the tests for == 0 to <= 0 ... > > Clearly, some sort of automated testing scheme could help here... One thing I used to do (should do it more often) is test with FIXED_DEBUG (--enable-fixed-point-debug) which puts assertions in all fixed-point operators (except the pseudofloat stuff, which is rather new). Helps a lot tracking problems down. Jean-Marc
2006 May 08
1
Speex echo canceller on TI C55 DSP
...looking at running the echo canceller on a TI C55 DSP > along with the 8kbps narrowband Speex encoder/decoder. This is one of > those "braindead compilers" that you refer to from time to time, and > cannot handle the float struct assignments in the return statements in > pseudofloat.h. > > Most of these were eliminated in build 11311 (patch by Brian Retford), but > there were four left that I had to break apart. I started with build > 11343. > > I got several compiler warnings for "shift out of range" in mdf.c, which I > fixed by adding EXTEN...
2006 May 09
2
Speex echo canceller on TI C55 DSP
...me to trace this, but it looks like a similar problem, > > >> where the result of MULT16_32_Q15(M_1,r) is negative, and > > >> FLOAT_DIV32_FLOAT > > >> bombs. Maybe the best thing to do next is to instrument the routines > > >> in > > >> pseudofloat.h which have loops, but I will not get to that for a day or > > >> two. > > > > > > Yeah, r is never supposed to be negative and the float routines assume > > > that. > > > > No, it was a divide by zero, as explained in my second post. I will try...
2006 Feb 14
2
Updated task list for Speex
Hi everyone, For all those of you who always wanted to contribute to Speex, but didn't know what to do, I've just updated the list of things that could be done on: http://wiki.xiph.org/index.php/Speex The tasks range from maintaining a FAQ to writing a better perceptual enhancer. Some of the more complex things listed would even make a good university project! If you're interested in
2006 May 10
0
Speex echo canceller on TI C55 DSP
Jean-Marc, Well I finally tracked down the problem. Then I checked my mail and found that you had fixed it several hours earlier. :( Build 11387 produces the same result as my modified build 11343. Because of compiler limitations in the TI tools, I did have to make modifications to pseudofloat.h (separating return of float values) and nb_celp.c (adding braces around a variable declaration in the middle of code). I have attached a patch. You might prefer to do the nb_celp.c change in a different way. Also in the pseudofloat.h is the change to EXTRACT16 which I mentioned earlier in...
2006 May 08
0
Speex echo canceller on TI C55 DSP
..., I recently started looking at running the echo canceller on a TI C55 DSP along with the 8kbps narrowband Speex encoder/decoder. This is one of those "braindead compilers" that you refer to from time to time, and cannot handle the float struct assignments in the return statements in pseudofloat.h. Most of these were eliminated in build 11311 (patch by Brian Retford), but there were four left that I had to break apart. I started with build 11343. I got several compiler warnings for "shift out of range" in mdf.c, which I fixed by adding EXTEND32 to all of the SHL32s with 16 b...
2006 May 10
2
Speex echo canceller on TI C55 DSP
> Build 11387 produces the same result as my modified build 11343. Because of > compiler limitations in the TI tools, I did have to make modifications to > pseudofloat.h (separating return of float values) and nb_celp.c (adding > braces around a variable declaration in the middle of code). I have > attached a patch. You might prefer to do the nb_celp.c change in a > different way. Funny thing is I applied exactly the same patch to nb_celp.c a few h...
2006 May 09
2
Speex echo canceller on TI C55 DSP
.... > > >> I have not had time to trace this, but it looks like a similar problem, > >> where the result of MULT16_32_Q15(M_1,r) is negative, and > >> FLOAT_DIV32_FLOAT > >> bombs. Maybe the best thing to do next is to instrument the routines in > >> pseudofloat.h which have loops, but I will not get to that for a day or > >> two. > > > > Yeah, r is never supposed to be negative and the float routines assume > > that. > > No, it was a divide by zero, as explained in my second post. I will try a > build on the C6x DSP...
2008 Feb 19
0
Patch for Analog Devices compiler & fixed-point AGC
...h a few emulated floating point operations for gain > computation > - extract gain mantissa and exponent > - multiply fixed-point buffer by mantissa > - offset spectrum exponent before IFFT reconstruction > > What do you think ? It would be even better if you could do it with my pseudofloat macros. It defines a float approximation with 16-bit mantissa and 16-bit exponent. It takes cuts corners all over the place (makes all kind of assumptions), but it's faster than emulating IEEE float and it would be cleaner since the code is already there. Cheers, Jean-Marc
2006 May 08
5
Speex echo canceller on TI C55 DSP
...sufficient to remove all the overflows at this place? > I have not had time to trace this, but it looks like a similar problem, > where the result of MULT16_32_Q15(M_1,r) is negative, and FLOAT_DIV32_FLOAT > bombs. Maybe the best thing to do next is to instrument the routines in > pseudofloat.h which have loops, but I will not get to that for a day or two. Yeah, r is never supposed to be negative and the float routines assume that. > 1. speex_echo_state_init takes about 20M instructions, which is a little > frightening, That's the fft initialization that calls a lot of f...
2006 May 08
0
Speex echo canceller on TI C55 DSP
...ed to avoid the sign extension. >> I have not had time to trace this, but it looks like a similar problem, >> where the result of MULT16_32_Q15(M_1,r) is negative, and >> FLOAT_DIV32_FLOAT >> bombs. Maybe the best thing to do next is to instrument the routines in >> pseudofloat.h which have loops, but I will not get to that for a day or >> two. > > Yeah, r is never supposed to be negative and the float routines assume > that. No, it was a divide by zero, as explained in my second post. I will try a build on the C6x DSP to see if this is a 16 vs. 32-bit...
2006 May 09
0
Speex echo canceller on TI C55 DSP
...gt;> I have not had time to trace this, but it looks like a similar problem, > >> where the result of MULT16_32_Q15(M_1,r) is negative, and > >> FLOAT_DIV32_FLOAT > >> bombs. Maybe the best thing to do next is to instrument the routines > >> in > >> pseudofloat.h which have loops, but I will not get to that for a day or > >> two. > > > > Yeah, r is never supposed to be negative and the float routines assume > > that. > > No, it was a divide by zero, as explained in my second post. I will try a > build on the C6x DSP to...
2007 Jan 25
1
Minor fixed point scaling problem
...hat all the shifting is about) This same code fragment is in normalize16() and compute_rms() and a couple of other spots. I think it should be encapsulated into a norm_shift() function that can be overridden for specific processors. Similarly, the AEC code uses FLOAT_ADD, _SUB, _MULT routines in pseudofloat.h could be improved by shifting negative mantissa's >= -16384. if (r.m>0) { if (r.m<16384) { r.m<<=1; r.e-=1; } }else { if (r.m>=-16384) { r.m<<=1; r.e-=1; } } return(r); Here...
2006 May 01
2
Re: speex echo cancellation limitations
> I am writing to gain a better understanding of the limitations of speex echo > cancellation, esp. with respect to the fixed point implementation. > If these limitations have been documented elsewhere already, please let me > know! Nothing officially documented, sorry. > I observe experimentally that when one or both of the echo or ref data for > speex_echo_cancel() have
2008 Feb 19
4
Patch for Analog Devices compiler & fixed-point AGC
Hi Jean-Marc, As I told you, bank is a reserved keyword in Analog Devices compiler for Blackfin architecture. So we need to change the variables named bank to something else. Here's a patch that changes bank to bnk in the 3 concerned files. (Hope the format is OK) About my previous problems with the Blackfin: -> strange block repetition that could be cancelled by the AEC I was busy
2007 Jan 25
3
SV: How to detect SpeexBits corruption
You might not be doing anything wrong. Speex is stateful and can get into a bad state sometimes. It's happened to me too, but not recently. And I've seen such bugs reported on this list and fixed. I suggest several approaches to solving the problem: 1) Try compiling Speex without compiler optimizations and see if the problem still occurs. Most likely it will, but this is an