search for: q15one

Displaying 10 results from an estimated 10 matches for "q15one".

2009 Dec 02
1
bug found in CELT 0.6.1, fix proposed.
...f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}; #endif /* FIXME: Implement for stereo */ *************** *** 113,119 **** celt_word16 q; /* dB */ celt_word16 x; /* dB */ celt_word16 f; /* Q8 */ ! celt_word16 mean = (i < E_MEANS_SIZE) ? MULT16_16_Q15(Q15ONE-coef,eMeans[i]) : 0; x = eBands[i+c*m->nbEBands]; #ifdef FIXED_POINT f = x-mean -MULT16_16_Q15(coef,oldEBands[i+c*m->nbEBands])-prev[c]; --- 112,118 ---- celt_word16 q; /* dB */ celt_word16 x; /* dB */ celt_word16 f; /* Q8 */ !...
2007 Nov 05
2
[patch] speex_preprocess_ctl
...15_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_CONTINU...
2007 Oct 29
1
[patch] speex_preprocess_ctl
...SS_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)); -...
2011 Apr 23
1
Inside the psydecay_init function
Good Morning; Fo this portion of code in the psydecay_init( ) of CELT (psy.c)?: decayR[i]=Q15ONE*power(0.1f,deriv)?? /commented: decay corresponding to -10 dB/Bark. decayL[i]=Q15ONE*power(0.0031623f,deriv)?? /commented: decay corresponding to -25 dB/Bark. Why 0.1 (or 0.0031623)?is being raised to the power of deriv? what is the meaning of this? why 0.1(or 0.0031623) ?not other number? is...
2011 Mar 02
1
[PATCH] Fix CNG when effEBands is less than nbEBands.
...+ blen = (st->mode->eBands[i+1]-st->mode->eBands[i])<<LM; + for (j=0;j<blen;j++) + { + seed = lcg_rand(seed); + X[boffs+j] = (celt_int32)(seed)>>20; + } + renormalise_vector(X+boffs, blen, Q15ONE); + } } st->rng = seed; - for (c=0;c<C;c++) - for (i=0;i<st->mode->nbEBands;i++) - renormalise_vector(X+N*c+(st->mode->eBands[i]<<LM), (st->mode->eBands[i+1]-st->mode->eBands[i])<<LM, Q15ONE); - denorm...
2009 Jan 14
0
[PATCH] Pitch now quantised at the band level, got rid of all the VQ code.
...i)]&0xff00U)>>1) ) -#define PGAIN_ODD14(codebook, i) PGAIN_ODD(codebook, i) -#define PGAIN_EVEN14(codebook, i) PGAIN_EVEN(codebook, i) -#endif - -#define PGAIN(codebook, i) ((i)&1 ? PGAIN_ODD(codebook, (i)>>1) : PGAIN_EVEN(codebook, (i)>>1)) - - -#define Q1515ONE MULT16_16(Q15ONE,Q15ONE) - -/** Taken from Speex.Finds the index of the entry in a codebook that best matches the input*/ -int vq_index(const celt_pgain_t *in, const celt_uint16_t *codebook, int len, int entries) -{ - int i,j; - int ind = 0; - celt_word32_t min_dist=VERY_LARGE32; - int best_index=0; - for...
2007 Nov 05
0
[patch] speex_preprocess_ctl
...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_PREPRO...
2011 Mar 03
1
fixed point code
...this array? Or you may kindly provide us with ROM tables of the array for each possible combination of frame size and sampling freq...? CELTMode *celt_mode_create(celt_int32 Fs, int frame_size, int *error) { .... .... #ifndef FIXED_POINT for (i=0;i<mode->overlap;i++) window[i] = Q15ONE*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap)); #else for (i=0;i<mode->overlap;i++) window[i] = MIN32(32767,floor(.5+32768.*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap)))); #endif ..... ..... }...
2016 Jun 17
5
ARM NEON optimization -- celt_fir()
Hi all, This is Linfeng Zhang from Google. I'll work on ARM NEON optimization in the next few months. I'm submitting 2 patches in the following couple of emails, which have the new created celt_fir_neon(). I revised celt_fir_c() to not pass in argument "mem" in Patch 1. If there are concerns to this change, please let me know. Many thanks to your comments. Linfeng Zhang
2016 Jul 14
6
Several patches of ARM NEON optimization
I rebased my previous 3 patches to the current master with minor changes. Patches 1 to 3 replace all my previous submitted patches. Patches 4 and 5 are new. Thanks, Linfeng Zhang