fixed-point: changed find_spectral_pitch() to use single-precision (16-bit) FFT.
This involved adding kfft_single.[ch] that redefines kiss_fft a second time with a different prefix. All this is still a bit of a mess now. The mask had to be converted to 16-bit input, but we're still using floats to apply it.
This commit is contained in:
parent
4024444811
commit
f93747c44a
12 changed files with 166 additions and 28 deletions
|
@ -36,22 +36,24 @@ extern "C" {
|
|||
#ifdef DOUBLE_PRECISION
|
||||
# define kiss_fft_scalar celt_int32_t
|
||||
# define kiss_twiddle_scalar celt_int32_t
|
||||
# define KF_SUFFIX _celt_double
|
||||
#else
|
||||
# define kiss_fft_scalar celt_int16_t
|
||||
# define kiss_twiddle_scalar celt_int16_t
|
||||
# define KF_SUFFIX _celt_single
|
||||
#endif
|
||||
#else
|
||||
# ifndef kiss_fft_scalar
|
||||
/* default is float */
|
||||
# define kiss_fft_scalar float
|
||||
# define kiss_twiddle_scalar float
|
||||
# define KF_SUFFIX _celt_single
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* This adds a suffix to all the kiss_fft functions so we
|
||||
can easily link with more than one copy of the fft */
|
||||
#define KF_SUFFIX _celt_single
|
||||
#define CAT_SUFFIX(a,b) a ## b
|
||||
#define SUF(a,b) CAT_SUFFIX(a, b)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue