Files
99_7018_lmx/apps/earphone/aec/br28/audio_aec_online.h

119 lines
2.5 KiB
C
Raw Normal View History

2025-10-29 13:10:02 +08:00
#ifndef _AUDIO_AEC_ONLINE_H_
#define _AUDIO_AEC_ONLINE_H_
#include "generic/typedef.h"
/*
*0x30xx:mic降噪ANS
*0x31xx:mic降噪ANS
*0x32xx:mic降噪DNS
*0x33xx:mic降噪DNS
*0x34xx:mic话务耳机ANS
*0x35xx:mic话务耳机DNS
*0x3001
*/
#define AEC_CFG_SMS 0x3000
#define AEC_CFG_DMS 0x3100
#define AEC_CFG_SMS_DNS 0x3200
#define AEC_CFG_DMS_DNS 0x3300
#define AEC_CFG_DMS_FLEXIBLE 0x3400
#define AEC_CFG_DMS_FLEXIBLE_DNS 0x3500
//GENERAL_CONFIG:0x0000~0x0FFF
enum {
GENERAL_DAC = 0x0000,
GENERAL_MIC,
/*app端在线调试的enablebit;*/
GENERAL_ModuleEnable,
GENERAL_UL_EQ,
GENERAL_Global_MinSuppress,
GENERAL_MIC_1,
/*pc端在线调试的enablebit;*/
GENERAL_PC_ModuleEnable,
};
//AEC_CONFIG:0x1000~0x2FFF
enum {
//dms
AEC_ProcessMaxFreq = 0x1000,
AEC_ProcessMinFreq,
AEC_AF_Lenght,
//sms
AEC_DT_AGGRESS = 0x2000,
AEC_REFENGTHR,
};
//NLP_CONFIG:0x3000~0x4FFF
enum {
//dms
NLP_ProcessMaxFreq = 0x3000,
NLP_ProcessMinFreq,
NLP_OverDrive,
//sms
NLP_AGGRESS_FACTOR = 0x4000,
NLP_MIN_SUPPRESS,
};
//ANS_CONFIG:0x5000~0x6FFF
enum {
//dms
ANS_AggressFactor = 0x5000,
ANS_MinSuppress,
ANS_MicNoiseLevel,
//sms
ANS_AGGRESS = 0x6000,
ANS_SUPPRESS,
//DNS
DNS_GainFloor = 0x6100,
DNS_OverDrive,
};
//AGC_CONFIG(common):0x7000~0x7FFF
enum {
AGC_NDT_FADE_IN = 0x7000,
AGC_NDT_FADE_OUT,
AGC_DT_FADE_IN,
AGC_DT_FADE_OUT,
AGC_NDT_MAX_GAIN,
AGC_NDT_MIN_GAIN,
AGC_NDT_SPEECH_THR,
AGC_DT_MAX_GAIN,
AGC_DT_MIN_GAIN,
AGC_DT_SPEECH_THR,
AGC_ECHO_PRESENT_THR,
};
//ENC_CONFIG(only dms):0x8000~0x8FFF
enum {
ENC_Process_MaxFreq = 0x8000,
ENC_Process_MinFreq,
ENC_SIR_MaxFreq,
ENC_MIC_Distance,
ENC_Target_Signal_Degradation,
ENC_AggressFactor,
ENC_MinSuppress,
ENC_Suppress_Pre,
ENC_Suppress_Post,
ENC_Disconverge_Thr,
};
typedef struct {
int id; //参数id号
union {//参数值(整形或者浮点)
float val_float;
int val_int;
};
} aec_online_t;
int aec_cfg_online_init();
int aec_cfg_online_exit();
int aec_cfg_online_update(int root_cmd, void *cfg);
int aec_cfg_online_update_fill(void *cfg, u16 len);
int get_aec_config(u8 *buf, int version);
#endif/*_AUDIO_AEC_ONLINE_H_*/