📄 ilec.h
字号:
/*------------------------------------------------------------------------*
* *
* THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY *
* INFORMATION. IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES: *
* "COPYRIGHT 2001 MIKET DSP SOLUTIONS, ALL RIGHTS RESERVED" *
* *
*-------------------------------------------------------------------------*/
#ifndef ILEC_
#define ILEC_
#include <std.h>
#include <ialg.h>
/*--------------------- public defs ---------------------------------------*/
#define ILEC_FR_SZ (40)
#define ILEC_FR_MS (5)
typedef struct ILEC_Obj {
struct ILEC_Fxns *fxns;
} ILEC_Obj;
typedef struct ILEC_Obj *ILEC_Handle;
/*
* ------- control interface ---------
*
* use it while calling algControl()
*/
/* definition of uControl param of LEC_control(), to be or'ed */
#define ILEC_CMD_ON (0x0000) /* running by default */
#define ILEC_CMD_OFF (0x0001)
#define ILEC_CMD_RESET (0x0002)
#define ILEC_CMD_PRESERVE_ADF (0x0004)
#define ILEC_CMD_ADAPT_OFF (0x0010)
#define ILEC_CMD_POST_OFF (0x0020)
#define ILEC_CMD_NLP_OFF (0x0040)
#define ILEC_CMD_LOOPBACK (0x0100)
#define ILEC_CMD_CFG (0x0200)
#define ILEC_CMD_TONE_ECHO (0x1000)
#define ILEC_CMD_DETECT_HIRCV (0x2000)
#define ILEC_CMD_CLR_HIRCV_DT (0x4000)
/* Configuration of LEC */
/* sErlMin & sClipThr parameters are expressed in 0.1 dB (cB) units */
typedef struct ILEC_tCfg {
Int uControl;
Int sErlMin; /* 0.1 dB per unit, 3.0 -> 30 */
Int sRcvMax; /* max value of Rcv still linear ... */
Int sClipThr; /* DT VAD sensitivity thr in cB */
Int sToneDetectThr; /* ~ 0.05 * 32768 */
Int sToneReleaseThr; /* ~ 0.12 * 32768 */
} ILEC_tCfg;
/*
* ======== ILEC_Params ========
* This structure defines the parameters necessary to create an
* instance of a ILEC object.
*
*/
typedef struct ILEC_Params {
Int size; /* sizeof the whole parameter struct */
ILEC_tCfg *pCfg;
} ILEC_Params;
typedef struct ILEC_Status {
Int size; /* sizeof the whole parameter struct */
ILEC_tCfg *pCfg; /* in: ptr to cfg to update. used if and only if CMD_CFG indicated */
} ILEC_Status;
/*
* ======== ILEC_Fxns ========
* By convention the name of the variable is LEC_MIKET_ILEC, where
* MIKET is the vendor name.
*/
typedef struct ILEC_Fxns {
IALG_Fxns ialg;
/* functions returns report word described above */
Int (*algProcess)(IALG_Handle handle, Int *pRcv, Int *pSnd);
} ILEC_Fxns;
/*--------------------- local defs ----------------------------------------*/
/*--------------------- public vars ---------------------------------------*/
/*--------------------- local vars ----------------------------------------*/
/*--------------------- local functions -----------------------------------*/
/*--------------------- public functions ---------------------------------*/
#endif /* ILEC_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -