39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
#ifndef __NOTCH_HOWLING_API_H
|
|
#define __NOTCH_HOWLING_API_H
|
|
|
|
#include "effects/AudioEffect_DataType.h"
|
|
|
|
#ifdef WIN32
|
|
|
|
#define AT_NOTCHHOWLING(x)
|
|
#define AT_NOTCHHOWLING_CODE
|
|
#define AT_NOTCHHOWLING_CONST
|
|
#define AT_NOTCHHOWLING_SPARSE_CODE
|
|
#define AT_NOTCHHOWLING_SPARSE_CONST
|
|
|
|
#else
|
|
#define AT_NOTCHHOWLING(x) __attribute__((section(#x)))
|
|
#define AT_NOTCHHOWLING_CODE AT_NOTCHHOWLING(.notchhowling.text.cache.L2.code)
|
|
#define AT_NOTCHHOWLING_CONST AT_NOTCHHOWLING(.notchhowling.text.cache.L2.const)
|
|
#define AT_NOTCHHOWLING_SPARSE_CODE AT_NOTCHHOWLING(.notchhowling.text)
|
|
#define AT_NOTCHHOWLING_SPARSE_CONST AT_NOTCHHOWLING(.notchhowling.text.const)
|
|
#endif
|
|
|
|
typedef struct _NotchHowlingParam {
|
|
int fade_time;
|
|
float notch_gain;
|
|
float notch_Q;
|
|
float threshold;
|
|
int SampleRate;
|
|
af_DataType pcm_info;
|
|
} NotchHowlingParam;
|
|
|
|
int get_howling_buf(NotchHowlingParam *param);
|
|
int howling_init(void *workbuf, NotchHowlingParam *param);
|
|
int howling_run(void *workbuf, short *in, short *out, int len);
|
|
void SetHowlingDetection(void *workbuf, int OnlyDetection);
|
|
float *getHowlingFreq(void *workbuf, int *num);
|
|
|
|
#endif // !NOTCH_HOWLING_API_H
|
|
|