8#ifndef __SOF_CROSSOVER_COMMON_H__
9#define __SOF_CROSSOVER_COMMON_H__
16#define CROSSOVER_2WAY_NUM_SINKS 2
18#define CROSSOVER_3WAY_NUM_SINKS 3
20#define CROSSOVER_4WAY_NUM_SINKS 4
22#define CROSSOVER_NUM_DELAYS_LR4 4
24#define CROSSOVER_MAX_LR4 3
26#define SOF_CROSSOVER_MAX_STREAMS 4
#define CROSSOVER_2WAY_NUM_SINKS
Definition crossover_common.h:16
const crossover_split crossover_split_fnmap[]
#define CROSSOVER_MAX_LR4
Definition crossover_common.h:24
int crossover_init_coef_ch(struct processing_module *mod, struct sof_eq_iir_biquad *coef, struct crossover_state *ch_state, int32_t num_sinks)
static void crossover_reset_state_lr4(struct processing_module *mod, struct iir_state_df1 *lr4)
Reset the state of an LR4 filter.
Definition crossover_common.h:51
static void crossover_reset_state_ch(struct processing_module *mod, struct crossover_state *ch_state)
Reset the state (coefficients and delay) of the crossover filter of a single channel.
Definition crossover_common.h:65
#define CROSSOVER_4WAY_NUM_SINKS
Definition crossover_common.h:20
void(* crossover_split)(int32_t in, int32_t out[], struct crossover_state *state)
Definition crossover_common.h:37
static crossover_split crossover_find_split_func(int32_t num_sinks)
Returns Crossover split function.
Definition crossover_common.h:79
int mod_free(struct processing_module *mod, const void *ptr)
Free a memory block previously allocated for a module.
Infinite Impulse Response Direct Form I (DF1) filter definitions.
Stores the state of one channel of the Crossover filter.
Definition crossover_common.h:31
struct iir_state_df1 lowpass[CROSSOVER_MAX_LR4]
Definition crossover_common.h:33
struct iir_state_df1 highpass[CROSSOVER_MAX_LR4]
Definition crossover_common.h:34
int32_t * coef
Definition iir_df1.h:29
int32_t * delay
Definition iir_df1.h:30