summaryrefslogtreecommitdiffstats
path: root/src/libsamplerate/samplerate.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2021-03-13 17:10:08 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2021-03-21 09:03:06 +0100
commitf90f421b165c7880cd88db8795f00073dd768f60 (patch)
tree1b2c56ae0d2b8b463bb7999229c63b303c64926b /src/libsamplerate/samplerate.h
parent72b0d35e6c52a13f133e26b74b2414cf94fbc8e8 (diff)
Add libs
Diffstat (limited to 'src/libsamplerate/samplerate.h')
-rw-r--r--src/libsamplerate/samplerate.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libsamplerate/samplerate.h b/src/libsamplerate/samplerate.h
new file mode 100644
index 0000000..8f8ea87
--- /dev/null
+++ b/src/libsamplerate/samplerate.h
@@ -0,0 +1,19 @@
+#include "../libfilter/iir_filter.h"
+
+typedef struct samplerate {
+ double factor;
+ struct {
+ iir_filter_t lp;
+ sample_t last_sample;
+ double in_index;
+ } down;
+ struct {
+ iir_filter_t lp;
+ sample_t last_sample;
+ double in_index;
+ } up;
+} samplerate_t;
+
+int init_samplerate(samplerate_t *state, double low_samplerate, double high_samplerate, double filter_cutoff);
+int samplerate_downsample(samplerate_t *state, sample_t *samples, int input_num);
+int samplerate_upsample(samplerate_t *state, sample_t *input, int input_num, sample_t *output);