Skip to content

Commit beb0610

Browse files
singalsulgirdwood
authored andcommitted
Math: IIR: Move IIR DF2T initialize helpers to library
The DF2T IIR core has been moved earlier to library but the helper functions for configuring it were left to EQ component. This patch eases use of IIR core from other components. The file src/audio/eq_iir/iir.c is moved to src/math. There are no changes except of remove iir.h since the contents specific for DF2T type were merged to iir_df2t.h Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
1 parent 6363a86 commit beb0610

12 files changed

Lines changed: 23 additions & 43 deletions

File tree

src/audio/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ set(volume_sources volume/volume.c volume/volume_generic.c)
180180
set(src_sources src/src.c src/src_generic.c)
181181
set(asrc_sources asrc/asrc.c asrc/asrc_farrow.c asrc/asrc_farrow_generic.c)
182182
set(eq-fir_sources eq_fir/eq_fir.c eq_fir/eq_fir_generic.c)
183-
set(eq-iir_sources eq_iir/eq_iir.c eq_iir/iir.c)
183+
set(eq-iir_sources eq_iir/eq_iir.c)
184184
set(dcblock_sources dcblock/dcblock.c dcblock/dcblock_generic.c)
185185
set(crossover_sources crossover/crossover.c crossover/crossover_generic.c)
186186
set(tdfb_sources tdfb/tdfb.c tdfb/tdfb_generic.c)

src/audio/crossover/crossover.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
#include <sof/audio/ipc-config.h>
1212
#include <sof/audio/crossover/crossover.h>
1313
#include <sof/audio/crossover/crossover_algorithm.h>
14-
#include <sof/audio/eq_iir/iir.h>
1514
#include <sof/common.h>
1615
#include <sof/debug/panic.h>
1716
#include <sof/ipc/msg.h>
1817
#include <sof/lib/alloc.h>
1918
#include <sof/lib/memory.h>
2019
#include <sof/lib/uuid.h>
20+
#include <sof/math/iir_df2t.h>
2121
#include <sof/list.h>
2222
#include <sof/platform.h>
2323
#include <sof/string.h>

src/audio/crossover/crossover_generic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
#include <stdint.h>
88
#include <sof/audio/format.h>
9-
#include <sof/audio/eq_iir/iir.h>
109
#include <sof/audio/component.h>
1110
#include <sof/audio/format.h>
1211
#include <sof/audio/crossover/crossover.h>
12+
#include <sof/math/iir_df2t.h>
1313

1414
/*
1515
* \brief Splits x into two based on the coefficients set in the lp

src/audio/eq_iir/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# SPDX-License-Identifier: BSD-3-Clause
22

3-
add_local_sources(sof eq_iir.c iir.c)
3+
add_local_sources(sof eq_iir.c)

src/audio/eq_iir/eq_iir.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include <sof/audio/component.h>
1010
#include <sof/audio/buffer.h>
1111
#include <sof/audio/eq_iir/eq_iir.h>
12-
#include <sof/audio/eq_iir/iir.h>
1312
#include <sof/audio/format.h>
1413
#include <sof/audio/pipeline.h>
1514
#include <sof/audio/ipc-config.h>

src/audio/multiband_drc/multiband_drc_generic.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#include <stdint.h>
88
#include <sof/audio/drc/drc_algorithm.h>
99
#include <sof/audio/format.h>
10-
#include <sof/audio/eq_iir/iir.h>
1110
#include <sof/audio/multiband_drc/multiband_drc.h>
1211
#include <sof/math/iir_df2t.h>
1312

src/include/sof/audio/eq_iir/iir.h

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/include/sof/math/iir_df2t.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,21 @@ struct iir_state_df2t {
5858
int64_t *delay; /* Pointer to IIR delay line */
5959
};
6060

61+
struct sof_eq_iir_header_df2t;
62+
63+
int iir_init_coef_df2t(struct iir_state_df2t *iir,
64+
struct sof_eq_iir_header_df2t *config);
65+
66+
int iir_delay_size_df2t(struct sof_eq_iir_header_df2t *config);
67+
68+
void iir_init_delay_df2t(struct iir_state_df2t *iir, int64_t **delay);
69+
70+
void iir_mute_df2t(struct iir_state_df2t *iir);
71+
72+
void iir_unmute_df2t(struct iir_state_df2t *iir);
73+
74+
void iir_reset_df2t(struct iir_state_df2t *iir);
75+
6176
int32_t iir_df2t(struct iir_state_df2t *iir, int32_t x);
6277

6378
/* Inline functions with or without HiFi3 intrinsics */

src/math/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ if(CONFIG_MATH_FFT)
3535
endif()
3636

3737
if(CONFIG_MATH_IIR_DF2T)
38-
add_local_sources(sof iir_df2t_generic.c iir_df2t_hifi3.c)
38+
add_local_sources(sof iir_df2t_generic.c iir_df2t_hifi3.c iir.c)
3939
endif()
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
// Keyon Jie <yang.jie@linux.intel.com>
88

99
#include <sof/common.h>
10-
#include <sof/audio/eq_iir/iir.h>
1110
#include <sof/audio/format.h>
11+
#include <sof/math/iir_df2t.h>
1212
#include <user/eq.h>
1313
#include <errno.h>
1414
#include <stddef.h>

0 commit comments

Comments
 (0)