39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
#ifndef SPECTRUMSHOW_API_H
|
|
#define SPECTRUMSHOW_API_H
|
|
|
|
#include "effects/AudioEffect_DataType.h"
|
|
|
|
#ifdef WIN32
|
|
|
|
#define AT_SPECTRUMSHOW(x)
|
|
#define AT_SPECTRUMSHOW_CODE
|
|
#define AT_SPECTRUMSHOW_CONST
|
|
#define AT_SPECTRUMSHOW_SPARSE_CODE
|
|
#define AT_SPECTRUMSHOW_SPARSE_CONST
|
|
|
|
#else
|
|
#define AT_SPECTRUMSHOW(x) __attribute__((section(#x)))
|
|
#define AT_SPECTRUMSHOW_CODE AT_SPECTRUMSHOW(.specshow.text.cache.L1)
|
|
#define AT_SPECTRUMSHOW_CONST AT_SPECTRUMSHOW(.specshow.text.cache.L2.const)
|
|
#define AT_SPECTRUMSHOW_SPARSE_CODE AT_SPECTRUMSHOW(.specshow.text)
|
|
#define AT_SPECTRUMSHOW_SPARSE_CONST AT_SPECTRUMSHOW(.specshow.text.const)
|
|
#endif
|
|
|
|
typedef struct _SpectrumShowParam {
|
|
float attackFactor;//下降因子[0,1)
|
|
float releaseFactor;//上升因子[0,1) */
|
|
int SampleRate;
|
|
int channel;
|
|
int mode;//模式,双声道起作用,0 计算的是第一声道的频谱值,//1计算的是第二声道频谱值,2为第一声道与第二声道相加除2的频谱值
|
|
af_DataType pcm_info;
|
|
} SpectrumShowParam;
|
|
|
|
int getSpectrumShowBuf();
|
|
int SpectrumShowInit(void *workBuf, SpectrumShowParam *param);
|
|
int SpectrumShowRun(void *workBuf, short *in, int len);
|
|
int getSpectrumNum(void *workBuf);
|
|
float *getCentreFreq(void *workBuf);
|
|
short *getSpectrumValue(void *workBuf);
|
|
|
|
#endif // !SPECTRUMSHOW_API_H
|