Changeset c9ca2608 for src/spectral/dct.c
 Timestamp:
 Sep 15, 2018, 5:34:21 PM (15 months ago)
 Branches:
 feature/autosink, feature/constantq, feature/pitchshift, feature/pydocstrings, feature/timestretch, master
 Children:
 3aa60b2
 Parents:
 3aac194 (diff), ad3770f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent.  File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

src/spectral/dct.c
r3aac194 rc9ca2608 41 41 42 42 #if defined(HAVE_ACCELERATE) 43 typedef struct _aubio_dct_ opt_t aubio_dct_accelerate_t;43 typedef struct _aubio_dct_accelerate_t aubio_dct_accelerate_t; 44 44 extern aubio_dct_accelerate_t * new_aubio_dct_accelerate (uint_t size); 45 45 extern void aubio_dct_accelerate_do(aubio_dct_accelerate_t *s, const fvec_t *input, fvec_t *output); … … 47 47 extern void del_aubio_dct_accelerate (aubio_dct_accelerate_t *s); 48 48 #elif defined(HAVE_FFTW3) 49 typedef struct _aubio_dct_ opt_t aubio_dct_fftw_t;49 typedef struct _aubio_dct_fftw_t aubio_dct_fftw_t; 50 50 extern aubio_dct_fftw_t * new_aubio_dct_fftw (uint_t size); 51 51 extern void aubio_dct_fftw_do(aubio_dct_fftw_t *s, const fvec_t *input, fvec_t *output); … … 84 84 if ((sint_t)size <= 0) goto beach; 85 85 #if defined(HAVE_ACCELERATE) 86 // TODO check87 86 // vDSP supports sizes = f * 2 ** n, where n >= 4 and f in [1, 3, 5, 15] 88 87 // see https://developer.apple.com/documentation/accelerate/1449930vdsp_dct_createsetup 89 if (aubio_is_power_of_two(size/16) != 1 90  (size/16 != 3 && size/16 != 5 && size/16 != 15)) { 91 goto plain; 88 { 89 uint_t radix = size; 90 uint_t order = 0; 91 while ((radix / 2) * 2 == radix) { 92 radix /= 2; 93 order++; 94 } 95 if (order < 4  (radix != 1 && radix != 3 && radix != 5 && radix != 15)) { 96 goto plain; 97 } 92 98 } 93 99 s>dct = (void *)new_aubio_dct_accelerate (size);
Note: See TracChangeset
for help on using the changeset viewer.