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