qipp
2025-11-07 744722688187eb4991c72464e2bb5e06b244fee7
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * compress.h
 *
 *  Created on: 2014-9-23
 *      Author: Graydon
 */
 
#ifndef COMPRESS_H_
#define COMPRESS_H_
 
typedef enum {
    compresser_peak =0x1,
    compresser_rms,
}compresser_type;
 
 
/*description: create compressor processor
 *@param1: sample rate,48K-192K
 *@param2: sample num per frame.
 *return: Get the processor handle
 */
uvoidptr alg_compress_create(uint32_t sample_rate, uint32_t sample_num, compresser_type type);
/*description: Set compressor param
 *@param1:
 *@param2:
 *@param3:
 *@param4:
 *return: none
 */
uvoid alg_compress_set_param(uvoidptr h, ufloat threshold, ufloat ratio, uint32_t attackTime, uint32_t releaseTime, ufloat gain, uint32_t soft);
 
uvoid alg_compresss_set_type(uvoidptr h, compresser_type type);
 
/*description: Destroy a compressor
 *@param1: The compressor handle
 *return: none
 */
uvoid alg_compress_destroy(uvoidptr h);
 
/*description: compressor work function
 *@param1: The compressor handle
 *@param2: data input
 *@param3: The processed data output.
 *return: 0-ok,-1-fail
 */
int32_t alg_compress_process(uvoidptr h, const ufloat* in, ufloat* out);
 
/*description: Get compress current has compressed how many DB
 *@param1: The compressor handle
 *return: Return the value
 */
ufloat alg_compress_get_db(uvoidptr h);
 
 
ufloat alg_compress_get_output_db(uvoidptr h);
#endif /* COMPRESS_H_ */