#ifndef DYNAMICEQDETECTION_API_H #define DYNAMICEQDETECTION_API_H #ifdef WIN32 #define AT_DYNAMICEQ_DETECT(x) #define AT_DYNAMICEQ_DETECT_CODE #define AT_DYNAMICEQ_DETECT_CONST #define AT_DYNAMICEQ_DETECT_SPARSE_CODE #define AT_DYNAMICEQ_DETECT_SPARSE_CONST #else #define AT_DYNAMICEQ_DETECT(x) __attribute((section(#x))) #define AT_DYNAMICEQ_DETECT_CODE AT_DYNAMICEQ_DETECT(.dynamic_eq_detect_code) #define AT_DYNAMICEQ_DETECT_CONST AT_DYNAMICEQ_DETECT(.dynamic_eq_detect_const) #define AT_DYNAMICEQ_DETECT_SPARSE_CODE AT_DYNAMICEQ_DETECT(.dynamic_eq_detect_sparse_code) #define AT_DYNAMICEQ_DETECT_SPARSE_CONST AT_DYNAMICEQ_DETECT(.dynamic_eq_detect_sparse_const) #endif typedef struct _DynamicEQDetectionParam { int fc; //中心频率 与动态eq参数中的fc一致 } DynamicEQDetectionParam; //检测参数 int getDynamicEQDetectionBuf(int nSection, int channel); int *getDynamicEQDetectionCoeff(void *WorkBuf); void DynamicEQDetectionInit(void *WorkBuf, DynamicEQDetectionParam *pram, int nSection, int channel, int SampleRate); void DynamicEQDetectionUpdate(void *WorkBuf, DynamicEQDetectionParam *pram); int DynamicEQDetectionRun(void *WorkBuf, short *indata, int *outdata, int per_channel_npoint); #endif // !DYNAMICEQDETECTION_API_H