void generic_plc_destroy_context(plc_context_t *context) { ms_free(context->continuity_buffer); ms_free(context->plc_buffer); ms_free(context->hamming_window); ms_free(context->plc_out_buffer); ms_fft_destroy(context->fft_to_frequency_context); ms_fft_destroy(context->fft_to_time_context); ms_free(context); }
static void equalizer_state_compute_impulse_response(EqualizerState *s){ void *fft_handle=ms_fft_init(s->nfft); ms_message("Spectral domain:"); dump_table(s->fft_cpx,s->nfft); ms_ifft(fft_handle,s->fft_cpx,s->fir); ms_fft_destroy(fft_handle); /* ms_message("Inverse fft result:"); dump_table(s->fir,s->fir_len); */ time_shift(s->fir,s->fir_len); /* ms_message("Time shifted:"); dump_table(s->fir,s->fir_len); */ norm_and_apodize(s->fir,s->fir_len); ms_message("Apodized impulse response:"); dump_table(s->fir,s->fir_len); s->needs_update=FALSE; }