/*
|
* 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_ */
|