Files
AC707N/SDK/interface/media/effects/audio_bass_treble_eq.h
T
2025-12-03 11:12:34 +08:00

73 lines
2.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _BASS_TREBLE_EQ_CONFIG_H_
#define _BASS_TREBLE_EQ_CONFIG_H_
#include "spinlock.h"
#include "math.h"
#include "effects/audio_eq.h"
struct bass_treble_gain_range {
int iir_type;
int center_frequency;
float Q;
float min_gain;
float max_gain;
float cur_gain;//在线调试时用于与工具交互显示,并控制当前增益。但存储效果文件内的值不用做当前gain
};
typedef struct bass_treble_tool_parm { //工具界面调音结构
u32 type;//默认0xaa:标识工具参数,
u32 fade_time;
float fade_step;
float global_gain;
struct bass_treble_gain_range range[3];
} bass_treble_param_tool_set;
struct seg_gain {
int index;
float gain;
};
struct bass_treble_parm { //旋钮调音结构
u32 type;//默认0xaa:标识工具参数
u32 fade_time;
float fade_step;
float global_gain;
struct seg_gain gain;
} ;
struct bass_treble_default_parm {
char name[16];
u32 type;
float global_gain;
float gain[3];//[0]:低音增益 [1]:中音增益 [2]:高音增益
char cfg_index;//如果使用配置项的序号,指定默认配置项
char mode_index;//节点与多模式关联时,该变量用于获取相应模式下的节点参数.模式序号(如,蓝牙模式下,无多子模式,mode_index 是0
};
#define BASS_TREBLE_PARM_INIT (1UL<<0)
#define BASS_TREBLE_PARM_GET (1UL<<2)
#define BASS_TREBLE_PARM_SET (1UL<<4)
#define BASS_TREBLE_PARM_SET_GLOBAL_GAIN (1UL<<6)
#define BASS_TREBLE_PARM_TOO_SET 0xaa
enum bass_treble_eff {
BASS_TREBLE_LOW = 0,
BASS_TREBLE_MID = 1,
BASS_TREBLE_HIGH = 2,
};
/*******************************************************************/
// 兼容旧接口
#define AUDIO_EQ_HIGH 2
#define AUDIO_EQ_BASS 3
struct high_bass {
int freq;
int gain; //增益范围 -48 ~ 48
};
void mix_out_high_bass(u32 cmd, struct high_bass *hb);
/*******************************************************************/
#endif