56 lines
1.4 KiB
C
56 lines
1.4 KiB
C
#ifndef _AUDIO_VBASS_API_H_
|
|
#define _AUDIO_VBASS_API_H_
|
|
#include "system/includes.h"
|
|
#include "media/audio_stream.h"
|
|
#include "effects/VirtualBass_api.h"
|
|
|
|
typedef struct _VirtualBassUdateParam {
|
|
int ratio;
|
|
int boost;
|
|
int fc;
|
|
int ReserveLowFreqEnable;
|
|
int Reserved[7];
|
|
} VirtualBassUdateParam;
|
|
|
|
//虚拟低音
|
|
typedef struct _VirtualBass_TOOL_SET {
|
|
int is_bypass; // 1-> byass 0 -> no bypass
|
|
VirtualBassUdateParam parm;
|
|
} virtual_bass_param_tool_set;
|
|
|
|
|
|
typedef struct _vbass_hdl {
|
|
void *workbuf; //vbass 运行句柄及buf
|
|
VirtualBassParam parm;
|
|
u8 status; //内部运行状态机
|
|
u8 update; //设置参数更新标志
|
|
u8 out32bit;
|
|
u8 fade_en; //是否使能系数淡入
|
|
u8 fade_step; //ratio淡入步进
|
|
int fade_ratio; //淡入目标值
|
|
} vbass_hdl;
|
|
|
|
|
|
int audio_vbass_run(vbass_hdl *hdl, void *datain, void *dataout, u32 len);
|
|
vbass_hdl *audio_vbass_open(VirtualBassParam *parm);
|
|
int audio_vbass_close(vbass_hdl *hdl);
|
|
void audio_vbass_set_bit_wide(vbass_hdl *hdl, u32 out32bit);
|
|
|
|
int audio_vbass_update_parm(vbass_hdl *hdl, VirtualBassUdateParam *parm);
|
|
void audio_vbass_bypass(vbass_hdl *hdl, u8 bypass);
|
|
|
|
//vbass link volume
|
|
void user_virtual_bass_udpate_parm_demo();
|
|
int vbass_link_volume();
|
|
|
|
#ifndef RUN_NORMAL
|
|
#define RUN_NORMAL 0
|
|
#endif
|
|
|
|
#ifndef RUN_BYPASS
|
|
#define RUN_BYPASS 1
|
|
#endif
|
|
|
|
#endif
|
|
|