osmocom-analog/src/libsamplerate/samplerate.h

21 lines
575 B
C
Raw Normal View History

#include "../libfilter/iir_filter.h"
2016-03-01 17:40:38 +00:00
typedef struct samplerate {
double factor;
2016-03-01 17:40:38 +00:00
struct {
iir_filter_t lp;
sample_t last_sample;
double in_index;
2016-03-01 17:40:38 +00:00
} down;
struct {
iir_filter_t lp;
sample_t current_sample;
sample_t last_sample;
double in_index;
2016-03-01 17:40:38 +00:00
} 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);