media/kiss_fft/CHANGELOG

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/kiss_fft/CHANGELOG	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,123 @@
     1.4 +1.3.0 2012-07-18
     1.5 +  removed non-standard malloc.h from kiss_fft.h
     1.6 +
     1.7 +  moved -lm to end of link line
     1.8 +
     1.9 +  checked various return values
    1.10 +
    1.11 +  converted python Numeric code to NumPy
    1.12 + 
    1.13 +  fixed test of int32_t on 64 bit OS
    1.14 +
    1.15 +  added padding in a couple of places to allow SIMD alignment of structs
    1.16 +
    1.17 +1.2.9 2010-05-27
    1.18 +  threadsafe ( including OpenMP )
    1.19 +
    1.20 +  first edition of kissfft.hh the C++ template fft engine
    1.21 + 
    1.22 +1.2.8 
    1.23 +  Changed memory.h to string.h -- apparently more standard
    1.24 +  
    1.25 +  Added openmp extensions.  This can have fairly linear speedups for larger FFT sizes.
    1.26 +
    1.27 +1.2.7 
    1.28 +  Shrank the real-fft memory footprint. Thanks to Galen Seitz.
    1.29 +
    1.30 +1.2.6 (Nov 14, 2006) The "thanks to GenArts" release.
    1.31 +  Added multi-dimensional real-optimized FFT, see tools/kiss_fftndr
    1.32 +  Thanks go to GenArts, Inc. for sponsoring the development.
    1.33 +
    1.34 +1.2.5 (June 27, 2006) The "release for no good reason" release.
    1.35 +   Changed some harmless code to make some compilers' warnings go away.
    1.36 +   Added some more digits to pi -- why not.
    1.37 +   Added kiss_fft_next_fast_size() function to help people decide how much to pad.
    1.38 +   Changed multidimensional test from 8 dimensions to only 3 to avoid testing 
    1.39 +   problems with fixed point (sorry Buckaroo Banzai).
    1.40 +
    1.41 +1.2.4 (Oct 27, 2005)   The "oops, inverse fixed point real fft was borked" release. 
    1.42 +   Fixed scaling bug for inverse fixed point real fft -- also fixed test code that should've been failing.
    1.43 +    Thanks to Jean-Marc Valin for bug report.
    1.44 +
    1.45 +   Use sys/types.h for more portable types than short,int,long => int16_t,int32_t,int64_t
    1.46 +   If your system does not have these, you may need to define them -- but at least it breaks in a 
    1.47 +   loud and easily fixable way -- unlike silently using the wrong size type.
    1.48 +
    1.49 +   Hopefully tools/psdpng.c is fixed -- thanks to Steve Kellog for pointing out the weirdness.
    1.50 +
    1.51 +1.2.3 (June 25, 2005)   The "you want to use WHAT as a sample" release.
    1.52 +    Added ability to use 32 bit fixed point samples -- requires a 64 bit intermediate result, a la 'long long'
    1.53 +
    1.54 +    Added ability to do 4 FFTs in parallel by using SSE SIMD instructions. This is accomplished by
    1.55 +    using the __m128 (vector of 4 floats) as kiss_fft_scalar.  Define USE_SIMD to use this.
    1.56 +    
    1.57 +    I know, I know ...  this is drifting a bit from the "kiss" principle, but the speed advantages 
    1.58 +    make it worth it for some.  Also recent gcc makes it SOO easy to use vectors of 4 floats like a POD type.
    1.59 +
    1.60 +1.2.2 (May 6, 2005)   The Matthew release
    1.61 +    Replaced fixed point division with multiply&shift.  Thanks to Jean-Marc Valin for 
    1.62 +    discussions regarding.  Considerable speedup for fixed-point.
    1.63 +
    1.64 +    Corrected overflow protection in real fft routines  when using fixed point.
    1.65 +    Finder's Credit goes to Robert Oschler of robodance for pointing me at the bug.
    1.66 +    This also led to the CHECK_OVERFLOW_OP macro.
    1.67 +
    1.68 +1.2.1 (April 4, 2004) 
    1.69 +    compiles cleanly with just about every -W warning flag under the sun
    1.70 +
    1.71 +    reorganized kiss_fft_state so it could be read-only/const. This may be useful for embedded systems
    1.72 +    that are willing to predeclare twiddle factors, factorization.
    1.73 +
    1.74 +    Fixed C_MUL,S_MUL on 16-bit platforms.
    1.75 +
    1.76 +    tmpbuf will only be allocated if input & output buffers are same
    1.77 +    scratchbuf will only be allocated for ffts that are not multiples of 2,3,5
    1.78 + 
    1.79 +    NOTE: The tmpbuf,scratchbuf changes may require synchronization code for multi-threaded apps.
    1.80 +
    1.81 +
    1.82 +1.2 (Feb 23, 2004)
    1.83 +    interface change -- cfg object is forward declaration of struct instead of void*
    1.84 +    This maintains type saftey and lets the compiler warn/error about stupid mistakes.
    1.85 +            (prompted by suggestion from Erik de Castro Lopo)
    1.86 +
    1.87 +    small speed improvements
    1.88 +
    1.89 +    added psdpng.c -- sample utility that will create png spectrum "waterfalls" from an input file
    1.90 +        ( not terribly useful yet)
    1.91 +
    1.92 +1.1.1 (Feb 1, 2004 )
    1.93 +    minor bug fix -- only affects odd rank, in-place, multi-dimensional FFTs
    1.94 +
    1.95 +1.1 : (Jan 30,2004)
    1.96 +    split sample_code/ into test/ and tools/
    1.97 +
    1.98 +    Removed 2-D fft and added N-D fft (arbitrary)
    1.99 +
   1.100 +    modified fftutil.c to allow multi-d FFTs
   1.101 +
   1.102 +    Modified core fft routine to allow an input stride via kiss_fft_stride()
   1.103 +    (eased support of multi-D ffts)
   1.104 +
   1.105 +    Added fast convolution filtering (FIR filtering using overlap-scrap method, with tail scrap)
   1.106 +
   1.107 +    Add kfc.[ch]: the KISS FFT Cache. It takes care of allocs for you ( suggested by Oscar Lesta ).
   1.108 +
   1.109 +1.0.1 (Dec 15, 2003)
   1.110 +    fixed bug that occurred when nfft==1. Thanks to Steven Johnson.
   1.111 +    
   1.112 +1.0 : (Dec 14, 2003)
   1.113 +    changed kiss_fft function from using a single buffer, to two buffers.
   1.114 +    If the same buffer pointer is supplied for both in and out, kiss will
   1.115 +    manage the buffer copies.
   1.116 +
   1.117 +    added kiss_fft2d and kiss_fftr as separate source files (declarations in kiss_fft.h )
   1.118 +
   1.119 +0.4 :(Nov 4,2003) optimized for radix 2,3,4,5
   1.120 +
   1.121 +0.3 :(Oct 28, 2003) woops, version 2 didn't actually factor out any radices other than 2.
   1.122 +        Thanks to Steven Johnson for finding this one.
   1.123 +
   1.124 +0.2 :(Oct 27, 2003) added mixed radix, only radix 2,4 optimized versions
   1.125 +
   1.126 +0.1 :(May 19 2003)  initial release, radix 2 only

mercurial