aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/compandor.h
blob: 2151baa9aa7626a83df12a72166b2b148f30ffad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
typedef struct compandor {
	struct {
		double	unaffected;
		double	step_up;
		double	step_down;
		double	peak;
		double	envelope;
	} c;
	struct {
		double	unaffected;
		double	step_up;
		double	step_down;
		double	peak;
		double	envelope;
	} e;
} compandor_t;

void init_compandor(compandor_t *state, int samplerate, double attack_ms, double recovery_ms, double unaffected_level);
void compress_audio(compandor_t *state, sample_t *samples, int num);
void expand_audio(compandor_t *state, sample_t *samples, int num);