diff options
Diffstat (limited to 'libspeex/filters.h')
-rw-r--r-- | libspeex/filters.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libspeex/filters.h b/libspeex/filters.h index d0689ea..df14851 100644 --- a/libspeex/filters.h +++ b/libspeex/filters.h @@ -62,8 +62,19 @@ void qmf_decomp(const spx_word16_t *xx, const spx_word16_t *aa, spx_word16_t *, void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_t *a, spx_word16_t *y, int N, int M, spx_word16_t *mem1, spx_word16_t *mem2, char *stack); void filter_mem16(const spx_word16_t *x, const spx_coef_t *num, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack); + +#ifdef MERGE_FILTERS + +#define OVERRIDE_IIR_MEM16 +#define OVERRIDE_FIR_MEM16 +extern const spx_word16_t zeros[]; +#define iir_mem16(x, den, y, N, ord, mem, stack) filter_mem16(x, zeros, den, y, N, ord, mem, stack) +#define fir_mem16(x, num, y, N, ord, mem, stack) filter_mem16(x, num, zeros, y, N, ord, mem, stack) + +#else /* MERGE_FILTERS */ void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack); void fir_mem16(const spx_word16_t *x, const spx_coef_t *num, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack); +#endif /* MERGE_FILTERS */ /* Apply bandwidth expansion on LPC coef */ void bw_lpc(spx_word16_t , const spx_coef_t *lpc_in, spx_coef_t *lpc_out, int order); |