aboutsummaryrefslogtreecommitdiffstats
path: root/lib/include/libfshift.h
blob: 61dd71250f575773dcf0c343b6ff6d628587811e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef LIBFSHIFT_H
#define LIBFSHIFT_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stdint.h>

typedef struct fshift_ctx *fshift_ctx_t;

/*
 * Create processing context.
 */
fshift_ctx_t fshift_create_ctx(float fshift, uint8_t sz);

/*
 * Free processing context
 */
void fshift_free_ctx(fshift_ctx_t ctx);

/*
 * Perform processing step
 * in - pointer to the buffer to read input block
 * out1 - pointer to buffer to save result of processing previous chunk
 * out2 - pointer to buffer to save delayed and filtering signal without
 * frequency shift processing.
 */
void fshift_run(fshift_ctx_t ctx, const float* in, float* out1, float* out2);

#ifdef __cplusplus
}
#endif

#endif