search for: _norm

Displaying 5 results from an estimated 5 matches for "_norm".

Did you mean: rnorm
2007 Jan 25
1
Minor fixed point scaling problem
...ts are enforced within the code. I have made these changes (and more) to my code, but I still don't understand the process of getting these changes into and released from the speex SVN. So here are a few changes, I think should be made to the code. I found these problems when dropping in the _norm() instruction available on the TI DSP families. _norm() returns the number or redundant bits which lets you figure out how many bits to shift. You don't need to worry about the sign with this function and the BlackFin has a corresponding instruction. Using this instruction saved me about 10% o...
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
2006 Feb 04
0
Speex inner_prod(), normalize, C64 MIPS
...imized routine? /* Returns number of shifts to normalize a 32 bit vector to [-16384,+16384). */ static inline int norm_shift(const spx_sig_t *x, spx_sig_t max_scale, int len) { int sig_shift_ti; int i; #warn Using the optimized normalize16() function. /* Directly find the min(_norm(x[i]) rather than searching for max(abs(x[i])) and taking _norm. */ #pragma MUST_ITERATE(24,184,4) for (i=0;i<len;i++) { sig_shift_ti=min(sig_shift_ti,_norm(x[i])); } sig_shift_ti=max(0,_norm(max_scale-1)-sig_shift_ti); /* Return the shift value....
2006 Feb 03
2
Speex inner_prod()
Hi, Basically, inner_prod() can and should be adapted to the architecture it will run on. It is not really sensitive to noise, so it's possible to tweak it a lot. Also, in the current code, I saturate it to +-16384, which is OK to prevent overflows. I'm not concerned with the case of a constant -16384 value because it can't really happen in practice (especially after filtering). BTW,
2009 Jan 14
0
[PATCH] Moved the application of the pitch gain to (un)quant_bands(). This doesn't change anything to the codec, but will make the next changes easier.
...ands.h | 6 ++---- libcelt/celt.c | 6 ++---- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/libcelt/bands.c b/libcelt/bands.c index d0c3498..315cce8 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -247,23 +247,6 @@ void compute_pitch_gain(const CELTMode *m, const celt_norm_t *X, const celt_norm }*/ } -/* Apply the (quantised) gain to each "pitch band" */ -void pitch_quant_bands(const CELTMode *m, celt_norm_t * restrict P, const celt_pgain_t * restrict gains) -{ - int i; - const celt_int16_t *pBands = m->pBands; - const int C = CHANNELS(m); -...