61 lines
2.0 KiB
C
61 lines
2.0 KiB
C
#ifndef _CVP_COMMON_H_
|
||
#define _CVP_COMMON_H_
|
||
|
||
/*DMS版本定义*/
|
||
#define DMS_GLOBAL_V100 0xB1
|
||
#define DMS_GLOBAL_V200 0xB2
|
||
|
||
/*
|
||
* V200新算法回声消除nlp模式
|
||
* JLSP_NLP_MODE1: 模式1为单独的NLP回声抑制,回声压制会偏过,该模式下NLP模块可以单独开启
|
||
* JLSP_NLP_MODE2: 模式2下回声信号会先经过AEC线性压制,然后进行NLP非线性压制
|
||
* 此模式NLP不能单独打开需要同时打开AEC,使用AEC模块压制不够时,建议开启该模式
|
||
*/
|
||
#define JLSP_NLP_MODE1 0x01 //模式一(默认)
|
||
#define JLSP_NLP_MODE2 0x02 //模式二
|
||
|
||
/*
|
||
* V200新算法风噪降噪模式
|
||
* JLSP_WD_MODE1: 模式1为常规的降风噪模式,风噪残余会偏大些
|
||
* JLSP_WD_MODE2: 模式2为神经网络降风噪,风噪抑制会比较干净,但是会需要多消耗31kb的flash
|
||
*/
|
||
#define JLSP_WD_MODE1 0x01 //常规降噪
|
||
#define JLSP_WD_MODE2 0x02 //nn降风噪,目前该算法启用会多31kflash
|
||
|
||
/*DMS输出选择*/
|
||
typedef enum {
|
||
DMS_OUTPUT_SEL_DEFAULT = 0, /*默认输出:dms处理后的数据*/
|
||
DMS_OUTPUT_SEL_MASTER, /*主mic原始数据*/
|
||
DMS_OUTPUT_SEL_SLAVE, /*副mic原始数据*/
|
||
DMS_OUTPUT_SEL_FBMIC, /*FB mic原始数据*/
|
||
} CVP_OUTPUT_ENUM;
|
||
|
||
/*
|
||
*********************************************************************
|
||
* Audio CVP IOCTL
|
||
* Description: CVP功能配置
|
||
* Arguments : cmd 操作命令
|
||
* value 操作数
|
||
* priv 操作内存地址
|
||
* Return : 0 成功 其他 失败
|
||
* Note(s) : (1)比如动态开关降噪NS模块:
|
||
* aec_dms_ioctl(CVP_NS_SWITCH,1,NULL); //降噪关
|
||
* aec_dms_ioctl(CVP_NS_SWITCH,0,NULL); //降噪开
|
||
*********************************************************************
|
||
*/
|
||
enum {
|
||
CVP_AEC_SWITCH = 1,
|
||
CVP_NLP_SWITCH,
|
||
CVP_NS_SWITCH,
|
||
CVP_AGC_SWITCH,
|
||
CVP_ENC_SWITCH,
|
||
CVP_AGC_MAX_LVL,
|
||
};
|
||
int aec_ioctl(int cmd, int value, void *priv);
|
||
int aec_dms_ioctl(int cmd, int value, void *priv);
|
||
int aec_dms_flexible_ioctl(int cmd, int value, void *priv);
|
||
|
||
|
||
#endif /*_CVP_COMMON_H_*/
|
||
|