Ignore:
Timestamp:
Nov 23, 2006 10:19:46 AM (17 years ago)
Author:
bennylp
Message:

Updated Speex to their latest SVN (1.2-beta). AEC seems
to work much better now and take less CPU, so I increased
default tail length in PJSUA to 800ms.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia-codec/speex/kiss_fft.c

    r628 r823  
    339339{ 
    340340    int p=4; 
    341     double floor_sqrt; 
    342     floor_sqrt = floor( sqrt((double)n) ); 
    343341 
    344342    /*factor out powers of 4, powers of 2, then any remaining primes */ 
     
    350348                default: p += 2; break; 
    351349            } 
    352             if (p > floor_sqrt) 
     350            if (p>32000 || (spx_int32_t)p*(spx_int32_t)p > n) 
    353351                p = n;          /* no more factors, skip to end */ 
    354352        } 
     
    358356    } while (n > 1); 
    359357} 
    360  
    361358/* 
    362359 * 
     
    383380        st->nfft=nfft; 
    384381        st->inverse = inverse_fft; 
    385  
     382#ifdef FIXED_POINT 
    386383        for (i=0;i<nfft;++i) { 
    387             const double pi=3.14159265358979323846264338327; 
    388             double phase = ( -2*pi /nfft ) * i; 
    389             if (st->inverse) 
    390                 phase *= -1; 
    391             kf_cexp(st->twiddles+i, phase ); 
     384            spx_word32_t phase = i; 
     385            if (!st->inverse) 
     386                phase = -phase; 
     387            kf_cexp2(st->twiddles+i, DIV32(SHL32(phase,17),nfft)); 
    392388        } 
    393  
     389#else 
     390        for (i=0;i<nfft;++i) { 
     391           const double pi=3.14159265358979323846264338327; 
     392           double phase = ( -2*pi /nfft ) * i; 
     393           if (st->inverse) 
     394              phase *= -1; 
     395           kf_cexp(st->twiddles+i, phase ); 
     396        } 
     397#endif 
    394398        kf_factor(nfft,st->factors); 
    395399    } 
Note: See TracChangeset for help on using the changeset viewer.