⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 igaec.h

📁 TI公司DSP/tms320c55x/tms320c54x系列的声学回声消除代码
💻 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 IGAEC_
#define IGAEC_    


#include <std.h>
#include <ialg.h>


/*--------------------- public defs ---------------------------------------*/ 

#define IGAEC_FR_SZ          (40)
#define IGAEC_FR_MS          (5)

typedef struct IGAEC_Obj {
    struct IGAEC_Fxns *fxns;
} IGAEC_Obj;

typedef struct IGAEC_Obj *IGAEC_Handle;



/*
 *  ------- control interface ---------
 *
 * use it while calling algControl()
 */                          

/*  definition of Cmd param of LEC_control(), to be or'ed      
    0 = run normally (or if _ALL_OFF is clear). 
 */
#define IGAEC_CMD_RESET             (0x0001)
#define IGAEC_CMD_PRESERVE_FLT      (0x0002)
#define IGAEC_CMD_VOLUME           	(0x0004)
#define IGAEC_CMD_CFG               (0x0008)

#define IGAEC_CMD_ALL_OFF           (0x0010)
#define IGAEC_CMD_ADAPT_OFF         (0x0020)
#define IGAEC_CMD_CNL_OFF           (0x0040)
#define IGAEC_CMD_RCV_NSE_OFF       (0x0080)
#define IGAEC_CMD_NLP_OFF           (0x0100)
#define IGAEC_CMD_NSE_RED_OFF       (0x0200)

#define IGAEC_CMD_SND_MUTED        	(0x1000)
#define IGAEC_CMD_LOOPBACK       	(0x2000)
#define IGAEC_CMD_TONE       		(0x4000)


/* Configuration of LEC */
/*  All relevant parameters are expressed in 0.1 dB */
#define IGAEC_DB(x)     ((Int)(x*10))

/*  
    While setting configuration is left to discretion of the
    user, it is recommended to be aware of the consequences.

    The run-time configuration fields include:
    
    */
typedef struct IGAEC_tCfg {
    Int sErlMin;
    Int sDtThr;
    Int sRcvDistThr;
    Int sTCLst;
    Int sTCLdt;
    Int sWhiteThr;
} IGAEC_tCfg;

/*
 *  ======== IGAEC_Params ========
 *  This structure defines the parameters necessary to create an
 *  instance of a MF object.
 *
 */                 
 

typedef struct IGAEC_Params {
    Int size;           /* sizeof the whole parameter struct */
    IGAEC_tCfg *pCfg;
} IGAEC_Params;


typedef struct IGAEC_Status {
    Int size;           /* sizeof the whole parameter struct */
    IGAEC_tCfg *pCfg;   /* in: ptr to new cfg. used if and only if CMD_CFG indicated */
    Int sVolume;        /* extra Rcv volume in 0.1dB units*/
    Int uCmdMask; 		/* what is affected */
} IGAEC_Status;



/*
 *  ======== IGAEC_Fxns ========
 *  By convention the name of the variable is LEC_MIKET_ISBEC, where
 *  MIKET is the vendor name.
 */
typedef struct IGAEC_Fxns {
    IALG_Fxns   ialg;
    /* functions returns report word described above */
    Int         (*algProcess)(IALG_Handle handle, Int *pRcv, Int *pSnd);
} IGAEC_Fxns;

/*--------------------- local defs ----------------------------------------*/ 
/*--------------------- public vars ---------------------------------------*/
/*--------------------- local vars ----------------------------------------*/
/*--------------------- local functions -----------------------------------*/
/*--------------------- public  functions ---------------------------------*/

#endif  /* IGAEC_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -