void CODEC2_WIN32SUPPORT fdmdv_destroy(struct FDMDV *fdmdv) { assert(fdmdv != NULL); KISS_FFT_FREE(fdmdv->fft_pilot_cfg); KISS_FFT_FREE(fdmdv->fft_cfg); free(fdmdv->rx_test_bits_mem); free(fdmdv); }
void CODEC2_WIN32SUPPORT codec2_destroy(struct CODEC2 *c2) { assert(c2 != NULL); nlp_destroy(c2->nlp); KISS_FFT_FREE(c2->fft_fwd_cfg); KISS_FFT_FREE(c2->fft_inv_cfg); free(c2); }
void fft_free(void *p) { #ifdef HAVE_LIBFFTW3 fftw_free(p); #else KISS_FFT_FREE(p); #endif }
MRFFT::~MRFFT() { // we don' use kiss_fftr_free here because // its hardcoded to free and doesn't pay attention // to SIMD (which might be used during kiss_fftr_alloc //in the C'tor). KISS_FFT_FREE(m_cfg); }
void nlp_destroy(void *nlp_state) { NLP *nlp; assert(nlp_state != NULL); nlp = (NLP*)nlp_state; KISS_FFT_FREE(nlp->fft_cfg); free(nlp_state); }
void fft_delete(const fft_cfg cfg) { #ifdef KISS_FFT KISS_FFT_FREE(cfg); #elif defined(LIBAVCODEC_FFT) av_fft_end(cfg->context); free(cfg); #else #error FFT engine was not defined #endif }
FFTLib::~FFTLib() { kiss_fftr_free(m_cfg); KISS_FFT_FREE(m_output); KISS_FFT_FREE(m_input); KISS_FFT_FREE(m_window); }