Revert "[Feature][T106_eSDK]update from T106-V2.01.01.02P56U06.AP.15.11_CAP.15.11.01 to T106-V2.01.01.02P56U06.AP.16.08_CAP.16.08.01 -- Uboot"

This reverts commit 189d139ed3d8193da1f1c4abfe60b5da374e5435.

Reason for revert: revert 16.08_patch

Change-Id: I732b60e758f02a9b28ae216d456e4ad1bccf4fcd
diff --git a/Uboot/boot/common/src/uboot/arch/arm/lib/Makefile b/Uboot/boot/common/src/uboot/arch/arm/lib/Makefile
index 688bea1..b5625a6 100755
--- a/Uboot/boot/common/src/uboot/arch/arm/lib/Makefile
+++ b/Uboot/boot/common/src/uboot/arch/arm/lib/Makefile
@@ -49,9 +49,9 @@
 SOBJS-$(CONFIG_USE_ARCH_MEMCPY) += memcpy.o
 endif
 #xf.li@2023.04.14 modify for ZXW-25 start
-LYNQ_CONFIG_VERSION = "T106-V2.01.01.02P56U06.AP.16.08_CAP.16.08.01"
+LYNQ_CONFIG_VERSION = "T106-W-V2.01.01.02P56U06.AP.15.05_CAP.15.05"
 CFLAGS += -DLYNQ_VERSION=\"$(LYNQ_CONFIG_VERSION)\"
-LYNQ_CONFIG_COMMITID = "179d1bff319d3731925c0eb4f425f156604a0a62"
+LYNQ_CONFIG_COMMITID = "c33b177c8b861ee957b6c8b0dea003278a3671d6"
 CFLAGS += -DLYNQ_COMMITID=\"$(LYNQ_CONFIG_COMMITID)\"
 #xf.li@2023.04.14 modify for ZXW-25 end
 SRCS	:= $(GLSOBJS:.o=.S) $(GLCOBJS:.o=.c) \
diff --git a/Uboot/boot/common/src/uboot/downloader/cmd_compat_write.c b/Uboot/boot/common/src/uboot/downloader/cmd_compat_write.c
index 4d6ae9d..4d5e339 100755
--- a/Uboot/boot/common/src/uboot/downloader/cmd_compat_write.c
+++ b/Uboot/boot/common/src/uboot/downloader/cmd_compat_write.c
@@ -34,10 +34,9 @@
 /****************************************************************************
 *							Global Function Prototypes
 ****************************************************************************/
-//T_IMG_SIZE img_size[IMG_NUM] = {{"uboot",0,0},{"imagefs",0,0},{"rootfs",0,0},{"caprootfs",0,0},{"oem",0,0}};
-T_IMG_SIZE img_size[IMG_NUM_MAX];
-int img_num = 0;
+T_IMG_SIZE img_size[IMG_NUM] = {{"uboot",0,0},{"imagefs",0,0},{"rootfs",0,0},{"caprootfs",0,0},{"oem",0,0}};
 int flags_partiton_write = 0;
+
 extern int g_iftype;
 extern partition_table_t * g_partition_table_dl;
 /*******************************************************************************
@@ -57,14 +56,11 @@
 {
     partition_entry_t *part = NULL;
     char *par = NULL;
-	char *par_tmp = NULL;
     char ack[64]={0};
 	unsigned int offset = 0;
 	unsigned int size = 0;
 	unsigned int ret = 0;
 	unsigned int i = 0;
-	unsigned int len = 0;
-	unsigned int found = 0;
 	flags_partiton_write = 1;
 	
 	if(argc<4)
@@ -84,55 +80,23 @@
 	}
 
 	/*record image size*/
-	len = strlen(par);
-/* Started by AICoder, pid:q5743g3f62rd9291419e086de0327502c5d710ce */
-	par_tmp = (char *)malloc(len + 1);
-	if (par[len - 1] == '2') {
-		strncpy(par_tmp, par, len - 1);
-		par_tmp[len - 1] = '\0';
-	} else {
-		strcpy(par_tmp, par);
-	}
-/* Ended by AICoder, pid:q5743g3f62rd9291419e086de0327502c5d710ce */
-	
-/* Started by AICoder, pid:ye4dcm700en8c6e14cdf0ac390813e36dc075765 */
-	for(i=0; i<img_num; i++)
+	for(i=0; i<IMG_NUM; i++)
 	{
-	    if(strcmp((char *)img_size[i].name, par_tmp) == 0 && strlen((char *)img_size[i].name) == strlen(par_tmp))
-	    {
-	        found = 1;
-	        if(strcmp(par_tmp,par) == 0)
-	        {
-	            img_size[i].size_a = size;
-	            printf("partition is %s,size_a is 0x%x.\n",par,size);
-	        }
-	        else
-	        {
-	            img_size[i].size_b = size;
-	            printf("partition is %s,size_b is 0x%x.\n",par,size);
-	        }
-	        
-	        break;
-	    }
+		if(memcmp((char *)img_size[i].name , par, strlen(img_size[i].name)) == 0){
+			if(!memcmp(par,"oemdata",7))
+				break;
+			if(strlen(img_size[i].name) == strlen(par))
+			{
+				img_size[i].size_a = size;
+				printf("partition is %s,size_a is 0x%x.\n",par,size);
+			}
+			else
+			{
+				img_size[i].size_b = size;
+				printf("partition is %s,size_b is 0x%x.\n",par,size);
+			}
+		}
 	}  
-	if (!found)
-	{   
-	    strcpy(img_size[img_num].name,par_tmp);
-	    if(strcmp(par_tmp,par) == 0)
-	    {
-	        img_size[img_num].size_a = size;
-	        printf("partition is %s,size_a is 0x%x.\n",par,size);
-	    }
-	    else
-	    {
-	        img_size[img_num].size_b = size;
-	        printf("partition is %s,size_b is 0x%x.\n",par,size);
-	    }
-	    
-	    img_num += 1;
-	}
-	free(par_tmp);
-/* Ended by AICoder, pid:ye4dcm700en8c6e14cdf0ac390813e36dc075765 */
 	
 #if defined (CONFIG_ZX297520V3E_VEHICLE_DC) || defined (CONFIG_ZX297520V3E_VEHICLE_DC_REF)
 	if(g_nor_flag == 1)
diff --git a/Uboot/boot/common/src/uboot/include/partition_table.h b/Uboot/boot/common/src/uboot/include/partition_table.h
index febd365..306a64c 100755
--- a/Uboot/boot/common/src/uboot/include/partition_table.h
+++ b/Uboot/boot/common/src/uboot/include/partition_table.h
@@ -211,7 +211,7 @@
 #define PARTITION_CRC               0x12345678
 #define PARTITION_SIZE              0X1000                  /* ·ÖÇø±íµÄ´óС */
 
-#define IMG_NUM  15
+#define IMG_NUM  5
 
 typedef struct partition_entry {
     unsigned char	part_name[16]; 
diff --git a/Uboot/cp/ps/driver/inc/misc/drvs_voiceprocess.h b/Uboot/cp/ps/driver/inc/misc/drvs_voiceprocess.h
index acceb20..67cc84d 100755
--- a/Uboot/cp/ps/driver/inc/misc/drvs_voiceprocess.h
+++ b/Uboot/cp/ps/driver/inc/misc/drvs_voiceprocess.h
@@ -283,10 +283,6 @@
 	BOOL firstRegZCATFlag; //25

 	T_Hal_EcallData	ecallData;//26

     UINT8 voice_nv_update;//27

-	UINT8 useVoiceBuffer; // 0 not use,1 use

-	UINT8 voiceBufferType; //0 single core, 1 dual core

-

-	

 } T_zDrvVoice_GbVar; //T_zDrvVoice_GbVar

 

 typedef struct

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_config/audioRef_cfg.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_config/audioRef_cfg.c
index 20c1ddc..7489d52 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_config/audioRef_cfg.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_config/audioRef_cfg.c
@@ -25,7 +25,6 @@
 #include "drvs_general.h"

 #include "drvs_i2s.h"

 #include "drvs_voiceprocess.h"

-#include "hal_voiceprocess.h"

 #include "drvs_voice_config.h"

 #include "drvs_i2c.h"

 #include "NvParam_drv.h"

@@ -133,7 +132,7 @@
 

 //#define AUDIO_USE_FIXED_ADDRESS

 

-//#define VP_INOUT_BAK_BUFFER_SIZE 0x30000  // 0x60000

+#define VP_INOUT_BAK_BUFFER_SIZE 0x30000  // 0x60000

 #define VP_INOUT_NOBAK_BUFSIZE  640

 

 /**************************************************************************

@@ -596,8 +595,7 @@
 	//ret = zDrvNand_Read(OS_FLASH_VOICE_DRV_RW_NONFAC_BASE_ADDR,  sizeof(audionvflag), ((UINT8 *)(&audionvflag)));

 	ret = zOss_NvItemRead(OS_FLASH_VOICE_DRV_RW_NONFAC_BASE_ADDR, ((UINT8 *)(&audionvflag)),  sizeof(audionvflag));

 

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, " zDrvVoiceConfig_Init zOss_NvItemRead isVpParamInNv=%d,isUseSlicCodec=%d,isUseVoiceProc=%d,isUseTdm=%d,isUseEcall=%d!\n", audionvflag.isVpParamInNv, audionvflag.isUseSlicCodec,audionvflag.isUseVoiceProc,audionvflag.isUseTdm,audionvflag.isUseEcall);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, " zDrvVoiceConfig_Init zOss_NvItemRead isVpParamInNv=%d,isUseSlicCodec=%d!\n", audionvflag.isVpParamInNv, audionvflag.isUseSlicCodec);

 	//hal_TestTopI2sConfig();

 

 	if (ret != DRV_SUCCESS)

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_lib/amr/lib/armv7-a/GCC/amr.a b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_lib/amr/lib/armv7-a/GCC/amr.a
index 82a1fc3..01399c1 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_lib/amr/lib/armv7-a/GCC/amr.a
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audio_lib/amr/lib/armv7-a/GCC/amr.a
Binary files differ
diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/hal_audextintf.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/hal_audextintf.c
index db57346..dff7364 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/hal_audextintf.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/hal_audextintf.c
@@ -193,40 +193,6 @@
 {

 	return g_voiceVar.muteEn;

 }

-

-int zDrvVp_SetVoiceProc_Wrap(int val)

-{

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: val=%d !\n",__func__,val);

-

-	g_voiceVar.audio_ctrlFlag.isUseVoiceProc = val;

-	return DRV_SUCCESS;

-}

-

-int zDrvVp_GetVoiceProc_Wrap(void)

-{

-	return g_voiceVar.audio_ctrlFlag.isUseVoiceProc;

-}

-

-int zDrvVp_SetVoiceBuffer_Wrap(int en,int type)

-{

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: en=%d,type=%d !\n",__func__,en,type);

-

-	g_voiceVar.useVoiceBuffer = en;

-	g_voiceVar.voiceBufferType = type;

-	return DRV_SUCCESS;

-}

-

-void zDrvVp_GetVoiceBuffer_Wrap(int *en,int *type)

-{

-    if((en!=NULL)&&(type!=NULL)){

-		*en = g_voiceVar.useVoiceBuffer;

-		*type = g_voiceVar.voiceBufferType;

-		

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: en=%d,type=%d !\n",__func__,*type,*en);

-    }

-}

-

-

 SINT32 zDrvVp_SetRxMute_Wrap(int enable)

 {

 	return zDrvVp_SetRxMute(enable, VOICE_DOWNLINK);

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/voice_procintf.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/voice_procintf.c
index 5146753..2f0e803 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/voice_procintf.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/audiointf/voice_procintf.c
@@ -15,10 +15,6 @@
 * 	                                           Include files
 ****************************************************************************/
 #include "drvs_general.h"
-
-#include "drvs_volte.h"
-#include "drvs_voiceprocess.h"
-
 #include "drvs_ramlog.h"
 #include <oss_clib.h>
 #include <oss_kernel.h>
@@ -77,12 +73,8 @@
 
 	g_voiceVar.isUseSlicCodec = g_voiceVar.audio_ctrlFlag.isUseSlicCodec;
 	g_voiceVar.g_isUseTdm = g_voiceVar.audio_ctrlFlag.isUseTdm;
-	
-	g_voiceVar.useVoiceBuffer = g_voiceVar.audio_ctrlFlag.isUseVoiceBuffer; // 0 not use,1 use
-	g_voiceVar.voiceBufferType = g_voiceVar.audio_ctrlFlag.selVoiceBufferType;//0 single core, 1 dual core
 
-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, " VoiceProc_InitNvParam isUseVoiceProc=%d,isUseSlicCodec=%d,isUseTdm=%d,useVoiceBuffer=%d,voiceBufferType=%d!\n", g_voiceVar.audio_ctrlFlag.isUseVoiceProc, \
-		                                  g_voiceVar.isUseSlicCodec, g_voiceVar.audio_ctrlFlag.isUseTdm,g_voiceVar.useVoiceBuffer,g_voiceVar.voiceBufferType);
+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, " VoiceProc_InitNvParam isUseVoiceProc=%d,isUseSlicCodec=%d,isUseTdm=%d!\n", g_voiceVar.audio_ctrlFlag.isUseVoiceProc, g_voiceVar.isUseSlicCodec, g_voiceVar.audio_ctrlFlag.isUseTdm);
 	if (g_voiceVar.audio_ctrlFlag.isUseVoiceProc == 1)
 	{
 #ifdef _USE_NXP_AUD
diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/i2s/hal_i2s.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/i2s/hal_i2s.c
index 5ea7c1d..983a92a 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/i2s/hal_i2s.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/i2s/hal_i2s.c
@@ -4322,37 +4322,6 @@
 */

 VOID vp_SetTopI2sConfig(VOID)

 {

-	

-

-UINT32 AmrRegBit = 0;

-

-if (g_voiceVar.useVoiceBuffer == 1){ 

-

-

-

-	/* inter loop */

-	AmrRegBit = ARM_I2S_LOOP_CFG;

-

-	AmrRegBit &= 0xfffffe07;

-	AmrRegBit |= 0x000000a8; /* 0x000000a8 loop dsp afe(loop i2s1)--arm i2s2(loop i2s2) 0x00000150 loop dsp arm(loop i2s1)--afe i2s2(loop i2s2)*/

-

-	ARM_I2S_LOOP_CFG = AmrRegBit;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_SetTopI2sConfig ARM_I2S_LOOP_CFG=0x%x\n", ARM_I2S_LOOP_CFG);

-}

-#ifdef CONFIG_VOICE_BUFFER_DRV  

-	/* inter loop */

-	AmrRegBit = ARM_I2S_LOOP_CFG;

-

-	AmrRegBit &= 0xfffffe07;

-	AmrRegBit |= 0x000000a8; /* 0x000000a8 loop dsp afe(loop i2s1)--arm i2s2(loop i2s2) 0x00000150 loop dsp arm(loop i2s1)--afe i2s2(loop i2s2)*/

-

-	ARM_I2S_LOOP_CFG = AmrRegBit;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_SetTopI2sConfig ARM_I2S_LOOP_CFG=0x%x\n", ARM_I2S_LOOP_CFG);

-

-#endif

-

 #if 0

 	UINT32 AmrRegBit = 0;

 	int ret;

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voicebuffer.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voicebuffer.h
deleted file mode 100755
index a9fbd34..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voicebuffer.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************

- * Copyright (C) 2007, ZTE Corporation.

- *

- * File Name:    hal_voicebuffer.h

- * File Mark:    

-* Description:  Provide voicebuffer hal function prototype declaration and type declaration.

- * Others:        

- * Version:       V0.5

- * Author:        xxq

- * Date:          2024-07-11

- * History 1:      

- *     Date: 

- *     Version:

- *     Author: 

- *     Modification:  add mute/read/write/loopback.

- * History 2: 

-  ********************************************************************************/

-

-#ifndef _HAL_VOICEBUFFER_H

-#define _HAL_VOICEBUFFER_H

-

-

-/****************************************************************************

-*                                             Include files

-****************************************************************************/

-

-

-/****************************************************************************

-*                                             Macros

-****************************************************************************/

-#define VP_BUF_LENGTH  0x7FF80 //0xFFD80   //0x7FE40  //0x4df80// (0.5M  0x80000)

-#define VP_FRAME_BUFFER_SIZE 320 //20ms 800KHZ

-#define VP_I2S_BUFFER_SIZE 320

-#define VOICE_SYNC_TIMEOUT_TIME 100

-	

-	//#define VP_INOUT_BAK_BUFFER_SIZE 0x30000	// 0x60000

-#define VP_INOUT_NOBAK_BUFSIZE  640

-#define VB_MAX_INT	     0x7fffffff

-#define VB_MIN_INT        0 //(0-2<<31)//0x80000000

-	

-#define VB_INT_OVERFLOW(x) if((x < VB_MIN_INT)||(x > VB_MAX_INT))  x = 0;

-

-#define RPMSG_CAP_ID 1

-

-#define MAX_BUF_SIZE	     640

-#define MAX_BUF_NUM        3

-

-/****************************************************************************

-*                                             Types

-****************************************************************************/

-

-

-

-enum{

-	UP_LINK,

-	DOWN_LINK	

-};

-

-struct voice_ring_buffer {

-	volatile uint read_pos;

-	volatile uint write_pos;

-	volatile char data[];

-

-};

-

-

-/****************************************************************************

-*                                             Constants

-****************************************************************************/

-

-/****************************************************************************

-*                                             Global  Variables

-****************************************************************************/

-

-/****************************************************************************

-*                                             Function Prototypes

-****************************************************************************/

-

-SINT32 vp_Open_Vbuffer(void);

-

-SINT32 vp_Close_Vbuffer(void);

-

-SINT32 vp_VoiceI2sStart_Vbuffer(VOID);

-

-VOID vp_VoiceI2sStop_Vbuffer(VOID);

-

-SINT32 zDrvVp_VoiceWorkStop_Vbuffer(VOID);

-

-SINT32 vp_VolteReadStart_Vbuffer(VOID);

-//whole replace 

-SINT32 vp_VolteReadStop_Vbuffer(VOID);

-

-SINT32 vp_VolteWriteStart_Vbuffer(VOID);

-//whole replace

-SINT32 vp_VolteWriteStop_Vbuffer(VOID);

-

-SINT32 vp_WriteDataToCodec_Vbuffer(UINT8 *pBuf, UINT32 count);

-

-SINT32 vp_ReadDataFromCodec_Vbuffer(UINT8 *pBuf, UINT32 count);

-

-SINT32 vp_CreateThreadSemaph_Vbuffer(VOID);

-

-

-

-

-#endif/*_HAL_VOICEBUFFER_H*/

-

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voiceprocess.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voiceprocess.h
index 810e12c..371297d 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voiceprocess.h
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/include/hal_voiceprocess.h
@@ -23,42 +23,14 @@
  *                                                 Include files                                	    *

  **************************************************************************/

 

-

-/****************************************************************************

-* 	                                           Local Types

-****************************************************************************/

-

-typedef enum

-{

-	VBUF_SEM = 0,//voice buffer

-	ECALL_SEM,		

-	SEM_MAX

-} T_Sem_Owner;

-

-typedef enum

-{

-	DIR_RX,

-	DIR_TX, 	

-	DIR_ALL,

-	DIR_MAX

-} T_Data_Dir_Type;

-

-

 /**************************************************************************

  *                                                 Macro                                    	            *

  **************************************************************************/

-#define VP_INOUT_BAK_BUFFER_SIZE 0x30000  // 0x60000

-

-//#define TEST_WHITE_NOISE

-

-//#define  VB_DATA_LOSS_TEST

-

-

 #if 0

 #define VOICE_TONE_MIXER_FUNCTION 

 //#define TEST_WHITE_NOISE

 

-#endif

+

 

 /****************************************************************************

 * 	                                        Global Constants                                        *

@@ -75,7 +47,6 @@
 /****************************************************************************

 * 	                                         Function Prototypes                                    *

 ****************************************************************************/

-#if 0

 typedef enum

 {

     VP_I2S_IDLE = 0,

@@ -89,13 +60,6 @@
 /**************************************************************************

  *                              Function Prototypes                                    *

  **************************************************************************/

-#ifdef ECALL_SUPPORT

-

-

-SINT32 update_ecall_state(T_Data_Dir_Type dir);

-

-

-#endif

 

 

 

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.c
deleted file mode 100755
index 3dfed2e..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.c
+++ /dev/null
@@ -1,1099 +0,0 @@
-/*******************************************************************************

- * Copyright (C) 2007, ZTE Corporation.

- *

- * File Name:

- * File Mark:

- * Description:

- * Others:

- * Version:

- * Author:        lvwenhua

- * Date:          2011-8-24

- * History 1:

- *     Date: 2016-2-16

- *     Version:

- *     Author:xuxinqiang

- *     Modification: edit for union version

- * History 2:

-  ********************************************************************************/

-

-/****************************************************************************

-* 	                                           Include files

-****************************************************************************/

-#include "drvs_general.h"

-#include "NvParam_drv.h"

-

-#ifdef _OS_TOS

-#include "./tos/LVVE.h"

-#include "./tos/PARAM_Default.h"

-#include "./tos/nxp_DrvNvData.h"

-

-#elif defined _OS_LINUX

-#include "./uclinux/LVVE.h"

-#include "./uclinux/PARAM_Default.h"

-#include "./uclinux/nxp_DrvNvData.h"

-

-#else

-#include "LVVE.h"

-#include "PARAM_Default.h"

-#include "nxp_DrvNvData.h"

-#endif

-

-#include "drvs_voiceprocess.h"

-#include "drvs_ramlog.h"

-

-#include "hal_audiointf.h"

-#include "RWNvConfig.h"

-

-/****************************************************************************

-* 	                                           Local Macros

-****************************************************************************/

-#define MAX_BLK_SIZE                400                  /* Maximum possible block size */

-#define LVVE_NUM_OF_SAMPLES        160

-#define VP_PARAM_IS_IN_NV        1

-

-/****************************************************************************

-* 	                                          Global Constants

-****************************************************************************/

-//extern BOOL g_vpMuteEn;

-//extern UINT8 g_voiceInGsmTdMode;

-//extern UINT8 g_voiceInVolteMode;

-//extern UINT8 g_volteIsWb;

-//extern UINT8 g_isUseSlicCodec;

-extern T_zDrvVoice_GbVar g_voiceVar;

-static BOOL g_nxpIsOpen = FALSE;

-

-

-/****************************************************************************

-* 	                                          Global Variables

-****************************************************************************/

-LVM_INT32   InBuffer16_Tx_FE[MAX_BLK_SIZE];                  /* Stereo, 16-bit aligned input buffer */

-LVM_INT16   pNoiseData[4];

-

-LVM_MemoryTable_st          MemoryTable_Tx = {0};                             /* Module memory table */

-LVM_MemoryTable_st          MemoryTable_Rx = {0};                             /* Module memory table */

-LVVE_Tx_Handle_t            hInstance_Tx = LVM_NULL;                               /* Module instance handle */

-LVVE_Rx_Handle_t            hInstance_Rx = LVM_NULL;                               /* Module instance handle */

-

-#define NUM_VOL_RX                   (5)                  /* Number of Rx volumes */

-

-//LVM_CHAR                    LVVE_Tx_Preset_Buffer[LVVE_TX_PRESET_LENGTH]; /* Byte buffer */

-LVVE_Tx_Preset_t            LVVE_Tx_Preset ; /* Preset buffer */

-//LVM_CHAR                    LVVE_Rx_Preset_Buffer[NUM_VOL_RX*LVVE_RX_PRESET_LENGTH]; /* Byte buffer */

-LVVE_Rx_Preset_t            LVVE_Rx_Preset ; /* Preset buffer */

-//LVM_CHAR                    LVVE_Tx_Preset_Buffer_Volte[LVVE_TX_PRESET_LENGTH]; /* Byte buffer */

-//LVM_CHAR                    LVVE_Rx_Preset_Buffer_Volte[NUM_VOL_RX*LVVE_RX_PRESET_LENGTH]; /* Byte buffer */

-

-T_Audio_NvParam g_audioNvParam = {0};

-

-static LVM_UINT32	NumBytesReadRx;                               /* Number of bytes in the preset file  RX*/

-static LVM_UINT32	NumBytesReadTx;                               /* Number of bytes in the preset file  TX*/

-

-static BOOL isFirstTxProcessErr = TRUE;

-static BOOL isFirstRxProcessErr = TRUE;

-/****************************************************************************

-* 	                                          Global Function Prototypes

-****************************************************************************/

-//T_ZDrv_VoiceOutputPath  s_vpPathout;

-//T_ZDrvVoice_OutputVolLevel  s_vpVolout;

-

-UINT32 zOss_NvItemRead(UINT32 NvItemID, UINT8 *NvItemData, UINT32 NvItemLen);

-UINT32 zOss_NvItemWrite(UINT32 NvItemID, UINT8 *NvItemData, UINT32 NvItemLen);

-

-/****************************************************************************

-* 	                                          Function Definitions

-****************************************************************************/

-SINT32 Vp_NxpInitNvParam(VOID)

-{

-	SINT32 ret = DRV_SUCCESS;

-	SINT32 i = 0;

-

-	LVVE_VersionInfo            pVersion;                                   /* version information */

-	LVVE_GetVersionInfo(&pVersion);

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "nxp Version  %s\n", pVersion.VersionNumber);

-#if 0

-	ret = zOss_NvItemRead(OS_FLASH_VOICE_DRV_RW_NONFAC_BASE_ADDR, ((UINT8 *)(&g_audioNvParam.audio_ctrlFlag)),  sizeof(g_audioNvParam.audio_ctrlFlag));

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam voice  flag baseAdd=0x%x, ret =%d ,isVpParamInNv= %d \n", (OS_FLASH_VOICE_DRV_RW_NONFAC_BASE_ADDR), \

-	                  ret, g_audioNvParam.audio_ctrlFlag.isVpParamInNv);

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam voiceflag isVpParamInNv=%d,isUseSlicCodec=%d,isUseVoiceProc=%d,isUseCodecDsp=%d,isUseNvWrite=%d \n", \

-	                  g_audioNvParam.audio_ctrlFlag.isVpParamInNv, g_audioNvParam.audio_ctrlFlag.isUseSlicCodec, g_audioNvParam.audio_ctrlFlag.isUseVoiceProc, \

-	                  g_audioNvParam.audio_ctrlFlag.isUseCodecDsp, g_audioNvParam.audio_ctrlFlag.isUseNvWrite);

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam the g_audioNvParam size=%d,audio_ctrlFlag size=%d\n", \

-	                  sizeof(g_audioNvParam), sizeof(g_audioNvParam.audio_ctrlFlag));

-

-	g_voiceVar.audio_ctrlFlag = g_audioNvParam.audio_ctrlFlag;

-	g_voiceVar.isUseSlicCodec = g_audioNvParam.audio_ctrlFlag.isUseSlicCodec;

-	g_voiceVar.g_isUseTdm = g_audioNvParam.audio_ctrlFlag.isUseTdm;

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, " Vp_NxpInitNvParam g_voiceVar.isUseSlicCodec=%d, g_voiceVar.g_isUseTdm=%d!\n", g_voiceVar.isUseSlicCodec, g_voiceVar.g_isUseTdm);

-#endif

-

-	g_audioNvParam.audio_ctrlFlag = g_voiceVar.audio_ctrlFlag;

-#if 0

-	if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-	{

-		ret = zOss_NvItemRead(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR, ((UINT8 *)(&g_audioNvParam.vpNxpParamFile)),  sizeof(g_audioNvParam.vpNxpParamFile));

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam Read audio nv param base add=0x%x,vpNxpParamFile size=%d \n", \

-		                  (OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR), sizeof(g_audioNvParam.vpNxpParamFile));

-

-	}

-	else

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam Set all path to the default param, txbuffer size=%d, rxbuffer size=%d \n", sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool), sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool));

-		// Vp_Nxp_Param_File.LVVE_Tx_File_Buffer=LVVE_Tx_Preset_Buffer_Voice_Tool;

-		//Vp_Nxp_Param_File.LVVE_Rx_File_Buffer=LVVE_Rx_Preset_Buffer_Voice_Tool;

-		for (i = 0; i < AUDIO_MAX_VP_PATH; i++)

-		{

-			zOss_Memcpy(g_audioNvParam.vpNxpParamFile.vpNxpPathParam[i].nxpTxFileBuffer, LVVE_Tx_Preset_Buffer_Voice_Tool, sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool));

-			zOss_Memcpy(g_audioNvParam.vpNxpParamFile.vpNxpPathParam[i].nxpRxFileBuffer, LVVE_Rx_Preset_Buffer_Voice_Tool, sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool));

-		}

-		zOss_Memcpy(g_audioNvParam.vpNxpParamFile.nxpTxNbMuteBuffer, LVVE_Tx_Mute_File_Buffer, sizeof(LVVE_Tx_Mute_File_Buffer));

-		zOss_Memcpy(g_audioNvParam.vpNxpParamFile.nxpTxWbMuteBuffer, LVVE_Tx_Wb_Mute_File_Buffer, sizeof(LVVE_Tx_Wb_Mute_File_Buffer));

-	}

-#endif

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam is over \n");

-

-	return ret;

-}

-

-SINT32 Vp_NxpOpen(UINT32 fs)

-{

-

-	LVVE_Tx_InstanceParams_st   InstanceParams_Tx;                          /* Instance parameters */

-	LVVE_Rx_InstanceParams_st   InstanceParams_Rx;                          /* Instance parameters */

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-	LVM_INT32                   i, ret = 0;                                          /* Index variable */

-

-	if (g_nxpIsOpen == TRUE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "nxp already opened!  \n");

-		return DRV_SUCCESS;

-	}

-

-	if (fs == 8000)

-	{

-

-		InstanceParams_Rx.SampleRate    = LVM_FS_8000;

-		InstanceParams_Rx.EQ_InstParams.EQ_MaxLength = LVVE_MAX_EQ_LENGTH_NB;

-		InstanceParams_Tx.SampleRate    = LVM_FS_8000;

-		InstanceParams_Tx.MaxBulkDelay  = LVVE_MAX_BULK_DELAY;

-		InstanceParams_Tx.EQ_InstParams.EQ_MaxLength = LVVE_MAX_EQ_LENGTH_NB;

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpOpen confg NB param!  \n", fs);

-	}

-	else if (fs == 16000)

-	{

-		InstanceParams_Rx.SampleRate    =  LVM_FS_16000;

-		InstanceParams_Rx.EQ_InstParams.EQ_MaxLength =  LVVE_MAX_EQ_LENGTH_WB;

-		InstanceParams_Tx.SampleRate    =  LVM_FS_16000;

-		InstanceParams_Tx.MaxBulkDelay  =  LVVE_MAX_BULK_DELAY;

-		InstanceParams_Tx.EQ_InstParams.EQ_MaxLength =  LVVE_MAX_EQ_LENGTH_WB;

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpOpen confg WB param !  \n", fs);

-	}

-	else

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpOpen nxp the fs=%d not support!  \n", fs);

-		return DRV_ERROR;

-	}

-

-	/******************************************************************************

-	    Allocate memory

-	*******************************************************************************/

-	/*

-	 * Get the memory requirements for the Tx Module

-	 */

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "before LVVE_Tx_GetMemoryTable\n");

-

-	LVVE_Status = LVVE_Tx_GetMemoryTable(LVM_NULL,

-	                                     &MemoryTable_Tx,

-	                                     &InstanceParams_Tx);

-

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - null pointer error returned by LVVE_Tx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - out of range error returned by LVVE_Tx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-

-	/*

-	 * Allocate the memory for the Tx module

-	 */

-	for (i = 0; i < LVM_NR_MEMORY_REGIONS; i++)

-	{

-		if (MemoryTable_Tx.Region[i].Size != 0)

-		{

-			MemoryTable_Tx.Region[i].pBaseAddress = zOss_Malloc(MemoryTable_Tx.Region[i].Size);

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Nxp tx malloc size = %d", MemoryTable_Tx.Region[i].Size);

-

-			if (MemoryTable_Tx.Region[i].pBaseAddress == LVM_NULL)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Failed to allocate %d bytes for region %d\n", (LVM_INT16)MemoryTable_Tx.Region[i].Size, (LVM_INT16)i);

-			}

-		}

-

-	}

-

-	/*

-	 * Get the memory requirements for the Rx Module

-	 */

-

-	LVVE_Status = LVVE_Rx_GetMemoryTable(LVM_NULL,

-	                                     &MemoryTable_Rx,

-	                                     &InstanceParams_Rx);

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - null pointer error returned by LVVE_Rx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - out of range error returned by LVVE_Rx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-

-	/*

-	 * Allocate the memory for the Rx module

-	 */

-	for (i = 0; i < LVM_NR_MEMORY_REGIONS; i++)

-	{

-		if (MemoryTable_Rx.Region[i].Size != 0)

-		{

-			MemoryTable_Rx.Region[i].pBaseAddress = zOss_Malloc(MemoryTable_Rx.Region[i].Size);

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Nxp rx malloc size = %d\n", MemoryTable_Rx.Region[i].Size);

-

-			if (MemoryTable_Rx.Region[i].pBaseAddress == LVM_NULL)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Failed to allocate %d bytes for region %d\n", (LVM_INT16)MemoryTable_Rx.Region[i].Size, (LVM_INT16)i);

-			}

-		}

-	}

-

-	/*

-	 * Allocate the memory for the noise data buffer (2*LVVE_NUM_OF_SAMPLES)

-	 */

-

-	hInstance_Tx = LVM_NULL;                                            /* Initialise to NULL */

-	LVVE_Status = LVVE_Tx_GetInstanceHandle(&hInstance_Tx,              /* Init sets the instance handle */

-	                                        &MemoryTable_Tx,

-	                                        &InstanceParams_Tx);

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "LVVE_Tx_GetInstanceHandle LVVE_Status=%d\n", LVVE_Status);

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - null pointer error returned by LVVE_Tx_GetInstanceHandle\n");

-		return DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - out of range error returned by LVVE_Tx_GetInstanceHandle\n");

-		return DRV_ERROR;

-	}

-

-	hInstance_Rx = LVM_NULL;                                            /* Initialise to NULL */

-	LVVE_Status = LVVE_Rx_GetInstanceHandle(&hInstance_Rx,              /* Init sets the instance handle */

-	                                        &MemoryTable_Rx,

-	                                        &InstanceParams_Rx);

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "LVVE_Rx_GetInstanceHandle LVVE_Status=%d\n", LVVE_Status);

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - null pointer error returned by LVVE_Rx_GetInstanceHandle\n");

-		return DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Parameter error - out of range error returned by LVVE_Rx_GetInstanceHandle\n");

-		return DRV_ERROR;

-	}

-	LVM_UINT32 nxpParamSize = 0, nxpParamOffset = 0;

-

-	nxpParamSize = 4 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-

-	g_audioNvParam.s_nxpPathParam = zOss_Malloc(nxpParamSize);

-	if (g_audioNvParam.s_nxpPathParam == NULL)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Failed to allocate g_audioNvParam.s_nxpPathParam\n");

-		return DRV_ERROR;

-	}

-

-	g_audioNvParam.s_nxpTxNbMuteParam = zOss_Malloc(2 * LVWM_TX_FILE_SIZE);

-	if (g_audioNvParam.s_nxpTxNbMuteParam == NULL)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Failed to allocate g_audioNvParam.s_nxpTxNbMuteParam\n");

-		return DRV_ERROR;

-	}

-	g_audioNvParam.s_nxpTxWbMuteParam = g_audioNvParam.s_nxpTxNbMuteParam + LVWM_TX_FILE_SIZE;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpOpen s_nxpPathParam=%p,s_nxpTxNbMuteParam=%p\n", g_audioNvParam.s_nxpPathParam, g_audioNvParam.s_nxpTxNbMuteParam);

-	if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-	{

-		if (g_voiceVar.voiceMode == VOICE_GSM_MODE)

-		{

-			nxpParamOffset = 0;

-		}

-		else if ((g_voiceVar.voiceMode == VOICE_WCDMA_MODE) || (g_voiceVar.voiceMode == VOICE_TD_MODE))

-		{

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				nxpParamOffset = nxpParamSize;

-			}

-			else

-			{

-				nxpParamOffset = 2 * nxpParamSize;

-			}

-		}

-		else if (g_voiceVar.voiceMode == VOICE_LTE_MODE)

-		{

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				nxpParamOffset = 3 * nxpParamSize;

-			}

-			else

-			{

-				nxpParamOffset = 4 * nxpParamSize;

-			}

-		}

-

-		ret = zOss_NvItemRead(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nxpParamOffset, g_audioNvParam.s_nxpPathParam,  nxpParamSize);

-

-		nxpParamOffset = 5 * nxpParamSize;

-		ret = zOss_NvItemRead(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nxpParamOffset, g_audioNvParam.s_nxpTxNbMuteParam,  2 * LVWM_TX_FILE_SIZE);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam Read audio nv param base add=0x%x,vpNxpParamFile size=%d \n", \

-		                  (OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nxpParamOffset), nxpParamSize);

-

-	}

-	else

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpInitNvParam Set all path to the default param, txbuffer size=%d, rxbuffer size=%d \n", sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool), sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool));

-		// Vp_Nxp_Param_File.LVVE_Tx_File_Buffer=LVVE_Tx_Preset_Buffer_Voice_Tool;

-		//Vp_Nxp_Param_File.LVVE_Rx_File_Buffer=LVVE_Rx_Preset_Buffer_Voice_Tool;

-		for (i = 0; i < 4; i++)

-		{

-			zOss_Memcpy(g_audioNvParam.s_nxpPathParam + i * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE), LVVE_Tx_Preset_Buffer_Voice_Tool, sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool));

-			zOss_Memcpy(g_audioNvParam.s_nxpPathParam + LVWM_TX_FILE_SIZE + i * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE), LVVE_Rx_Preset_Buffer_Voice_Tool, sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool));

-		}

-		zOss_Memcpy(g_audioNvParam.s_nxpTxNbMuteParam, LVVE_Tx_Mute_File_Buffer, sizeof(LVVE_Tx_Mute_File_Buffer));

-		zOss_Memcpy(g_audioNvParam.s_nxpTxWbMuteParam, LVVE_Tx_Wb_Mute_File_Buffer, sizeof(LVVE_Tx_Wb_Mute_File_Buffer));

-	}

-	isFirstTxProcessErr = TRUE;

-	isFirstRxProcessErr = TRUE;

-	g_nxpIsOpen = TRUE;

-

-	return DRV_SUCCESS;

-}

-

-SINT32 Vp_NxpClose(VOID)

-{

-

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-	LVM_INT32                   i;                                          /* Index variable */

-

-	LVVE_Status = LVVE_Tx_GetMemoryTable(hInstance_Tx,

-	                                     &MemoryTable_Tx,

-	                                     LVM_NULL);

-

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpClose Parameter error - null pointer error returned by LVVE_Tx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpClose Parameter error - out of range error returned by LVVE_Tx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-

-	/* For each region */

-	for (i = 0; i < LVM_NR_MEMORY_REGIONS; i++)

-	{

-		if ((MemoryTable_Tx.Region[i].Size != 0) && (MemoryTable_Tx.Region[i].pBaseAddress != LVM_NULL))

-		{

-			zOss_Free(MemoryTable_Tx.Region[i].pBaseAddress);

-			MemoryTable_Tx.Region[i].pBaseAddress = LVM_NULL;

-		}

-	}

-

-	LVVE_Status = LVVE_Rx_GetMemoryTable(hInstance_Rx,

-	                                     &MemoryTable_Rx,

-	                                     LVM_NULL);

-

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpClose Parameter error - null pointer error returned by LVVE_Rx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-

-	if (LVVE_Status == LVVE_OUTOFRANGE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpClose Parameter error - out of range error returned by LVVE_Rx_GetMemoryTable\n");

-		return DRV_ERROR;

-	}

-

-	/* For each region */

-	for (i = 0; i < LVM_NR_MEMORY_REGIONS; i++)

-	{

-		if ((MemoryTable_Rx.Region[i].Size != 0) && (MemoryTable_Rx.Region[i].pBaseAddress != LVM_NULL))

-		{

-			zOss_Free(MemoryTable_Rx.Region[i].pBaseAddress);

-			MemoryTable_Rx.Region[i].pBaseAddress = LVM_NULL;

-		}

-	}

-

-	if (g_audioNvParam.s_nxpPathParam != NULL)

-	{

-		zOss_Free(g_audioNvParam.s_nxpPathParam);

-		g_audioNvParam.s_nxpPathParam = NULL;

-	}

-	if (g_audioNvParam.s_nxpTxNbMuteParam != NULL)

-	{

-		zOss_Free(g_audioNvParam.s_nxpTxNbMuteParam);

-		g_audioNvParam.s_nxpTxNbMuteParam = NULL;

-	}

-

-	hInstance_Tx = LVM_NULL;

-	hInstance_Rx = LVM_NULL;

-	g_nxpIsOpen = FALSE;

-

-	//zOss_Free(pNoiseData);

-

-//   zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL,"Vp_NxpClose success\n");

-	return DRV_SUCCESS;

-}

-

-SINT32 Vp_NxpGetParam(T_ZDrvVoice_MODE voiceMode, T_ZDrv_VpPath path)

-{

-	//add by zhanglixia

-	//UINT32  ret;//xiu gai chu

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam ######get NXP parameter start####### voiceMode=%d,path=%d \n", voiceMode, path);

-	UINT32 pathTxOffset, pathRxOffset;

-	/************************************************************************************/

-	/* Set the Voice Engine Parameter values                                            */

-	/************************************************************************************/

-	/*

-	* Read the Rx preset file and send the bytes to the Rx Module

-	*/

-

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam, nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-	

-	/*klocwork 3  INVARIANT_CONDITION.UNREACH  MAX_VP_PATH¸ÄΪVP_PATH_BLUETOOTH ºÍɾ³ý (path<0)*/

-	if (path > VP_PATH_BLUETOOTH) 

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam the path error\n");

-		return DRV_ERROR;

-	}

-

-	if (g_audioNvParam.audio_ctrlFlag.isUseVoiceProc != 1)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam error g_audioNvParam.audio_ctrlFlag.isUseVoiceProc != 1 \n");

-		return DRV_ERROR;

-	}

-

-	pathTxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-	pathRxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE) + LVWM_TX_FILE_SIZE;

-

-	if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-	{

-		LVVE_Tx_Preset = (LVM_CHAR*)g_audioNvParam.s_nxpPathParam + pathTxOffset ;

-		LVVE_Rx_Preset = (LVM_CHAR*)g_audioNvParam.s_nxpPathParam + pathRxOffset ;

-

-		NumBytesReadTx = LVWM_TX_FILE_SIZE;

-		NumBytesReadRx = LVWM_RX_FILE_SIZE;

-	}

-	else

-	{

-		LVVE_Rx_Preset = LVVE_Rx_Preset_Buffer_Voice_Tool;

-		LVVE_Tx_Preset = LVVE_Tx_Preset_Buffer_Voice_Tool;

-

-		NumBytesReadTx = sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool);

-		NumBytesReadRx =  sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool);

-

-	}

-

-	if (g_voiceVar.muteEn == TRUE)

-	{

-		if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-		{

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam set nb mute config !\r\n");

-				LVVE_Tx_Preset = g_audioNvParam.s_nxpTxNbMuteParam;//xiu gai chu tong shang

-				NumBytesReadTx = LVWM_TX_FILE_SIZE;

-			}

-			else

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam set wb mute config !\r\n");

-				LVVE_Tx_Preset = g_audioNvParam.s_nxpTxWbMuteParam;//xiu gai chu tong shang

-				NumBytesReadTx = LVWM_TX_FILE_SIZE;

-			}

-		}

-		else

-		{

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam set nb mute config !\r\n");

-				LVVE_Tx_Preset = LVVE_Tx_Mute_File_Buffer;

-				NumBytesReadTx = sizeof(LVVE_Tx_Mute_File_Buffer);

-			}

-			else

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam set wb mute config !\r\n");

-				LVVE_Tx_Preset = LVVE_Tx_Wb_Mute_File_Buffer;

-				NumBytesReadTx = sizeof(LVVE_Tx_Wb_Mute_File_Buffer);

-

-			}

-		}

-	}

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParam NumBytesReadRx=%d NumBytesReadTx= %d\n ", NumBytesReadRx , NumBytesReadTx);

-	/*klocwork 3  INVARIANT_CONDITION.UNREACH   delete if*/

-    /*

-	if ((NumBytesReadRx == LVM_NULL) || (NumBytesReadTx == LVM_NULL))

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam NXP read para is null !\r\n");

-		return DRV_ERROR;

-	}*/

-	return DRV_SUCCESS;

-

-}

-

-SINT32 Vp_NxpSetParam(T_ZDrv_VpPath path, T_ZDrv_VpVol volume, BOOL isLoop)

-{

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-	LVM_UINT16                  VolumeIndex;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam ######set NXP parameter start#######");

-	/************************************************************************************/

-	/* Set the Voice Engine Parameter values                                            */

-	/************************************************************************************/

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam, nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	/*klocwork 3  INVARIANT_CONDITION.UNREACH  MAX_VP_PATH¸ÄΪVP_PATH_BLUETOOTH ºÍɾ³ý (path<0)*/

-	if (path > VP_PATH_BLUETOOTH) 

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam the path error\n");

-		return DRV_ERROR;

-	}

-	VolumeIndex = volume; /* Max Rx volume */

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam VolumeIndex  is %d\n", VolumeIndex);

-

-	if ((hInstance_Rx == NULL) || (LVVE_Rx_Preset == NULL) || (hInstance_Tx == NULL) || (LVVE_Tx_Preset == NULL))

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam, the input parameter is NULL\n");

-		return DRV_ERR_INVALID_PARAM;

-	}

-

-	LVVE_Status = LVVE_Rx_SetPreset(hInstance_Rx, LVVE_Rx_Preset, NumBytesReadRx, VolumeIndex);

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam Error returned by LVVE_Rx_SetPreset: Error_code = %d\n", LVVE_Status);

-		return DRV_ERROR;

-	}

-

-	LVVE_Status = LVVE_Tx_SetPreset(hInstance_Tx, LVVE_Tx_Preset, NumBytesReadTx, 0);

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParam Error returned by LVVE_Tx_SetPreset: Error_code = %d\n", LVVE_Status);

-		return DRV_ERROR;

-	}

-

-	return DRV_SUCCESS;

-}

-

-SINT32 Vp_NxpSetParamTool(T_ZDrv_VpPath path, T_ZDrv_VpVol volume,

-                          zDrvVp_NxpParamsTool *NxpParamsTool,   BOOL isLoop, BOOL isVolte)

-{

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-	//LVM_UINT32  ret;//xiu gai chu

-	LVM_UINT16                  VolumeIndex;                                /* Volume index variable */

-	UINT32 nvAddrTxOffset = 0;

-	UINT32 nvAddrRxOffset = 0;

-

-	UINT32 pathTxOffset, pathRxOffset;

-

-	UINT32  ret = DRV_SUCCESS;

-	/************************************************************************************/

-	/* Set the Voice Engine Parameter values                                            */

-	/************************************************************************************/

-	VolumeIndex = volume; /* Max Rx volume */

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool,nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "######set NXP parameter start#######");

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool path = %d, volume = %d\n", path, volume);

-	if ((NxpParamsTool->PresetLengthTx > LVWM_TX_FILE_SIZE) || (NxpParamsTool->PresetLengthRx > LVWM_RX_FILE_SIZE))

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "The length is wrong!PresetLengthRx=%d,PresetLengthTx=%d", NxpParamsTool->PresetLengthRx, NxpParamsTool->PresetLengthTx);

-		return DRV_ERROR;

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "PresetLengthRx=%d NumBytesReadRx= %d volume= %d", NxpParamsTool->PresetLengthRx, NumBytesReadRx, volume);

-

-	LVVE_Status = LVVE_Rx_SetPreset(hInstance_Rx, (const LVVE_Rx_Preset_t)NxpParamsTool->pPresetRx, NxpParamsTool->PresetLengthRx, VolumeIndex);

-

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Error returned by LVVE_Rx_SetPreset: Error_code = %d\n", LVVE_Status);

-		return DRV_ERROR;

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "PresetLengthTx=%d NumBytesReadTx= %d", NxpParamsTool->PresetLengthTx, NumBytesReadTx);

-	LVVE_Status = LVVE_Tx_SetPreset(hInstance_Tx, (const LVVE_Tx_Preset_t)NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx, 0);

-

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Error returned by LVVE_Tx_SetPreset: Error_code = %d\n", LVVE_Status);

-		return DRV_ERROR;

-	}

-

-	if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set voice  param isVpParamInNv \n");

-

-		if (g_voiceVar.muteEn == TRUE)

-		{

-			if (g_voiceVar.volteIsWb == 1)

-			{

-				zOss_Memcpy(g_audioNvParam.s_nxpTxWbMuteParam, NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-			}

-			else

-			{

-				zOss_Memcpy(g_audioNvParam.s_nxpTxNbMuteParam, NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-			}

-		}

-		else

-		{

-			pathTxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-			pathRxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE) + LVWM_TX_FILE_SIZE;

-

-			zOss_Memcpy(g_audioNvParam.s_nxpPathParam + pathTxOffset, NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-			zOss_Memcpy(g_audioNvParam.s_nxpPathParam + pathRxOffset, NxpParamsTool->pPresetRx, NxpParamsTool->PresetLengthRx);

-		}

-

-		if (g_audioNvParam.audio_ctrlFlag.isUseNvWrite == 1)

-		{

-			if (g_voiceVar.voiceMode == VOICE_GSM_MODE)

-			{

-				if (path == VP_PATH_HANDSET)

-				{

-					nvAddrTxOffset = 0;

-					nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-

-

-				}

-				else if (path == VP_PATH_SPEAKER)

-				{

-					nvAddrTxOffset = LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE;

-					nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-				}

-				else if (path == VP_PATH_HEADSET)

-				{

-					nvAddrTxOffset = 2 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-					nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-

-				}

-				else if (path == VP_PATH_BLUETOOTH)

-				{

-

-					nvAddrTxOffset = 3 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-					nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-				}

-

-			}

-			else if ((g_voiceVar.voiceMode == VOICE_WCDMA_MODE) || (g_voiceVar.voiceMode == VOICE_TD_MODE))

-			{

-				if (g_voiceVar.volteIsWb != 1)

-				{

-					if (path == VP_PATH_HANDSET)

-					{

-						nvAddrTxOffset = 4 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_SPEAKER)

-					{

-						nvAddrTxOffset = 5 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_HEADSET)

-					{

-						nvAddrTxOffset = 6 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_BLUETOOTH)

-					{

-						nvAddrTxOffset = 7 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-				}

-				else

-				{

-					if (path == VP_PATH_HANDSET)

-					{

-						nvAddrTxOffset = 8 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_SPEAKER)

-					{

-						nvAddrTxOffset = 9 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_HEADSET)

-					{

-						nvAddrTxOffset = 10 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_BLUETOOTH)

-					{

-						nvAddrTxOffset = 11 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-				}

-			}

-			else if (g_voiceVar.voiceMode == VOICE_LTE_MODE)

-			{

-				if (g_voiceVar.volteIsWb != 1)

-				{

-					if (path == VP_PATH_HANDSET)

-					{

-						nvAddrTxOffset = 12 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_SPEAKER)

-					{

-						nvAddrTxOffset = 13 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_HEADSET)

-					{

-						nvAddrTxOffset = 14 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_BLUETOOTH)

-					{

-						nvAddrTxOffset = 15 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-				}

-				else

-				{

-					if (path == VP_PATH_HANDSET)

-					{

-						nvAddrTxOffset = 16 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_SPEAKER)

-					{

-						nvAddrTxOffset = 17 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_HEADSET)

-					{

-						nvAddrTxOffset = 18 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-					else if (path == VP_PATH_BLUETOOTH)

-					{

-						nvAddrTxOffset = 19 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-						nvAddrRxOffset = nvAddrTxOffset + LVWM_TX_FILE_SIZE;

-					}

-				}

-			}

-

-			if (g_voiceVar.muteEn != TRUE)

-			{

-				ret = zOss_NvItemWrite(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset, (UINT8*)NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-				if (ZOSS_SUCCESS == ret)

-				{

-					ret = Nvram_Flush();

-				}

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set tx config to nv ,path=%d,add=0x%x !\r\n", path, OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset);

-			}

-			ret = zOss_NvItemWrite(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrRxOffset, (UINT8*)NxpParamsTool->pPresetRx, NxpParamsTool->PresetLengthRx);

-			if (ZOSS_SUCCESS == ret)

-			{

-				ret = Nvram_Flush();

-			}

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set rx config to nv ,path=%d,add=0x%x !\r\n", path, OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset);

-			if (g_voiceVar.muteEn == TRUE)

-			{

-				if (g_voiceVar.volteIsWb != 1)

-				{

-					nvAddrTxOffset = 20 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-					zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set nb mute config to nv ,path=%d,add=0x%x !\r\n", path, OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset);

-				}

-				else

-				{

-					nvAddrTxOffset = 20 * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE) + LVWM_TX_FILE_SIZE;

-					zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set wb mute config to nv ,path=%d,add=0x%x !\r\n", path, OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset);

-				}

-				ret = zOss_NvItemWrite(OS_FLASH_VOICE_RW_NONFAC_BASE_ADDR + nvAddrTxOffset, (UINT8*)NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-				if (ZOSS_SUCCESS == ret)

-				{

-					ret = Nvram_Flush();

-				}

-			}

-

-		}

-

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool get voice mode param \n");

-	}

-	else

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool set voice  param not isVpParamInNv \n");

-		if (NxpParamsTool->PresetLengthTx <= sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool))

-			zOss_Memcpy(LVVE_Tx_Preset_Buffer_Voice_Tool, NxpParamsTool->pPresetTx, NxpParamsTool->PresetLengthTx);

-		if (NxpParamsTool->PresetLengthRx <= sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool))

-			zOss_Memcpy(LVVE_Rx_Preset_Buffer_Voice_Tool, NxpParamsTool->pPresetRx, NxpParamsTool->PresetLengthRx);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpsetParamTool set param to default param array !\r\n");

-	}

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetParamTool  PresetLengthRx = %d ,PresetLengthTx= %d!\n", NxpParamsTool->PresetLengthRx, NxpParamsTool->PresetLengthTx);

-

-	return DRV_SUCCESS;

-}

-

-SINT32 Vp_NxpGetParamTool(T_ZDrv_VpPath path, T_ZDrv_VpVol volume,

-                          zDrvVp_NxpParamsTool *NxpParamsTool, BOOL isLoop, BOOL isVolte)

-{

-	UINT32 pathTxOffset, pathRxOffset;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "######get NXP parameter start#######");

-	//LVM_UINT32                  NumBytesRead;                               /* Number of bytes in the preset file */

-	/************************************************************************************/

-	/* Set the Voice Engine Parameter values                                            */

-	/************************************************************************************/

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool,nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-	{

-

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get para isVpParamInNv !\r\n");

-		pathTxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE);

-		pathRxOffset = path * (LVWM_TX_FILE_SIZE + LVWM_RX_FILE_SIZE) + LVWM_TX_FILE_SIZE;

-

-		NxpParamsTool->pPresetTx = (char*)g_audioNvParam.s_nxpPathParam + pathTxOffset;

-		NxpParamsTool->pPresetRx = (char*)g_audioNvParam.s_nxpPathParam + pathRxOffset;

-

-		NxpParamsTool->PresetLengthTx =  LVWM_TX_FILE_SIZE;

-		NxpParamsTool->PresetLengthRx =  LVWM_RX_FILE_SIZE;

-	}

-	else

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get para not isVpParamInNv !\r\n");

-

-		NxpParamsTool->pPresetTx = LVVE_Tx_Preset_Buffer_Voice_Tool;

-		NxpParamsTool->pPresetRx = LVVE_Rx_Preset_Buffer_Voice_Tool;

-		NxpParamsTool->PresetLengthTx = sizeof(LVVE_Tx_Preset_Buffer_Voice_Tool);

-		NxpParamsTool->PresetLengthRx = sizeof(LVVE_Rx_Preset_Buffer_Voice_Tool);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get default param !\r\n");

-	}

-

-	if (g_voiceVar.muteEn == TRUE)

-	{

-		if (g_audioNvParam.audio_ctrlFlag.isVpParamInNv == 1)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get mute isVpParamInNv !\r\n");

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get nb mute config !\r\n");

-				NxpParamsTool->pPresetTx = (char*)g_audioNvParam.s_nxpTxNbMuteParam; //xiu gai chu

-				NxpParamsTool->PresetLengthTx = LVWM_TX_FILE_SIZE;

-			}

-			else

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get wb mute config !\r\n");

-				NxpParamsTool->pPresetTx = (char*)g_audioNvParam.s_nxpTxWbMuteParam; //xiu gai chu

-				NxpParamsTool->PresetLengthTx = LVWM_TX_FILE_SIZE;

-			}

-		}

-		else

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get mute not isVpParamInNv !\r\n");

-			if (g_voiceVar.volteIsWb != 1)

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get nb mute config !\r\n");

-				NxpParamsTool->pPresetTx = LVVE_Tx_Mute_File_Buffer;

-				NxpParamsTool->PresetLengthTx = sizeof(LVVE_Tx_Mute_File_Buffer);

-			}

-			else

-			{

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool get wb mute config !\r\n");

-				NxpParamsTool->pPresetTx = LVVE_Tx_Wb_Mute_File_Buffer;

-				NxpParamsTool->PresetLengthTx = sizeof(LVVE_Tx_Wb_Mute_File_Buffer);

-			}

-		}

-	}

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool PresetLengthRx=%d PresetLengthTx= %d ", NxpParamsTool->PresetLengthRx, NxpParamsTool->PresetLengthTx);

-	/*klocwork 3  INVARIANT_CONDITION.UNREACH  delete if*/

-	/*

-	if ((NxpParamsTool->PresetLengthRx == LVM_NULL) || (NxpParamsTool->PresetLengthTx == LVM_NULL))

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpGetParamTool NXP read para is null !\r\n");

-		return DRV_ERROR;

-	}*/

-	return DRV_SUCCESS;

-}

-#if 0

-SINT32 Vp_NxpSetGain(SINT32 gain, UINT32 channel, T_ZDrv_VpPath path)

-{

-	//LVVE_ReturnStatus_en        LVVE_Status=LVVE_SUCCESS;//xiu gai chu

-	//LVM_INT16                         tempGain=0;//xiu gai chu

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpSetGain,nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	return DRV_SUCCESS;

-}

-#endif

-SINT32 Vp_NxpRxProcess(UINT8 **pPReadBuffer, UINT8 **pPWriteBuffer, UINT16 sampleNums)

-{

-	LVM_INT16   *pWriteBuffer;

-	LVM_INT16   *pReadBuffer;

-	LVM_INT16   *pReadBuffer_FE;

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-

-	SINT32 ret = DRV_SUCCESS;

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess,nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	/*************************/

-	/* PROCESS THE RX MODULE */

-	/*************************/

-

-	pReadBuffer = (LVM_INT16  *)(*pPReadBuffer);

-	pWriteBuffer = (LVM_INT16  *)(*pPWriteBuffer);

-	pReadBuffer_FE  = (LVM_INT16 *)&InBuffer16_Tx_FE[0];

-

-	LVVE_Status = LVVE_Rx_Process(hInstance_Rx,                         /* Instance handle */

-	                              pReadBuffer,                        /* Input buffer */

-	                              pNoiseData,                         /* Noise data */

-	                              pWriteBuffer,                       /* Output buffer */

-	                              sampleNums);                        /* Number of samples pairs to process */

-

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess Parameter error - null pointer returned from LVVE_Rx_Process\n");

-		ret = DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_INVALIDNUMSAMPLES)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess Invalid number of samples, check value or range returned from LVVE_Rx_Process\n");

-		ret = DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_ALIGNMENTERROR)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess Alignment error, check input and/or output buffer alignment returned from LVVE_Rx_Process\n");

-		ret = DRV_ERROR;

-	}

-

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-		if (isFirstRxProcessErr == TRUE)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess Error while processing returned from LVVE_Rx_Process: %d\n", (LVM_INT16)LVVE_Status);

-			isFirstRxProcessErr = FALSE;

-		}

-		ret = DRV_ERROR;

-	}

-

-	zOss_Memcpy((VOID*)pReadBuffer_FE, (VOID*)pWriteBuffer, sampleNums * sizeof(LVM_INT16));

-//zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpRxProcess\n");

-	ret = DRV_SUCCESS;//xiu waring:unused ret

-	return ret;

-}

-

-SINT32 Vp_NxpTxProcess(UINT8 **pPReadBuffer_NE_MAIN, UINT8 **pPReadBuffer_NE_AUX, UINT8 **pPWriteBuffer, UINT16 sampleNums)

-{

-	SINT32 ret = DRV_SUCCESS;

-

-	LVM_INT16   *pWriteBuffer;

-	LVVE_ReturnStatus_en        LVVE_Status;                                /* Module status return */

-

-	LVM_INT16   *pReadBuffer_NE0;

-	LVM_INT16   *pReadBuffer_NE1;

-	LVM_INT16   *pReadBuffer_FE;

-

-	if (g_nxpIsOpen == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess,nxp has not been opened yet!\n");

-		return DRV_ERR_NOT_OPENED;

-	}

-

-	/*************************/

-	/* PROCESS THE TX MODULE */

-	/*************************/

-

-	pReadBuffer_NE0 = (LVM_INT16 *)(*pPReadBuffer_NE_MAIN);

-	if (pPReadBuffer_NE_AUX == NULL)

-	{

-		pReadBuffer_NE1 = NULL;

-	}

-	else

-	{

-		pReadBuffer_NE1 = (LVM_INT16 *)(*pPReadBuffer_NE_AUX);

-	}

-	pWriteBuffer    = (LVM_INT16 *)(*pPWriteBuffer);

-	pReadBuffer_FE  = (LVM_INT16 *)&InBuffer16_Tx_FE[0];

-

-	LVVE_Status = LVVE_Tx_Process(hInstance_Tx,                         /* Instance handle */

-	                              pReadBuffer_NE0,                    /* Input buffer primary Mic */

-	                              pReadBuffer_NE1,                    /* Input buffer secondary Mic */

-	                              pReadBuffer_FE,                     /* Input buffer */

-	                              pNoiseData,                         /* Noise data */

-	                              pWriteBuffer,                       /* Output buffer */

-	                              sampleNums);                        /* Number of samples pairs to process */

-

-	/*

-	 * Check for error and stop if needed

-	 */

-	if (LVVE_Status == LVVE_NULLADDRESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess Parameter error - null pointer returned from LVVE_Tx_Process\n");

-		ret = DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_INVALIDNUMSAMPLES)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess Invalid number of samples, check value or range returned from LVVE_Tx_Process\n");

-		ret = DRV_ERROR;

-	}

-	if (LVVE_Status == LVVE_ALIGNMENTERROR)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess Alignment error, check input and/or output buffer alignment returned from LVVE_Tx_Process\n");

-		ret = DRV_ERROR;

-	}

-	if (LVVE_Status != LVVE_SUCCESS)

-	{

-

-		if (isFirstTxProcessErr == TRUE)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess Error while processing returned from LVVE_Tx_Process: %d\n", (LVM_INT16)LVVE_Status);

-			isFirstTxProcessErr = FALSE;

-		}

-		ret = DRV_ERROR;

-	}

-	ret = DRV_SUCCESS;//xiu warning:unused ret

-	//zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "Vp_NxpTxProcess\n");

-	return ret;//xiu

-}

-

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.h
deleted file mode 100755
index 9547823..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/hal_nxp.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************

- * Copyright (C) 2007, ZTE Corporation.

- *

- * File Name:    hal_nxp.h

- * File Mark:

- * Description:  Provide the interface of nxp processing 

- * Others:

- * Version:       V0.5

- * Author:        lvwenhua

- * Date:          2012-06-13

- * History 1:

- *     Date:

- *     Version:

- *     Author:

- *     Modification:

- * History 2:

-  ********************************************************************************/

-#ifndef _HAL_NXP_H

-#define _HAL_NXP_H

-// added by zhanglixia

-//#include "LVVE.h"

-extern SINT32 Vp_NxpInitNvParam(VOID);

-extern SINT32 Vp_NxpOpen(UINT32 fs);

-extern SINT32 Vp_NxpClose(VOID);

-extern SINT32 Vp_NxpGetParam(T_ZDrvVoice_MODE voiceMode, T_ZDrv_VpPath path);

-extern SINT32 Vp_NxpSetParam(T_ZDrv_VpPath path, T_ZDrv_VpVol volume, BOOL isLoop);

-//end added by zhanglixia

-extern SINT32 Vp_NxpSetParamTool(T_ZDrv_VpPath path, T_ZDrv_VpVol volume, zDrvVp_NxpParamsTool *NxpParamsTool,BOOL isLoop,BOOL isVolte);

-extern SINT32 Vp_NxpGetParamTool(T_ZDrv_VpPath path, T_ZDrv_VpVol volume, zDrvVp_NxpParamsTool *NxpParamsTool,BOOL isLoop,BOOL isVolte);

-extern SINT32 Vp_NxpRxProcess(UINT8 **pPReadBuffer, UINT8 **pPWriteBuffer,UINT16 sampleNums);

-extern SINT32 Vp_NxpTxProcess(UINT8 **pPReadBuffer_NE_MAIN, UINT8 **pPReadBuffer_NE_AUX, UINT8 **pPWriteBuffer,UINT16 sampleNums);

-#endif

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/makefile b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/makefile
deleted file mode 100755
index b4f481e..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-#***********************************************************************

-# °æÈ¨ËùÓÐ (C)2001,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£

-# 

-# ÎļþÃû³Æ£º makefile

-# Îļþ±êʶ£º ±àÒënxpÄ£¿é

-# ÄÚÈÝÕªÒª£º 

-#

-# ÐÞ¸ÄÈÕÆÚ     °æ±¾ºÅ     Ð޸ıê¼Ç     ÐÞ¸ÄÈË	     ÐÞ¸ÄÄÚÈÝ      

-# ---------------------------------------------------------------------

-# 2015/08/17	V1.0	               zhuoyongsheng       create

-#***********************************************************************/

-include $(PRJ_PATH)/config/project.mk

-include $(DRV_PATH)/ws/drv_cfg.mk

-

-

-#===============================================

-# ·¾¶ÉèÖÃ

-#===============================================

-_MDL_NAME = nxp

-

-_MDL_SRC_PATH = $(CHIP_SRC_PATH)/audio_base/$(_MDL_NAME)

-_MDL_INC_PATH = $(CHIP_INC_PATH)

-_MDL_OBJ_PATH = $(CHIP_OBJ_PATH)/audio_base/$(_MDL_NAME)

-

-

-

-

-#============================================

-#¸÷Ä£¿éÒÀÀµ¹«¹²Í·ÎļþÉèÖÃ

-#============================================

- INCLUDE += $(_EXTERNAL_INC_PATH)  \

-           -I$(CHIP_SRC_PATH)/audio_base/include \

-           -I$(_MDL_INC_PATH) 

-#============================================

-#×ÓϵͳÀ©Õ¹¶¨Òå

-#============================================

-DEFINE += 

-

-#============================================

-#Ä£¿éÎļþÐÅÏ¢ 

-#============================================  

-_C_SOURCE = $(wildcard $(_MDL_SRC_PATH)/*.c)     

-

-_s_SOURCE =

- 	 

-_S_SOURCE =

-

-#============================================

-# ±àÒë¹æÔò

-#============================================

-

-include $(FRAME_PATH)/rules/mdl_rules.mk

-

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/testnxp_rxin2rxout.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/testnxp_rxin2rxout.c
deleted file mode 100755
index 6a10dbc..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/testnxp_rxin2rxout.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include "drvs_general.h"

-#include "drvs_voiceprocess.h"

-#include "drvs_ramlog.h"

-#include "hal_nxp.h"

-

-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/fs.h>
-#include <linux/miscdevice.h>
-#include <asm/uaccess.h>
-#include <linux/slab.h>
-#include <linux/init.h>

-

-typedef struct testnxp{

-	int fs;

-	int voicemode;

-	int vp_path; 

-	int vp_vol;

-	int framecount;

-}T_TestNxp;

-

-#define TESTNXP_IOCTL_RXIN_TO_RXOUT_START	_IOW('N', 1, T_TestNxp)

-#define TESTNXP_IOCTL_RXIN_TO_RXOUT_STOP	_IO('N', 2)

-

-#define MAX_NXP_BUF	640

-

-

-static const char testnxp_shortname[] = "testnxp_dev";

-static unsigned char *rxin_buf = NULL;

-static unsigned char *rxout_buf = NULL;

-static int framecount;

-static int testnxp_open(struct inode * ip,struct file * fp);

-static int testnxp_release(struct inode *ip, struct file *fp);

-static ssize_t testnxp_read(struct file *fp, char __user *buf,size_t count, loff_t *pos);

-static ssize_t testnxp_write(struct file *fp, const char __user *buf,size_t count, loff_t *pos);

-static long testnxp_ioctl(struct file *fp, unsigned int cmd, unsigned long arg);

-
-
-
-
-/* file operations for testnxp device /dev/testnxp_device */

-static const struct file_operations testnxp_fops = {

-	.owner = THIS_MODULE,
-	.read = testnxp_read,

-	.write = testnxp_write,

-	.unlocked_ioctl = testnxp_ioctl,

-	.open = testnxp_open,

-	.release = testnxp_release,

-};
-
-static struct miscdevice testnxp_device = {

-	.minor = MISC_DYNAMIC_MINOR,
-	.name = testnxp_shortname,

-	.fops = &testnxp_fops,

-};
-
-
-
-static ssize_t testnxp_read(struct file *fp, char __user *buf,size_t count, loff_t *pos)

-{
-

-	if(buf == NULL)

-	{
-		pr_info("testnxp_read buffer null \n");

-		return -EINVAL;
-	}
-
-	if ((count>0) &&(count<=MAX_NXP_BUF)) {

-		if (copy_to_user(buf, rxout_buf, count)) {

-			pr_info("testnxp_read copy_to_user error \n");

-			return -EFAULT;
-		}

-	}else{
-		pr_info("testnxp_read count error \n");

-		return -EINVAL;
-	}
-	return count;

-}
-
-static ssize_t testnxp_write(struct file *fp, const char __user *buf,size_t count, loff_t *pos)

-{
-	int ret;
-
-	if(buf == NULL)

-	{
-		pr_info("testnxp_write buffer null \n");

-		return -EINVAL;
-	}
-
-	if ((count > 0) && (count <= MAX_NXP_BUF)) {

-		if (copy_from_user(rxin_buf, buf, count)) {

-			pr_info("testnxp_write copy_from_user error \n");

-			return -EFAULT;
-		}

-		

-		Vp_NxpRxProcess(&rxin_buf, &rxout_buf, count/2);

-		

-	}else{
-		pr_info("testnxp_write count error \n");

-		return -EINVAL;
-	}
-
-	return count;
-}
-
-
-static long testnxp_ioctl(struct file *fp, unsigned int cmd, unsigned long arg)

-{
-    T_TestNxp *param = (T_TestNxp *)arg;

-	T_TestNxp testnxp_param = {0};

-	int ret = 0;

-	printk("testnxp_ioctl\n");

-

-	switch(cmd)

-	{
-		case TESTNXP_IOCTL_RXIN_TO_RXOUT_START:

-		{

-			if (copy_from_user((void*)&testnxp_param, (void*)param, sizeof(struct testnxp)))

-			{

-				return DRV_ERR_INVALID_PARAM;

-			}

-			framecount = testnxp_param.framecount;

-			ret = Vp_NxpOpen(testnxp_param.fs);	

-			if (ret == 0) 

-			{

-				ret = Vp_NxpGetParam(testnxp_param.voicemode, testnxp_param.vp_path);

-				if (ret == 0)

-				{

-					ret = Vp_NxpSetParam(testnxp_param.vp_path, testnxp_param.vp_vol, FALSE);

-					if (ret != 0 )

-						Vp_NxpClose();

-				}

-				else

-				{

-					Vp_NxpClose();

-				}

-			}

-			break;

-		}

-		case TESTNXP_IOCTL_RXIN_TO_RXOUT_STOP:

-		{

-			Vp_NxpClose();

-		}

-		default:
-		{
-			break;
-		}
-	}
-	return ret;

-}
-
-
-
-static int testnxp_open(struct inode *ip, struct file *fp)

-{
-	printk("testnxp_open\n");

-

-	if(rxin_buf == NULL)

-	{

-		rxin_buf = kzalloc(2 * MAX_NXP_BUF, GFP_KERNEL);

-		if (!rxin_buf)

-		{

-		    pr_info("testnxp_init malloc error\n");

-			return -ENOMEM;

-		}

-		

-		rxout_buf = rxin_buf + MAX_NXP_BUF;

-	}

-
-	return 0;
-}
-
-static int testnxp_release(struct inode *ip, struct file *fp)

-{
-	printk("testnxp_release\n");

-

-	if(rxin_buf)

-	{
-		kfree(rxin_buf);

-		rxin_buf = NULL;

-	}
-

-	return 0;
-}
-
-
-// int __init testnxp_init(void)

-int  testnxp_init(void)

-{
-	int ret;
-	printk("testnxp driver initialize\n");

-

-	ret = misc_register(&testnxp_device);

-	if (ret){
-	    printk(KERN_ERR "testnxp driver failed to initialize\n");

-		return -EFAULT;
-	}
-

-    return 0;
-}
-
-
- void __exit testnxp_exit(void)

-{
-	misc_deregister(&testnxp_device);

-}
-
-//late_initcall(testnxp_init);

-//module_exit(testnxp_exit);

-

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVC_Types.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVC_Types.h
deleted file mode 100755
index 14efe8c..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVC_Types.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/************************************************************************/

-/*  Copyright (c) 2004-2014 NXP Software. All rights are reserved.      */

-/*  Reproduction in whole or in part is prohibited without the prior    */

-/*  written consent of the copyright owner.                             */

-/*                                                                      */

-/*  This software and any compilation or derivative thereof is and      */

-/*  shall remain the proprietary information of NXP Software and is     */

-/*  highly confidential in nature. Any and all use hereof is restricted */

-/*  and is subject to the terms and conditions set forth in the         */

-/*  software license agreement concluded with NXP Software.             */

-/*                                                                      */

-/*  Under no circumstances is this software or any derivative thereof   */

-/*  to be combined with any Open Source Software in any way or          */

-/*  licensed under any Open License Terms without the express prior     */

-/*  written  permission of NXP Software.                                */

-/*                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means */

-/*  any software that is licensed under Open License Terms. Open        */

-/*  License Terms means terms in any license that require as a          */

-/*  condition of use, modification and/or distribution of a work        */

-/*                                                                      */

-/*           1. the making available of source code or other materials  */

-/*              preferred for modification, or                          */

-/*                                                                      */

-/*           2. the granting of permission for creating derivative      */

-/*              works, or                                               */

-/*                                                                      */

-/*           3. the reproduction of certain notices or license terms    */

-/*              in derivative works or accompanying documentation, or   */

-/*                                                                      */

-/*           4. the granting of a royalty-free license to any party     */

-/*              under Intellectual Property Rights                      */

-/*                                                                      */

-/*  regarding the work and/or any work that contains, is combined with, */

-/*  requires or otherwise is based on the work.                         */

-/*                                                                      */

-/*  This software is provided for ease of recompilation only.           */

-/*  Modification and reverse engineering of this software are strictly  */

-/*  prohibited.                                                         */

-/*                                                                      */

-/************************************************************************/

-

-/****************************************************************************************

-

-     $Author: beq07720 $

-     $Revision: 55357 $

-     $Date: 2014-03-05 22:16:13 +0530 (Wed, 05 Mar 2014) $

-

-*****************************************************************************************/

-

-/** @file

- *  Header file defining the standard LifeVibes types for use in the application layer

- *  interface of all LifeVibes modules

- */

-

-#ifndef LVM_TYPES_H

-#define LVM_TYPES_H

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#define LVM_NULL                0                   ///< NULL pointer

-

-#define LVM_TRUE                1                   ///< Boolean True

-#define LVM_FALSE               0                   ///< Boolean False

-

-#define LVM_MAXINT_8            127                 ///< Maximum positive integer size

-#define LVM_MAXINT_16           32767               ///< Maximum signed int 16 bits number

-#define LVM_MAXINT_32           2147483647          ///< Maximum signed int 32 bits number

-#define LVM_MAXUINT_32          4294967295U         ///< Maximum un-signed int 32 bits number

-

-#if (  defined(VARIANT_24BIT) )

-#define LVM_MAXENUM             8388607L            ///< Maximum value for enumerator

-#else

-#define LVM_MAXENUM             2147483647          ///< Maximum value for enumerator

-#endif

-

-#define LVM_MODULEID_MASK       0xFF00              ///< Mask to extract the calling module ID from callbackId

-#define LVM_EVENTID_MASK        0x00FF              ///< Mask to extract the callback event from callbackId

-

-/* Memory table*/

-#define LVM_MEMREGION_PERSISTENT_SLOW_DATA      0   ///< Offset to the instance memory region

-#define LVM_MEMREGION_PERSISTENT_FAST_DATA      1   ///< Offset to the persistent data memory region

-#define LVM_MEMREGION_PERSISTENT_FAST_COEF      2   ///< Offset to the persistent coefficient memory region

-#define LVM_MEMREGION_TEMPORARY_FAST            3   ///< Offset to temporary memory region

-

-#define LVM_NR_MEMORY_REGIONS                   4   ///< Number of memory regions

-

-#define LVM_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Mode_en in LVWireFormat

-#define LVM_CONFIG_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Config_en in LVWireFormat

-#define LVM_FS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Fs_en sample Rate in LVWireFormat

-

-#define LVM_CHAR_LVWIREFORMAT_LENGTH   (1)

-#define LVM_INT8_LVWIREFORMAT_LENGTH   (1)

-#define LVM_UINT8_LVWIREFORMAT_LENGTH   (1)

-

-#define LVM_INT16_LVWIREFORMAT_LENGTH   (2)

-#define LVM_UINT16_LVWIREFORMAT_LENGTH   (2)

-

-#define LVM_INT32_LVWIREFORMAT_LENGTH   (4)

-#define LVM_UINT32_LVWIREFORMAT_LENGTH   (4)

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Basic types                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#if defined(CORE_TIC64)

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     short               LVM_INT16;          ///< Signed 16-bit word

-typedef     unsigned short      LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     int                 LVM_INT32;          ///< Signed 32-bit word

-typedef     unsigned int        LVM_UINT32;         ///< Unsigned 32-bit word

-#else

-

-#if (  defined(VARIANT_FRAC16) || defined (VARIANT_REFREAL16)   )

-typedef     long                DATATYPE;           ///< long data type

-

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     long                LVM_INT16;          ///< Signed 16-bit word

-typedef     long                LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     long                LVM_INT32;          ///< Signed 32-bit word

-typedef     long                LVM_UINT32;         ///< Unsigned 32-bit word

-

-#else

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     short               LVM_INT16;          ///< Signed 16-bit word

-typedef     unsigned short      LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     long                 LVM_INT32;          ///< Signed 32-bit word

-typedef     unsigned long        LVM_UINT32;         ///< Unsigned 32-bit word

-#if (  defined(VARIANT_24BIT) )

-

-#define LVM_MAXINT_24           8388607L      ///< 24 bit max int

-#define LVM_MININT_24          -8388608L    ///< 24bit min int

-

-#define LVM_MAXINT_48           140737488355327LL  ///< 48bit max int

-#define LVM_MININT_48           -140737488355328LL   ///< 48bit min int

-

-#endif // VARIANT_24BIT

-

-#endif // VARIANT_FRAC16

-

-#endif // CORE_TIC64

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Standard Enumerated types                                                           */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-The @ref LVM_Mode_en enumerated type is used to set the operating mode of a particular feature inside the LifeVibes modules.

-The feature can be separately set to enable the feature processing (i.e., ON) or to disable all feature processing

-modules (i.e., OFF).

-*/

-typedef enum

-{

-    LVM_MODE_OFF    = 0,     ///< LVM module disabled

-    LVM_MODE_ON     = 1,     ///< LVM module enabled

-    LVM_MODE_DUMMY  = LVM_MAXENUM

-} LVM_Mode_en;

-

-/**

-Sets stream Format

-*/

-typedef enum

-{

-    LVM_STEREO          = 0,           ///<Stereo stream

-    LVM_MONOINSTEREO    = 1,           ///<Mono in stereo stream

-    LVM_MONO            = 2,           ///<Mono stream

-    LVM_5DOT1           = 3,           ///<stream 5.1 formatted

-    LVM_7DOT1           = 4,           ///<stream 7.1 formatted

-    LVM_SOURCE_DUMMY    = LVM_MAXENUM

-} LVM_Format_en;

-

-/**

-Sets Speaker type

-*/

-typedef enum

-{

-    LVM_SPEAKER_MONO    = 0,        ///< Mono type speaker

-    LVM_SPEAKER_STEREO  = 1,        ///< Stereo type speaker

-    LVM_SPEAKER_DUMMY   = LVM_MAXENUM

-} LVM_SpeakerType_en;

-

-/**

-Sets Word length

-*/

-typedef enum

-{

-    LVM_16_BIT      = 0,           ///< 16 bit word length

-    LVM_32_BIT      = 1,           ///< 32 bit word length

-    LVM_WORDLENGTH_DUMMY = LVM_MAXENUM

-} LVM_WordLength_en;

-

-/**

-The LVM product supports the sample rates specified in @ref LVM_Fs_en. The input and output sample rates are always the same.

-*/

-typedef enum

-{

-    LVM_FS_8000  = 0,              ///< 8k sampling rate

-    LVM_FS_11025 = 1,              ///< 11.025k sampling rate

-    LVM_FS_12000 = 2,              ///< 12k sampling rate

-    LVM_FS_16000 = 3,              ///< 16k sampling rate

-    LVM_FS_22050 = 4,              ///< 22.050k sampling rate

-    LVM_FS_24000 = 5,              ///< 24k sampling rate

-    LVM_FS_32000 = 6,              ///< 32k sampling rate

-    LVM_FS_44100 = 7,              ///< 44.1k sampling rate

-    LVM_FS_48000 = 8,              ///< 48k sampling rate

-    LVM_FS_COUNT = 9,              ///< Max sampling rate count

-    LVM_FS_INVALID = LVM_MAXENUM-1,

-    LVM_FS_DUMMY = LVM_MAXENUM

-} LVM_Fs_en;

-

-/**

-The enumerated type is used to select the reset mode for the module.

-@ref LVM_RESET_SOFT is used to select a soft reset (or partial reset) and @ref LVM_RESET_HARD is

-used to select a hard reset (full re-initialization).

-*/

-typedef enum

-{

-/**

-<table border>

-   <tr>

-       <td><b>Name</b></td>

-       <td><b>MODE</b></td>

-   </tr>

-   <tr>

-       <td>ResetType</td>

-       <td>@ref LVM_RESET_SOFT</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td>@ref LVM_RESET_HARD</td>

-   </tr>

-</table>

-*/

-    LVM_RESET_SOFT    = 0,         ///< Reset type for LVM where a partial reset of the module should be performed

-    LVM_RESET_HARD    = 1,         ///< Reset type for LVM where a full reset of the module should be performed

-    LVM_RESET_DUMMY   = LVM_MAXENUM

-} LVM_ResetType_en;

-

-/**

-The @ref LVM_MemoryTypes_en enumerated type identifies the memory region types so that they can be correctly placed in memory

-by the calling application.

-The module initially has no permanent memory storage and makes no use of persistent memory allocation internally.

-The calling application must allocate memory for the module to use.

-

-Four memory regions are required:

-@li @ref LVM_MEMREGION_PERSISTENT_SLOW_DATA : this type of memory is used to store all the control data that needs to be saved between two consecutive calls to the process function.

-@li @ref LVM_MEMREGION_PERSISTENT_FAST_DATA : this type of memory is used to store data such as filter history

-@li @ref LVM_MEMREGION_PERSISTENT_FAST_COEF : this type of memory is used to store filter coefficients.

-@li @ref LVM_MEMREGION_TEMPORARY_FAST (scratch): this type of memory is used to store temporary data. This memory can be reused by the application in between calls to the process function.

-

-This collection of memory regions forms the module instance.

-

-Typically the memory is allocated by the application dynamically; however, it can be allocated statically if required.

-The sizes of the memory regions can be found by running the GetMemoryTable functions on a simulator and noting

-the returned values. Alternatively contact NXP who can provide the figures.

-It is possible that these memory sizes will change between release versions of the library and hence the dynamic memory allocation method is preferred where possible.

-On some target platforms the placement of memory regions is critical for achieving optimal performance of the module.

-*/

-typedef enum

-{

-    LVM_PERSISTENT_SLOW_DATA    = LVM_MEMREGION_PERSISTENT_SLOW_DATA,       ///< Persistent slow memory region

-    LVM_PERSISTENT_FAST_DATA    = LVM_MEMREGION_PERSISTENT_FAST_DATA,       ///< Persistent fast memory region

-    LVM_PERSISTENT_FAST_COEF    = LVM_MEMREGION_PERSISTENT_FAST_COEF,       ///< Persisten fast memory for coefficient storage

-    LVM_TEMPORARY_FAST          = LVM_MEMREGION_TEMPORARY_FAST,             ///< Temporary fast memory region

-    LVM_MEMORYTYPE_DUMMY        = LVM_MAXENUM

-} LVM_MemoryTypes_en;

-

-/**

-Sets mod of Configuration

-*/

-typedef enum

-{

-    LVM_CONFIG_HANDSET            = 0,                  ///< Handset configuration

-    LVM_CONFIG_SPEAKERPHONE       = 1,                  ///< Speaker mod configuration

-    LVM_CONFIG_EARPIECE           = 2,                  ///< Earpiece configuration

-    LVM_CONFIG_DUMMY              = LVM_MAXENUM

-} LVM_Config_en;

-

-/**

-The @ref LVM_MemoryRegion_st type defines a memory region by specifying its size in bytes, its region type and its base pointer.

-@see LVM_MemoryTypes_en

-*/

-#if (  defined(VARIANT_24BIT) )

-typedef struct

-{

-    LVM_INT24                    Size;                   ///< The size of the memory region in bytes

-    LVM_MemoryTypes_en           Type;                   ///< Type of memory region

-    void                        *pBaseAddress;           ///< Pointer to the memory region base address

-} LVM_MemoryRegion_st;

-#else

-typedef struct

-{

-    LVM_UINT32                  Size;                   ///< The size of the memory region in bytes

-    LVM_MemoryTypes_en          Type;                   ///< Type of memory region

-    void                        *pBaseAddress;          ///< Pointer to the memory region base address

-} LVM_MemoryRegion_st;

-#endif

-

-/**

-The LVM_MemoryTable_st type defines the memory requirements of the module as an array of region definitions.

-The number of required memory regions is given by the constant @ref LVM_NR_MEMORY_REGIONS

-@see LVM_MemoryRegion_st

-*/

-typedef struct

-{

-    LVM_MemoryRegion_st         Region[LVM_NR_MEMORY_REGIONS];  ///< One definition of all memory regions

-} LVM_MemoryTable_st;

-

-/**

-Beats Per Minute Structure

-*/

-typedef struct

-{

-    LVM_INT16                   ShortTermMinimum;       ///< Beats per minute in Q9.6 format

-    LVM_INT16                   ShortTermAverage;       ///< Beats per minute in Q9.6 format

-    LVM_INT16                   ShortTermMaximum;       ///< Beats per minute in Q9.6 format

-

-    LVM_INT16                   Confidence;             ///< Beat confidence level: 0 = no confidence, 32767 = maximum confidence

-    LVM_INT16                   Strength;               ///< Beat strength level:   0 = no beat, 32767 = maximum strength beat

-    LVM_INT16                   LongTermMinimum;        ///< Beats per minute in Q9.6 format

-    LVM_INT16                   LongTermAverage;        ///< Beats per minute in Q9.6 format

-    LVM_INT16                   LongTermMaximum;        ///< Beats per minute in Q9.6 format

-

-} LVM_BPMModuleStats_st;

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Standard Function Prototypes                                                        */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-@brief General purpose callback function

-

-@param pCallbackData           Pointer to the callback data structure

-@param pGeneralPurpose         General purpose pointer (e.g. to a data structure needed in the callback)

-@param PresetLength            General purpose variable (e.g. to be used as callback ID)

-@return \ref LVM_INT32

-*/

-typedef LVM_INT32 (*LVM_Callback)(void          *pCallbackData,

-                                  void          *pGeneralPurpose,

-                                  LVM_INT16     GeneralPurpose );

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  End of file                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif  /* LVM_TYPES_H */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE.h
deleted file mode 100755
index 9c48d8e..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE.h
+++ /dev/null
@@ -1,1371 +0,0 @@
-/****************************************************************************************/

-/*  Copyright (c) 2004-2014 NXP Software. All rights are reserved.                      */

-/*  Reproduction in whole or in part is prohibited without the prior                    */

-/*  written consent of the copyright owner.                                             */

-/*                                                                                      */

-/*  This software and any compilation or derivative thereof is and                      */

-/*  shall remain the proprietary information of NXP Software and is                     */

-/*  highly confidential in nature. Any and all use hereof is restricted                 */

-/*  and is subject to the terms and conditions set forth in the                         */

-/*  software license agreement concluded with NXP Software.                             */

-/*                                                                                      */

-/*  Under no circumstances is this software or any derivative thereof                   */

-/*  to be combined with any Open Source Software in any way or                          */

-/*  licensed under any Open License Terms without the express prior                     */

-/*  written  permission of NXP Software.                                                */

-/*                                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means                 */

-/*  any software that is licensed under Open License Terms. Open                        */

-/*  License Terms means terms in any license that require as a                          */

-/*  condition of use, modification and/or distribution of a work                        */

-/*                                                                                      */

-/*           1. the making available of source code or other materials                  */

-/*              preferred for modification, or                                          */

-/*                                                                                      */

-/*           2. the granting of permission for creating derivative                      */

-/*              works, or                                                               */

-/*                                                                                      */

-/*           3. the reproduction of certain notices or license terms                    */

-/*              in derivative works or accompanying documentation, or                   */

-/*                                                                                      */

-/*           4. the granting of a royalty-free license to any party                     */

-/*              under Intellectual Property Rights                                      */

-/*                                                                                      */

-/*  regarding the work and/or any work that contains, is combined with,                 */

-/*  requires or otherwise is based on the work.                                         */

-/*                                                                                      */

-/*  This software is provided for ease of recompilation only.                           */

-/*  Modification and reverse engineering of this software are strictly                  */

-/*  prohibited.                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-/****************************************************************************************/

-/*                                                                                      */

-/*     $Author: nxp65285 $*/

-/*     $Revision: 56908 $*/

-/*     $Date: 2014-04-10 17:30:02 +0530 (Thu, 10 Apr 2014) $*/

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-@file

-Header file for the application layer interface of the LVVE module.

-This files includes all definitions, types, structures and function prototypes

-required by the calling layer. All other types, structures and functions are

-private.

-*/

-

-#ifndef __LVVE_H__

-#define __LVVE_H__

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Includes                                                                            */

-/*                                                                                      */

-/****************************************************************************************/

-

-#include "LVVE_VID.h"

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-/* Below include logic is designed to reduce checks to 1 or 2 conditions due to limitations in the backend stripping code */

-

-

-

-

-

-#define LVVE_MAX_PCM_FRAME_SIZE         160                    ///< LVVE maximum processing frame size

-

-

-#define LVVE_NOISESAMPLES_PER_FRAME     2                           ///< Number of samples required for noise estimation per frame

-/**

-@def LVVE_RX_PRESET_LENGTH

-Length of the LVVE_Rx preset buffer (number of bytes).

-@see LVVE_Rx_SetPreset

-@ingroup LVVE_Rx

-*/

-#define LVVE_RX_PRESET_LENGTH (LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH + LVVE_RX_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< RX preset Buffer length

-

-/**

-@def LVVE_TX_PRESET_LENGTH

-Length of the LVVE_Tx preset buffer (number of bytes).

-@see LVVE_Tx_SetPreset

-@ingroup LVVE_Tx

-*/

-#define LVVE_TX_PRESET_LENGTH (LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH + LVVE_TX_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< TX preset buffer length

-

-

-/* Deprecated Definitions */

-

-#define LVVE_MAX_BULK_DELAY             LVVE_TX_BULKDELAY_MAX

-#define LVVE_RX_MODE_DUMMY LVVE_RX_MODE_EN_DUMMY

-#define LVVE_TX_MODE_DUMMY LVVE_TX_MODE_EN_DUMMY

-

-#define LVVE_MAX_VOL_GAIN_DB            LVVE_TX_VOL_GAIN_MAX

-#define LVVE_MIN_VOL_GAIN_DB            LVVE_TX_VOL_GAIN_MIN

-

-#define LVVE_MAX_HPF_CORNER_HZ          LVVE_TX_MIC_HPF_CORNERFREQ_MAX

-#define LVVE_MIN_HPF_CORNER_HZ          LVVE_TX_MIC_HPF_CORNERFREQ_MIN

-

-#define LVVE_MAX_HPF_RX_CORNER_HZ       LVVE_RX_HPF_CORNERFREQ_MAX

-

-#define LVVE_MAX_NLPP_LIMIT_DB          LVNLPP_NLPP_LIMIT_MAX

-#define LVVE_MIN_NLPP_LIMIT_DB          LVNLPP_NLPP_LIMIT_MIN

-

-

-#define LVVE_MAX_DRC_LEVEL              LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX

-#define LVVE_MIN_DRC_LEVEL              LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN

-#define LVVE_MIN_DRC_NUMKNEES           LVDRC_NUMKNEES_MIN

-#define LVVE_MAX_DRC_NUMKNEES           LVDRC_NUMKNEES_MAX

-#define LVVE_MIN_DRC_ATTACKTIME         LVDRC_ATTACKTIME_MIN

-#define LVVE_MAX_DRC_ATTACKTIME         LVDRC_ATTACKTIME_MAX

-#define LVVE_MIN_DRC_RELEASETIME        LVDRC_RELEASETIME_MIN

-#define LVVE_MAX_DRC_RELEASETIME        LVDRC_RELEASETIME_MAX

-

-

-/* End deprecated defines*/

-/****************************************************************************************/

-/*                                                                                      */

-/*  Types                                                                               */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-LVVE_Tx Instance Handle

-This handle is used by most of the LVVE APIs

-@see LVVE_Tx_GetInstanceHandle

-@ingroup LVVE_Tx

-*/

-typedef void *LVVE_Tx_Handle_t;   ///< LVVE Tx handle

-/**

-This handle is used by most of the LVVE APIs

-@see LVVE_Rx_GetInstanceHandle

-@ingroup LVVE_Rx

-*/

-typedef void *LVVE_Rx_Handle_t;  ///< LVVE Rx handle

-

-/**

-This enum type specifies the different error codes returned by the API functions

-For the exact meaning see the individual function descriptions

-*/

-typedef enum

-{

-    LVVE_SUCCESS                            = 0,                ///< Successful return from a routine

-    LVVE_ALIGNMENTERROR                     = 1,                ///< Memory alignment error

-    LVVE_NULLADDRESS                        = 2,                ///< NULL allocation address

-    LVVE_OUTOFRANGE                         = 3,                ///< Out of range parameter

-    LVVE_INVALIDNUMSAMPLES                  = 4,                ///< Invalid number of samples

-    LVVE_INVALID_ALGORITHM_CONFIGURATION    = 5,                ///< Mutually exclusive algorithms configured ON

-    LVVE_INVALID_STATE_CONFIGURATION        = 6,                ///< Invalid state of the algorithm

-    LVVE_PRESET_INVALID_BUFFER_LENGTH       = 7,                ///< Incorrect length of buffer used in SetPreset

-    LVVE_PRESET_INVALID_VOLUME_INDEX        = 8,                ///< The volume index exceeds the buffer content in SetPreset

-    LVVE_PRESET_INVALID_BUFFER_VERSION      = 9,                ///< The version of the preset buffer does not match this library

-    LVVE_PRESET_INVALID_BASELINE_VERSION    = 10,               ///< Invalid LVVE Baseline Version in preset buffer

-    LVVE_PRESET_INVALID_MASK                = 11,               ///< Invalid algorithm mask in preset buffer

-    LVVE_PRESET_INVALID_SAMPLE_RATE         = 12,               ///< Invalid sample rate @ref LVM_Fs_en in preset buffer

-    LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID = 13,            ///< Invalid @ref LVVIDHeader_MessageID_en wire format message id in preset buffer

-

-    LVVE_RETURNSTATUS_DUMMY                 = LVM_MAXENUM

-} LVVE_ReturnStatus_en;

-

-/**

-Byte array containing encoded LVVE_Rx_ControlParams for one or multiple volumes.

-The length of this array should be a multiple of @ref LVVE_RX_PRESET_LENGTH.

-@see LVVE_Rx_SetPreset

-@ingroup LVVE_Rx

-*/

-typedef LVM_CHAR* LVVE_Rx_Preset_t; ///< LVVE Rx preset buffer

-

-/**

-Byte array containing encoded LVVE_Tx_ControlParams for one or multiple volumes.

-The length of this array should be a multiple of @ref LVVE_TX_PRESET_LENGTH.

-@see LVVE_Tx_SetPreset

-@ingroup LVVE_Tx

-*/

-typedef LVM_CHAR* LVVE_Tx_Preset_t;  ///< LVVE Tx preset buffer

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Structures                                                                          */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-The instance parameters define certain important operating limits required by the calling application.

-These instance parameters affect how much memory is required by the LVVE and hence must be provided

-when the instance is created.

-@see LVVE_Rx_GetMemoryTable

-@see LVVE_Rx_GetInstanceHandle

-@see LVVE_Tx_GetMemoryTable

-@see LVVE_Tx_GetInstanceHandle

-*/

-/**

-EQ Module Instance Parameters Structure.

-@see LVEQ_InstanceParams_st

-*/

-typedef struct

-{

-/**

-Max Size of Equalizer

-Sets the maximum length of the equalizer impulse response that can be used.

-It must be a multiple of 8.

-<table border>

-<caption>EQ Max Length Table</caption>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Integer Length in Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>[8,\ref LVEQ_EQ_LENGTH_MAX]</td>

-       <td>\ref LVEQ_EQ_LENGTH_DEFAULT</td>

-   </tr>

-</table>

-*/

-    LVM_UINT16                    EQ_MaxLength;  ///< EQ Max Length

-} LVEQ_InstanceParams_st;

-

-/**

-Tx Instance Parameter Structure

-These parameters are set at initialization time and may not be changed during processing

-@ref LVVE_Tx_GetInstanceHandle

-@ingroup LVVE_Tx

-*/

-typedef struct

-{

-    LVM_Fs_en                   SampleRate;      ///< Sample rate

-/**

-Sets the maximum length of the bulk delay between Rx and Tx expressed in samples.

-The unit of MaxBulkDelay is [number of samples] at the respective sampling rate.

-<table border>

-<caption>Max Bulk Delay Table</caption>

-   <tr>

-       <td><b>Type</b></td>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>LVM_UINT16</b></td>

-       <td><b>Integer Length in Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>[0,6400]</td>

-       <td>None</td>

-   </tr>

-</table>

-*/

-    LVM_UINT16                  MaxBulkDelay;     ///< Max bulk delay

-

-    LVEQ_InstanceParams_st      EQ_InstParams;  ///< EQ instance

-} LVVE_Tx_InstanceParams_st;

-

-/**

-Rx Instance Parameter Structure

-These parameters are set at initialization time and may not be changed during processing.

-@ref LVVE_Rx_GetInstanceHandle

-@ingroup LVVE_Rx

-*/

-typedef struct

-{

-    LVM_Fs_en                   SampleRate;            ///< LVVE sample rate

-    LVEQ_InstanceParams_st      EQ_InstParams;///< EQ instance

-

-} LVVE_Rx_InstanceParams_st;

-

-/**

-The version information structure contains one character field to store LVVE version number.

-A call to the @ref LVVE_GetVersionInfo function is needed to retrieve this information.

-*/

-typedef struct

-{

-    LVM_CHAR                    VersionNumber[64];  ///< Version number of the LifeVibes&trade; VoiceExperience library

-} LVVE_VersionInfo;

-

-/**

-Used to reset LVVE_Rx module any time.

-@ref LVM_ResetType_en parameter determine the type of reset required

-@ingroup LVVE_Rx

-*/

-typedef struct

-{

-    LVM_ResetType_en ResetType;  ///< RX Reset Type

-} LVVE_Rx_ResetParams_st;

-

-/**

-Used to reset LVVE_Tx module any time.

-LVM_ResetType_en parameter determine the type of reset required

-@ingroup LVVE_Tx

-*/

-typedef struct

-{

-    LVM_ResetType_en ResetType;   ///< TX Reset Type

-} LVVE_Tx_ResetParams_st;

-

-/**

-@brief Retrieve the memory requirements of the LVVE_Tx module.

-

-This function returns a table of memory records that describe size, type and memory space of all buffers

-required by the instance. The number of initialized memory records is defined by LVVE_NR_MEMORY_REGIONS.

-This function is used for two purposes and is called in two different ways:

-

-@li Memory Allocation: When the LVVE_GetMemoryTable functions are called with a NULL instance handle (hInstance = LVM_NULL)

-    the function returns the memory requirements. The base address pointers in the memory table are set to NULL.

-    All elements of the instance parameters structure (pointed to by pInstParams) must contain valid values as the memory

-    requirements are affected by these settings.

-

-@li Memory Free: When called with a non-NULL instance handle (hInstance = a valid instance handle)

-      the function returns the memory table used when the instance was created.

-      The base address pointers returned will be those supplied by the calling application when the memory

-      was allocated and can now be used for freeing memory. The instance parameters (pointed to by pInstParams)

-      are ignored and the pInstParams parameter may be set to NULL.

-@li In case of memory allocation, all elements of the parameter initialization structure defined by pInstParams

-    must contain valid values as the memory requirements are affected by these settings.

-    In some releases of the bundle library one or more memory regions may have a zero size.

-

-@pre The number of memory records in the array defined by pMemoryTable is equal to @ref LVM_NR_MEMORY_REGIONS.

-@pre Exactly @ref LVM_NR_MEMORY_REGIONS memory records of pMemoryTable are initialized.

-

-@post When this function is called with hInstance = NULL the memory base address pointers

-will be NULL on return.

-@post When the function is called for freeing memory, hInstance = Instance Handle the

-memory table returns the allocated memory and base addresses used during

-initialisation.

-

-@return  LVVE_SUCCESS           when the function call succeeds and the memory table is filled correctly

-@return  LVVE_NULLADDRESS       when pMemoryTable was NULL

-@return  LVVE_NULLADDRESS       when pInstParams was NULL and the call was for memory allocation

-                                is NULL.

-@return  LVVE_OUTOFRANGE        when pInstParams contains parameters out of the excepted range

-

-@note  This function may be interrupted by the LVVE_Tx_Process function.

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetMemoryTable: Memory Allocation Example:

-

-The following example shows how to get the memory requirements for the LVVE_Tx instance.

-\code

-    InstParams_Tx.SampleRate    = LVM_FS_8000;

-    // Include the other instance params here

-

-    LVVE_Status = LVVE_Tx_GetMemoryTable ( LVM_NULL,

-                                           &MemTab_Tx,

-                                           &InstParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-    for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++ )

-    {

-        if( MemTab_Tx.Region[c1].Size != 0 )

-        {

-            MemTab_Tx.Region[c1].pBaseAddress =

-                malloc(MemTab_Tx.Region[c1].Size);

-        }

-    }

-\endcode

-

-LVVE_Tx_GetMemoryTable: Freeing Memory Example:

-

-The following example shows how to free the memory from the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetMemoryTable( hInstance,

-                                              &MemTab_Tx,

-                                              LVM_NULL);

-

-        if (LVVE_Status != LVVE_SUCCESS)

-        {

-            // Handle errors

-        }

-

-        for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++)

-        {

-            if (MemTab_Tx.Region[c1].Size != 0)

-            {

-                free(MemTab_Tx.Region[c1].pBaseAddress);

-            }

-        }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetMemoryTable(LVVE_Tx_Handle_t               hInstance,

-                                            LVM_MemoryTable_st             *pMemoryTable,

-                                            LVVE_Tx_InstanceParams_st      *pInstanceParams);

-

-/**

-@brief Retrieve the memory requirements of the LVVE_Rx module.

-

-This function returns a table of memory records that describe size, type and memory space of all buffers

-required by the instance. The number of initialized memory records is defined by LVVE_NR_MEMORY_REGIONS.

-This function is used for two purposes and is called in two different ways:

-

-@li Memory Allocation: When the LVVE_GetMemoryTable functions are called with a NULL instance handle (hInstance = LVM_NULL)

-    the function returns the memory requirements. The base address pointers in the memory table are set to NULL.

-    All elements of the instance parameters structure (pointed to by pInstParams) must contain valid values as the memory

-    requirements are affected by these settings.

-

-@li Memory Free: When called with a non-NULL instance handle (hInstance = a valid instance handle)

-      the function returns the memory table used when the instance was created.

-      The base address pointers returned will be those supplied by the calling application when the memory

-      was allocated and can now be used for freeing memory. The instance parameters (pointed to by pInstParams)

-      are ignored and the pInstParams parameter may be set to NULL.

-@li In case of memory allocation, all elements of the parameter initialization structure defined by pInstParams

-    must contain valid values as the memory requirements are affected by these settings.

-    In some releases of the bundle library one or more memory regions may have a zero size.

-

-@pre The number of memory records in the array defined by pMemoryTable is equal to @ref LVM_NR_MEMORY_REGIONS.

-@pre Exactly @ref LVM_NR_MEMORY_REGIONS memory records of pMemoryTable are initialized.

-

-@post When this function is called with hInstance = NULL the memory base address pointers

-will be NULL on return.

-@post When the function is called for freeing memory, hInstance = Instance Handle the

-memory table returns the allocated memory and base addresses used during

-initialisation.

-

-@return  LVVE_SUCCESS           when the function call succeeds and the memory table is filled correctly

-@return  LVVE_NULLADDRESS       when pMemoryTable was NULL

-@return  LVVE_NULLADDRESS       when pInstParams was NULL and the call was for memory allocation

-                                is NULL.

-@return  LVVE_OUTOFRANGE        when pInstParams contains parameters out of the excepted range

-

-@note  This function may be interrupted by the LVVE_Rx_Process function.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetMemoryTable: Memory Allocation Example:

-

-The following example shows how to get the memory requirements for the LVVE_Rx instance.

-

-\code

-    InstParams_Rx.SampleRate    = LVM_FS_8000;

-    // Include the other instance params here

-

-    LVVE_Status = LVVE_Rx_GetMemoryTable ( LVM_NULL,

-                                           &MemTab_Rx,

-                                           &InstParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-    for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++ )

-    {

-        if( MemTab_Rx.Region[c1].Size != 0 )

-        {

-            MemTab_Rx.Region[c1].pBaseAddress =

-                malloc(MemTab_Rx.Region[c1].Size);

-        }

-    }

-\endcode

-

-LVVE_Rx_GetMemoryTable: Freeing Memory Example:

-

-The following example shows how to free the memory from the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetMemoryTable( hInstance,

-                                              &MemTab_Rx,

-                                              LVM_NULL);

-

-        if (LVVE_Status != LVVE_SUCCESS)

-        {

-            // Handle errors

-        }

-

-        for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++)

-        {

-            if (MemTab_Rx.Region[c1].Size != 0)

-            {

-                free(MemTab_Rx.Region[c1].pBaseAddress);

-            }

-        }

-\endcode

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetMemoryTable(LVVE_Rx_Handle_t               hInstance,

-                                            LVM_MemoryTable_st             *pMemoryTable,

-                                            LVVE_Rx_InstanceParams_st      *pInstanceParams);

-

-

-/**

-@brief Created handle to the instance of the LVVE_Tx module

-

-This function is used to create the LVVE_Tx instance. All control parameters are set to invalid values.

-The memory table pointed to by pMemoryTable must be created. If the memory table is not correct then an error will be returned.

-The memory requirements of the Rx and Tx unit are dependent on the instance parameters supplied and so the

-instance parameters provided in this function call must be the same as those used in the @ref LVVE_Tx_GetMemoryTable function calls

-used for memory allocation.

-

-@pre The memory records tables defined by pMemoryTable contains pointers to non-overlapping buffers

-with the size as requested via the prior calls to the LVVE_Tx_GetMemoryTable functions.

-@pre The initialization parameter structure defined by pInstParams is identical to the structure passed

-to prior call to @ref LVVE_Tx_GetMemoryTable functions.

-

-

-@param  phInstance              Pointer to the instance handle.

-@param  pMemoryTable            Pointer to the memory definition table.

-@param  pInstanceParams         Pointer to the instance parameters.

-

-@return  LVVE_SUCCESS           when creation was successful

-@return  LVVE_NULLADDRESS       When phInstance or pMemoryTable or pInstanceParams is NULL.

-@return  LVVE_NULLADDRESS       when one or more of the memory regions with a non-zero size has been

-                                given a NULL base address pointer.

-@return LVVE_OUTOFRANGE         when pInstParams contains parameters out of the excepted range

-

-@ingroup LVVE_Tx

-

- LVVE_Tx_GetInstanceHandle Example:

-

-The following example shows how to initialize LVVE_Tx_GetInstanceHandle.

-

-\code

-    hInstance_Tx = LVM_NULL;

-    LVVE_Status = LVVE_Tx_GetInstanceHandle( &hInstance_Tx,

-                                             &MemTab_Tx,

-                                             &InstParams_Tx );

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetInstanceHandle(LVVE_Tx_Handle_t                *phInstance,

-                                               LVM_MemoryTable_st              *pMemoryTable,

-                                               LVVE_Tx_InstanceParams_st       *pInstanceParams);

-

-/**

-@brief Created handle to the instance of the LVVE_Rx module

-

-This functions is used to create LVVE_Rx instance. All control parameters are set to invalid values.

-The memory table pointed to by pMemoryTable must be created. If the memory table is not correct then an error will be returned.

-The memory requirements of the Rx and Rx unit are dependent on the instance parameters supplied and so the

-instance parameters provided in this function call must be the same as those used in the @ref LVVE_Rx_GetMemoryTable function calls

-used for memory allocation.

-

-@pre The memory records tables defined by pMemoryTable contains pointers to non-overlapping buffers

-with the size as requested via the prior calls to the LVVE_Rx_GetMemoryTable functions.

-@pre The initialization parameter structure defined by pInstParams is identical to the structure passed

-to prior call to @ref LVVE_Rx_GetMemoryTable functions.

-

-

-@param  phInstance              Pointer to the instance handle.

-@param  pMemoryTable            Pointer to the memory definition table.

-@param  pInstanceParams         Pointer to the instance parameters.

-

-@return  LVVE_SUCCESS           when creation was successful

-@return  LVVE_NULLADDRESS       When phInstance or pMemoryTable or pInstanceParams is NULL.

-@return  LVVE_NULLADDRESS       when one or more of the memory regions with a non-zero size has been

-                                given a NULL base address pointer.

-@return LVVE_OUTOFRANGE         when pInstParams contains parameters out of the excepted range

-

-@ingroup LVVE_Rx

-

- LVVE_Rx_GetInstanceHandle Example:

-

-The following example shows how to initialize LVVE_Rx_GetInstanceHandle.

-

-\code

-    hInstance_Rx = LVM_NULL;

-    LVVE_Status = LVVE_Rx_GetInstanceHandle( &hInstance_Rx,

-                                             &MemTab_Rx,

-                                             &InstParams_Rx );

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetInstanceHandle(LVVE_Rx_Handle_t                *phInstance,

-                                               LVM_MemoryTable_st              *pMemoryTable,

-                                               LVVE_Rx_InstanceParams_st       *pInstanceParams);

-

-/**

-@brief Retrieve the current LVVE_Tx control parameters.

-

-This function copies the control parameters from the LVVE_Tx into the supplied

-parameter structure, pControlParams. The values returned are the values given in the last successful

-call to the LVVE_Tx_SetControlParameters function.

-

-@param hInstance              Instance handle

-@param pControlParams         Pointer to the control parameters

-

-@pre   hInstance should be valid handle.

-@pre   pControlParams should be allocated by caller.

-@post  pControlParams will be filled with the values given in the last successful call to

-       the LVVE_Tx_SetControlParameters function. They are not necessarily the values

-       used in the last call to the LVVE_Tx_Process function, this will be the case if

-       LVVE_Tx_SetControlParameters has been called since the last call to LVVE_Tx_Process.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pControlParams is NULL

-

-@note The LVVE_Tx_GetControlParameters function can be called at any time during processing.

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetControlParameters Example:

-

-The following example shows how to get different control parameters for the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetControlParameters(   LVVE_Tx_Handle_t           hInstance,

-                                                     LVVE_Tx_ControlParams_st   *pControlParams);

-

-/**

-@brief Retrieve the current LVVE_Rx control parameters.

-

-This function copies the control parameters from the LVVE_Tx into the supplied

-parameter structure, pControlParams. The values returned are the values given in the last successful

-call to the LVVE_Rx_SetControlParameters function.

-

-@param hInstance              Instance handle

-@param pControlParams         Pointer to the control parameters

-

-@pre   hInstance should be valid handle.

-@pre   pControlParams should be allocated by caller.

-@post  pControlParams will be filled with the values given in the last successful call to

-       the LVVE_Rx_SetControlParameters function. They are not necessarily the values

-       used in the last call to the LVVE_Rx_Process function, this will be the case if

-       LVVE_Tx_SetControlParameters has been called since the last call to LVVE_Tx_Process.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pControlParams is NULL

-

-@note The LVVE_Rx_GetControlParameters function can be called at any time during processing.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetControlParameters Example:

-

-The following example shows how to get different control parameters for the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetControlParameters(   LVVE_Rx_Handle_t           hInstance,

-                                                     LVVE_Rx_ControlParams_st   *pControlParams);

-

-/**

-@brief Sets or changes the LVVE_Tx module parameters using C-strcuture.

-

-This function takes the new set of parameters and makes a local copy within

-LVVE_Tx but the parameters are only applied on the next call of the LVVE_Tx_Process

-function. When a parameter is unchanged no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Tx_Process function

-is running. LifeVibes&trade; VoiceExperience control parameters can be set using two methods.

-Control Parameters can be populated in a \"C\" style structure (as explained in example) and then sent to the library.

-Another method is to populate control parameters in a byte array called Preset Buffer, see @ref LVVE_Tx_SetPreset for example usage.

-

-@param hInstance               Instance Handle

-@param pNewParams              Pointer to a parameter structure

-

-@pre hInstance should be valid handle.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pNewParams is NULL

-@return LVVE_OUTOFRANGE       When pNewParams contains parameters of activated modules that are out of the excepted range

-@return LVVE_INVALID_ALGORITHM_CONFIGURATION  When two mutual exclusive algorithms are both configured ON at run-time

-                                               (e.g., NoiseVoid and HandsFree)

-

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetControlParameters: Setting Control Parameters using C-Style structure Example:

-

-The following example shows how to set different control parameters for the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-     Change Parameters as required

-    ControlParams_Tx.VOL_Gain         = VOL_TABLE[i];

-    ControlParams_Tx.VC_ControlParams = VC_TABLE[i];

-

-    // Update instance with new parameters

-    LVVE_Status = LVVE_Tx_SetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_SetControlParameters(   LVVE_Tx_Handle_t           hInstance,

-                                        const LVVE_Tx_ControlParams_st * const pNewParams);

-

-/**

-@brief Sets or changes the LVVE_Rx module parameters using C-structure.

-

-This function takes the new set of parameters and makes a local copy within

-LVVE_Rx but the parameters are only applied on the next call of the LVVE_Rx_Process

-function. When a parameter is unchanged no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Rx_Process function

-is running. LifeVibes&trade; VoiceExperience control parameters can be set using two methods.

-Control Parameters can be populated in a \"C\" style structure (as explained in example) and then sent to the library.

-Another method is to populate control parameters in a byte array called Preset Buffer, see @ref LVVE_Rx_SetPreset for example usage.

-

-@param hInstance               Instance Handle

-@param pNewParams              Pointer to a parameter structure

-

-@pre hInstance should be valid handle.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pNewParams is NULL

-@return LVVE_OUTOFRANGE       When pNewParams contains parameters of activated modules that are out of the excepted range

-@return LVVE_INVALID_ALGORITHM_CONFIGURATION  When two mutual exclusive algorithms are both configured ON at run-time

-                                               (e.g., NoiseVoid and HandsFree)

-

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetControlParameters: Setting Control Parameters using C-Style structure Example:

-

-The following example shows how to set different control parameters for the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-     Change Parameters as required

-    ControlParams_Rx.VOL_Gain         = VOL_TABLE[i];

-    ControlParams_Rx.VC_ControlParams = VC_TABLE[i];

-

-    // Update instance with new parameters

-    LVVE_Status = LVVE_Rx_SetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_SetControlParameters(   LVVE_Rx_Handle_t           hInstance,

-                                        const LVVE_Rx_ControlParams_st * const pNewParams);

-

-/**

-@brief Retrieve the current LVVE_Tx status parameters.

-

-This function copies internal status variables into the supplied status

-parameter structures.

-

-@param hInstance      Instance handle

-@param pStatusParams  Pointer to the status parameters

-

-@pre   hInstance should be valid handle.

-@pre   pStatusParams should be allocated by caller.

-@post  pStatusParams will be filled with the latest status values of LVVE_Tx.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pStatusParams is NULL

-

-@note The LVVE_Tx_GetStatusParameters function can be called at any time during processing.

-This function can run in different threads than the process functions.

-

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetStatusParameters: Get Internal Algorithm Status Attributes Example:

-The following example shows how to use LVVE_Tx_GetStatusParameters function call.

-

-\code

-    LVVE_Tx_StatusParams_st  Tx_Monitor;

-    Status=LVVE_Tx_GetStatusParameters(hInstance_Tx,&Tx_Monitor);

-    if (Status != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetStatusParameters(    LVVE_Tx_Handle_t           hInstance,

-                                                     LVVE_Tx_StatusParams_st    *pStatusParams);

-

-/**

-@brief Retrieve the current LVVE_Rx status parameters.

-

-This function copies internal status variables into the supplied status

-parameter structures.

-

-@param hInstance      Instance handle

-@param pStatusParams  Pointer to the status parameters

-

-@pre   hInstance should be valid handle.

-@pre   pStatusParams should be allocated by caller.

-@post  pStatusParams will be filled with the latest status values of LVVE_Rx.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pStatusParams is NULL

-

-@note The LVVE_Rx_GetStatusParameters function can be called at any time during processing.

-This function can run in different threads than the process functions.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetStatusParameters: Get Internal Algorithm Status Attributes Example:

-The following example shows how to use LVVE_Rx_GetStatusParameters function call.

-

-\code

-    LVVE_Rx_StatusParams_st  Rx_Monitor;

-    Status=LVVE_Rx_GetStatusParameters(hInstance_Rx,&Rx_Monitor);

-    if (Status != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetStatusParameters(    LVVE_Rx_Handle_t           hInstance,

-                                                     LVVE_Rx_StatusParams_st    *pStatusParams);

-

-/**

-@brief Resets the LVVE_Tx module.

-

-The LVVE_Tx module instance memory contains data which depend on the input

-samples that have been processed previously.  These data are buffers

-used for filter tabs and delay lines and also adaptive coefficients of the

-algorithm.  The LVVE_Tx_ResetInstance function resets this input dependent data.

-

-The LVVE_Tx_ResetInstance function should be called whenever there is a

-discontinuity in the input audio stream.  A discontinuity means that the

-current block of samples is not contiguous with the previous block of samples.

-Examples are

-@li Calling the LVVE_Tx_Process function after a period of inactivity

-@li Buffer underrun or overflow in the audio driver

-The LVVE_ResetInstance function of the Tx and/or Tx Unit should only be called when absolutely necessary as re-adaptation

-of internal algorithms will occur.

-The LVVE_ResetInstance functions can be called at any time, even when LVVE_Process is running. The reset will be

-applied at the start of the next call of the LVVE_Tx_Process function.

-

-

-@param hInstance               Instance Handle

-@param pResetParams            Reset Type

-

-@pre hInstance should be valid handle.

-

-@post Depending on the ResetType value, the LVVE_Tx_ResetInstance function can

-perform:

-@li Soft reset: partial reset of internal buffers and adaptive behavior. To be used for very short

-interruption or discontinuity, e.g., buffer under-run or overflow in the audio driver influencing the echo path delay.

-@li Hard reset: full reset of all internal buffers and adaptive behavior. To be used for long

-interruption or discontinuity, e.g., before calling the LVVE_Tx_Process function after a long period of inactivity

-in between calls in case instance was not freed.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pResetParams is NULL

-@return LVVE_OUTOFRANGE       When content of pResetParams is invalid

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_ResetInstance Example:

-

-The following example shows how to use LVVE_Tx_ResetInstance.

-\code

-    LVVE_Status = LVVE_Tx_ResetInstance(hInstance, pResetParams);

-

-    if (LVVE_Status != LVVE_SUCCESS)

-    {

-        // Handle LVVE_Tx_ResetInstance errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_ResetInstance(  LVVE_Tx_Handle_t        hInstance,

-                                             LVVE_Tx_ResetParams_st *pResetParams  );

-

-/**

-@brief Resets the LVVE_Rx module.

-

-The LVVE_Rx module instance memory contains data which depend on the input

-samples that have been processed previously.  These data are buffers

-used for filter tabs and delay lines and also adaptive coefficients of the

-algorithm.  The LVVE_Rx_ResetInstance function resets this input dependent data.

-

-The LVVE_Rx_ResetInstance function should be called whenever there is a

-discontinuity in the input audio stream.  A discontinuity means that the

-current block of samples is not contiguous with the previous block of samples.

-Examples are

-@li Calling the LVVE_Rx_Process function after a period of inactivity

-@li Buffer underrun or overflow in the audio driver

-The LVVE_ResetInstance function of the Rx and/or Tx Unit should only be called when absolutely necessary as re-adaptation

-of internal algorithms will occur.

-The LVVE_ResetInstance functions can be called at any time, even when LVVE_Process is running. The reset will be

-applied at the start of the next call of the LVVE_Rx_Process function.

-

-

-@param hInstance               Instance Handle

-@param pResetParams            Reset Type

-

-@pre hInstance should be valid handle.

-

-@post Depending on the ResetType value, the LVVE_Rx_ResetInstance function can

-perform:

-@li Soft reset: partial reset of internal buffers and adaptive behavior. To be used for very short

-interruption or discontinuity, e.g., buffer under-run or overflow in the audio driver influencing the echo path delay.

-@li Hard reset: full reset of all internal buffers and adaptive behavior. To be used for long

-interruption or discontinuity, e.g., before calling the LVVE_Rx_Process function after a long period of inactivity

-in between calls in case instance was not freed.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pResetParams is NULL

-@return LVVE_OUTOFRANGE       When content of pResetParams is invalid

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_ResetInstance Example:

-

-The following example shows how to use LVVE_Rx_ResetInstance.

-\code

-    LVVE_Status = LVVE_Rx_ResetInstance(hInstance, pResetParams);

-

-    if (LVVE_Status != LVVE_SUCCESS)

-    {

-        // Handle LVVE_Rx_ResetInstance errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_ResetInstance(  LVVE_Rx_Handle_t        hInstance,

-                                             LVVE_Rx_ResetParams_st *pResetParams  );

-

-/**

-@brief Processes a block of samples by the LVVE_Tx module.

-

-This function processes the block of samples as configured with the current

-parameter settings. If new parameters have been given since the last call to

-LVVE_Tx_Process then these will be applied at the beginning of this process call.

-

-@param hInstance      Instance Handle

-@param pInDataMic0    Pointer to the input speech sample buffer (pimary microphone).

-@param pInDataMic1    Pointer to the input speech sample buffer (secondary microphone).

-@param pRefData       Pointer to the input farend reference buffer.

-@param pNoiseData     Pointer to the output noise reference buffer.

-@param pOutData       Pointer to the output sample buffer.

-@param NumSamples     The number of samples to process should be integer multiple(n) of values in table.

-                      It is a frquency dependant paramter.

-<table border>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>nx80 for 8kHz</td>

-       <td>80 for 8kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx160 for 16kHz</td>

-       <td>160 for 16kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx240 for 24kHz</td>

-       <td>240 for 24kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx320 for 32kHz</td>

-       <td>320 for 32kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx480 for 48kHz</td>

-       <td>480 for 48kHz</td>

-   </tr>

-</table>

-

-@pre hInstance should be valid handle.

-@pre LVVE_Tx_SetControlParameters should be called successfully once before.

-the first call to LVVE_Tx_Process

-@pre pInData is filled with the input samples to process.

-

-@post pOutData contains the processed samples.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance, pInData or pOutData is NULL

-@return LVVE_INVALIDNUMSAMPLES When the NumSamples is outside the allowed

-range

-@return LVVE_INVALID_STATE_CONFIGURATION When invalid state of the algorithm found

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_Process Example:

-

-The following example shows how to use LVVE_Tx_Process function call

-

-\code

-    // Tx Processing

-    LVVE_STATUS = LVVE_Tx_Process( hInstance_Tx,

-                                   pInData_Tx0,

-                                   pInData_Tx1,

-                                   pInData_Ref,

-                                   pNoiseData,

-                                   pOutData_Tx,

-                                   NumSamples );

-    if (LVVE_STATUS != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_Process(   LVVE_Tx_Handle_t    hInstance,

-                                        const LVM_INT16     *pInDataMic0,

-                                        const LVM_INT16     *pInDataMic1,

-                                        const LVM_INT16     *pRefData,

-                                        LVM_INT16           *pNoiseData,

-                                        LVM_INT16           *pOutData,

-                                        const LVM_UINT16    NumSamples);

-

-/**

-@brief Processes a block of samples by the LVVE_Rx module.

-

-This function processes the block of samples as configured with the current

-parameter settings. If new parameters have been given since the last call to

-LVVE_Rx_Process then these will be applied at the beginning of this process call.

-

-@param hInstance      Instance Handle

-@param pInData        Pointer to the input sample buffer

-@param pNoiseData     Pointer to the input noise buffer (for LVVC only). Pointer to the input noise reference buffer.

-                      The size of this buffer depends on the number of samples to process: NoiseDataBufferSize = 2 (size of the input buffer in ms) / 10ms

-                        i.e. for 20 ms input buffer, the NoiseData buffer size should be 4.

-

-@param pOutData       Pointer to the output sample buffer

-@param NumSamples     The number of samples to process should be integer multiple(n) of values in table.

-                      It is a frquency dependant paramter.

-<table border>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>nx80 for 8kHz</td>

-       <td>80 for 8kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx160 for 16kHz</td>

-       <td>160 for 16kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx240 for 24kHz</td>

-       <td>240 for 24kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx320 for 32kHz</td>

-       <td>320 for 32kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx480 for 48kHz</td>

-       <td>480 for 48kHz</td>

-   </tr>

-</table>

-

-@pre hInstance should be valid handle.

-@pre LVVE_Rx_SetControlParameters should be called successfully once before.

-the first call to LVVE_Rx_Process

-@pre pInData is filled with the input samples to process.

-

-@post pOutData contains the processed samples.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance, pInData or pOutData is NULL

-@return LVVE_INVALIDNUMSAMPLES When the NumSamples is outside the allowed

-range

-@return LVVE_INVALID_STATE_CONFIGURATION When invalid state of the algorithm found

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_Process Example:

-The following example shows how to use LVVE_Rx_Process function call.

-

-\code

-    // Rx Processing

-    LVVE_STATUS = LVVE_Rx_Process( hInstance_Rx,

-                                   pInData_Rx,

-                                   pNoiseData,

-                                   pOutData_Rx,

-                                   NumSamples );

-

-    if (LVVE_STATUS != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_Process(   LVVE_Rx_Handle_t    hInstance,

-                                        const LVM_INT16     *pInData,

-                                        const LVM_INT16     *pNoiseData,

-                                        LVM_INT16           *pOutData,

-                                        const LVM_UINT16    NumSamples);

-

-

-/**

-\brief get the version number of current of LVVE library.

-

-This function returns, to host, current version of the LVVE library

-@param  pVersion                version info

-

-@return  LVVE_SUCCESS           Succeeded

-@return  LVVE_NULLADDRESS       When one of hInstance, pInData or pOutData is NULL

-

-LVVE_GetVersionInfot Example:

-

-\code

-    //Get the version information

-    LVVE_VersionInfo     VersionInfo;

-    LVVE_GetVersionInfo(&VersionInfo);

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_GetVersionInfo( LVVE_VersionInfo *pVersion );

-

-/**

-@brief Sets or changes the LVVE_Tx module parameters through a Preset Buffer.

-

-Sets or changes the LVVE_Tx module parameters through a Preset Buffer. To set parameters using \"C\" structure see

-@ref LVVE_Tx_SetControlParameters

-This function takes the new set of parameters and makes a local copy within the

-LVVE_Tx module but the parameters are only applied on the next call of the LVVE_Tx_Process

-function. When no parameters are changed, no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Tx_Process function

-is running.

-The new parameters are supplied in the form a @ref LVVE_Tx_Preset_t (Byte array).

-The length of the byte array shall be a multiple of @ref LVVE_TX_PRESET_LENGTH.

-

-@param hInstance               Instance Handle

-@param pPreset                 Pointer to a Preset buffer

-@param PresetLength            Length in bytes of the Preset buffer

-@param VolumeIndex             Volume index to be selected from the Preset buffer

-

-@pre hInstance should be valid handle.

-

-@return @ref LVVE_SUCCESS          Succeeded

-@return @ref LVVE_NULLADDRESS      When hInstance or pPreset is NULL

-@return @ref LVVE_OUTOFRANGE       When PresetLength or any of the new parameters is out of range

-@return @ref LVVE_INVALID_ALGORITHM_CONFIGURATION When mutually exclusive algorithms are enabled in the parameters at the same time

-@return @ref LVVE_PRESET_INVALID_BUFFER_LENGTH When the length of the input buffer is smaller than LVVE_TX_PRESET_LENGTH

-@return @ref LVVE_PRESET_INVALID_VOLUME_INDEX When the volume index exceeds the buffer content

-@return @ref LVVE_PRESET_INVALID_BUFFER_VERSION When the version of the format of the preset buffer does not match the version of the library

-@return @ref LVVE_PRESET_INVALID_BASELINE_VERSION When the baseline version of the provided preset buffer and the baseline version of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_MASK When the algorithm mask of the provided preset buffer and the algorithm mask of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_SAMPLE_RATE When the sample rate @ref LVM_Fs_en of the preset does not match the sample rate of the hInstance

-@return @ref LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID  When the LVWireformat message id @ref LVVIDHeader_MessageID_en of the preset is not valid

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-LVVE_Tx_SetPreset: Setting Control Parameters using Preset Buffer Example:

-

-The following example shows how to set different control parameters for the LVVE_Tx instance using Preset Buffer.

-

-\code

-    LVM_CHAR LVVE_Tx_Preset_Buffer[LVVE_TX_PRESET_LENGTH];

-    LVVE_Tx_Preset_t const LVVE_Tx_Preset = LVVE_Tx_Preset_Buffer;

-

-    FILE *PRESETFILE_Tx;

-    LVM_INT32 ReadBytes = 0;

-

-    PRESETFILE_Tx=fopen(filename, "rb" );

-

-    // Read the preset buffer

-    ReadBytes = fread( LVVE_Tx_Preset_Buffer,

-                       sizeof(LVM_CHAR),

-                       (LVM_UINT32)LVVE_TX_PRESET_LENGTH,

-                       PRESETFILE_Tx );

-

-    fclose(PRESETFILE_Tx);

-

-     // Update instance with new preset buffer

-    LVVE_Status = LVVE_Tx_SetPreset( hInstance_Tx,

-                                     LVVE_Tx_Preset,

-                                     ReadBytes,

-                                     0);

-

-    if ( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_SetPreset(LVVE_Tx_Handle_t hInstance,

-                                       const LVVE_Tx_Preset_t pPreset,

-                                       LVM_UINT32 PresetLength,

-                                       LVM_UINT16 VolumeIndex);

-

-/**

-@brief Sets or changes the LVVE_Rx module parameters through a Preset Buffer

-

-Sets or changes the LVVE_Rx module parameters through a Preset Buffer. To set parameters using \"C\" structure see

-@ref LVVE_Rx_SetControlParameters

-This function takes the new set of parameters and makes a local copy within the

-LVVE_Rx module but the parameters are only applied on the next call of the LVVE_Rx_Process

-function. When no parameters are changed, no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Rx_Process function

-is running.

-The new parameters are supplied in the form a @ref LVVE_Rx_Preset_t (Byte array).

-The length of the byte array shall be a multiple of @ref LVVE_RX_PRESET_LENGTH.

-

-@param hInstance               Instance Handle

-@param pPreset                 Pointer to a Preset buffer

-@param PresetLength            Length in bytes of the Preset buffer

-@param VolumeIndex             Volume index to be selected from the Preset buffer

-

-@pre hInstance should be valid handle.

-

-@return @ref LVVE_SUCCESS          Succeeded

-@return @ref LVVE_NULLADDRESS      When hInstance or pPreset is NULL

-@return @ref LVVE_OUTOFRANGE       When PresetLength or any of the new parameters is out of range

-@return @ref LVVE_INVALID_ALGORITHM_CONFIGURATION When mutually exclusive algorithms are enabled in the parameters at the same time

-@return @ref LVVE_PRESET_INVALID_BUFFER_LENGTH When the length of the input buffer is smaller than LVVE_RX_PRESET_LENGTH

-@return @ref LVVE_PRESET_INVALID_VOLUME_INDEX When the volume index exceeds the buffer content

-@return @ref LVVE_PRESET_INVALID_BUFFER_VERSION When the version of the format of the preset buffer does not match the version of the library

-@return @ref LVVE_PRESET_INVALID_BASELINE_VERSION When the baseline version of the provided preset buffer and the baseline version of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_MASK When the algorithm mask of the provided preset buffer and the algorithm mask of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_SAMPLE_RATE When the sample rate @ref LVM_Fs_en of the preset does not match the sample rate of the hInstance

-@return @ref LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID  When the LVWireformat message id @ref LVVIDHeader_MessageID_en of the preset is not valid

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_SetPreset: Setting Control Parameters using Preset Buffer Example:

-

-The following example shows how to set different control parameters for the LVVE_Rx instance using Preset Buffer.

-

-\code

-    #define NUM_VOLUMES (5)

-    LVM_CHAR LVVE_Rx_Preset_Buffer[NUM_VOLUMES*LVVE_RX_PRESET_LENGTH];

-    LVVE_Rx_Preset_t const LVVE_Rx_Preset = LVVE_Rx_Preset_Buffer;

-

-    FILE *PRESETFILE_Rx;

-    LVM_INT32 ReadBytes = 0;

-    LVM_UINT16 VolumeIndex = 3;

-

-    PRESETFILE_Rx=fopen(filename, "rb" );

-

-    // Read the preset buffer

-    ReadBytes = fread( LVVE_Rx_Preset_Buffer,

-                       sizeof(LVM_CHAR),

-                       (LVM_UINT32)(NUM_VOLUMES*LVVE_RX_PRESET_LENGTH),

-                       PRESETFILE_Rx );

-

-    fclose(PRESETFILE_Rx);

-

-     // Update instance with new preset buffer

-    LVVE_Status = LVVE_Rx_SetPreset( hInstance_Rx,

-                                     LVVE_Rx_Preset,

-                                     ReadBytes,

-                                     VolumeIndex);

-

-    if ( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_SetPreset(LVVE_Rx_Handle_t hInstance,

-                                       const LVVE_Rx_Preset_t pPreset,

-                                       LVM_UINT32 PresetLength,

-                                       LVM_UINT16 VolumeIndex);

-

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif      /* __LVVE_H__ */

-

-/* End of file */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE_VID.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE_VID.h
deleted file mode 100755
index 98a1461..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/LVVE_VID.h
+++ /dev/null
@@ -1,8452 +0,0 @@
-/****************************************************************************************/

-/*  Copyright (c) 2004-2015 NXP Software. All rights are reserved.                      */

-/*  Reproduction in whole or in part is prohibited without the prior                    */

-/*  written consent of the copyright owner.                                             */

-/*                                                                                      */

-/*  This software and any compilation or derivative thereof is and                      */

-/*  shall remain the proprietary information of NXP Software and is                     */

-/*  highly confidential in nature. Any and all use hereof is restricted                 */

-/*  and is subject to the terms and conditions set forth in the                         */

-/*  software license agreement concluded with NXP Software.                             */

-/*                                                                                      */

-/*  Under no circumstances is this software or any derivative thereof                   */

-/*  to be combined with any Open Source Software in any way or                          */

-/*  licensed under any Open License Terms without the express prior                     */

-/*  written  permission of NXP Software.                                                */

-/*                                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means                 */

-/*  any software that is licensed under Open License Terms. Open                        */

-/*  License Terms means terms in any license that require as a                          */

-/*  condition of use, modification and/or distribution of a work                        */

-/*                                                                                      */

-/*           1. the making available of source code or other materials                  */

-/*              preferred for modification, or                                          */

-/*                                                                                      */

-/*           2. the granting of permission for creating derivative                      */

-/*              works, or                                                               */

-/*                                                                                      */

-/*           3. the reproduction of certain notices or license terms                    */

-/*              in derivative works or accompanying documentation, or                   */

-/*                                                                                      */

-/*           4. the granting of a royalty-free license to any party                     */

-/*              under Intellectual Property Rights                                      */

-/*                                                                                      */

-/*  regarding the work and/or any work that contains, is combined with,                 */

-/*  requires or otherwise is based on the work.                                         */

-/*                                                                                      */

-/*  This software is provided for ease of recompilation only.                           */

-/*  Modification and reverse engineering of this software are strictly                  */

-/*  prohibited.                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-/****************************************************************************************/

-/*                                                                                      */

-/*     $Author: nxp65285 $*/

-/*     $Revision: 49390 $*/

-/*     $Date: 2013-10-16 18:34:35 +0530 (Wed, 16 Oct 2013) $*/

-/*                                                                                      */

-/****************************************************************************************/

-

-/** @file

- *  Header file for the application layer interface of the REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_WB module

- *

- *  The suffix VID in header file stands for Voice Interface Definition

- *  This files includes all definitions, types, and structures required by the calling

- *  layer. Public functions are defined in the protoypes header files.

- *  All other types, structures and functions are private.

- */

-

-#ifndef __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_WB_VIDPP_H__

-#define __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_WB_VIDPP_H__

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Includes                                                                            */

-/*                                                                                      */

-/****************************************************************************************/

-#include "LVC_Types.h"

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVFENS_MASK1</td>

-        <td>1</td>

-        <td>Far End Noise Suppression is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_HPF_MASK1</td>

-        <td>4</td>

-        <td>High Pass Filter is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVNG_MASK1</td>

-        <td>16</td>

-        <td>Noise Gate is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_EQ_MASK1</td>

-        <td>64</td>

-        <td>Equalizer is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_AGC_MASK1</td>

-        <td>128</td>

-        <td>Automatic Gain Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_DRC_MASK1</td>

-        <td>256</td>

-        <td>Dynamic Range Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_VOL_MASK1</td>

-        <td>512</td>

-        <td>Volume Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVVC_MASK1</td>

-        <td>1024</td>

-        <td>VoiceClarity is present in the LVVE_Rx</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Rx_Mask1_bm;

-/**

-* @def LVVIDHeader_LVVE_Rx_LVFENS_MASK1

-* Far End Noise Suppression is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVFENS_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)1)

-/**

-* @def LVVIDHeader_LVVE_Rx_HPF_MASK1

-* High Pass Filter is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_HPF_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)4)

-/**

-* @def LVVIDHeader_LVVE_Rx_LVNG_MASK1

-* Noise Gate is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVNG_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)16)

-/**

-* @def LVVIDHeader_LVVE_Rx_EQ_MASK1

-* Equalizer is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_EQ_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)64)

-/**

-* @def LVVIDHeader_LVVE_Rx_AGC_MASK1

-* Automatic Gain Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_AGC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)128)

-/**

-* @def LVVIDHeader_LVVE_Rx_DRC_MASK1

-* Dynamic Range Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_DRC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)256)

-/**

-* @def LVVIDHeader_LVVE_Rx_VOL_MASK1

-* Volume Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_VOL_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)512)

-/**

-* @def LVVIDHeader_LVVE_Rx_LVVC_MASK1

-* VoiceClarity is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVVC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)1024)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Rx_Mask1_bm

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK1_BM_MIN ((LVVIDHeader_LVVE_Rx_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Rx_Mask1_bm

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVFENS_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)1)

-#define LVVIDHEADER_LVVE_RX_HPF_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)4)

-#define LVVIDHEADER_LVVE_RX_LVNG_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)16)

-#define LVVIDHEADER_LVVE_RX_EQ_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)64)

-#define LVVIDHEADER_LVVE_RX_AGC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)128)

-#define LVVIDHEADER_LVVE_RX_DRC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)256)

-#define LVVIDHEADER_LVVE_RX_VOL_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)512)

-#define LVVIDHEADER_LVVE_RX_LVVC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)1024)

-#define LVVIDHEADER_LVVE_RX_MASK1_BM_MAX (LVVIDHEADER_LVVE_RX_LVFENS_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_HPF_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_LVNG_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_EQ_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_AGC_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_DRC_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_VOL_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_LVVC_MASK1_FORMAX | ((LVVIDHeader_LVVE_Rx_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Rx_Mask2_bm;

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Rx_Mask2_bm

-* @see LVVIDHeader_LVVE_Rx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK2_BM_MIN ((LVVIDHeader_LVVE_Rx_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Rx_Mask2_bm

-* @see LVVIDHeader_LVVE_Rx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK2_BM_MAX (((LVVIDHeader_LVVE_Rx_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_LVHF_MASK1</td>

-        <td>1</td>

-        <td>HandsFree is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_EQ_MASK1</td>

-        <td>4</td>

-        <td>Equalizer is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_LVWM_MASK1</td>

-        <td>8</td>

-        <td>WhisperMode is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_DRC_MASK1</td>

-        <td>16</td>

-        <td>Dynamic Range Control is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_VOL_MASK1</td>

-        <td>32</td>

-        <td>Volume Control is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_HPF_MASK1</td>

-        <td>128</td>

-        <td>HPF is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_LVNV_01_MASK1</td>

-        <td>512</td>

-        <td>NoiseVoid is present in the LVVE_Tx</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Tx_Mask1_bm;

-/**

-* @def LVVIDHeader_LVVE_Tx_LVHF_MASK1

-* HandsFree is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVHF_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)1)

-/**

-* @def LVVIDHeader_LVVE_Tx_EQ_MASK1

-* Equalizer is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_EQ_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)4)

-/**

-* @def LVVIDHeader_LVVE_Tx_LVWM_MASK1

-* WhisperMode is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVWM_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)8)

-/**

-* @def LVVIDHeader_LVVE_Tx_DRC_MASK1

-* Dynamic Range Control is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_DRC_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)16)

-/**

-* @def LVVIDHeader_LVVE_Tx_VOL_MASK1

-* Volume Control is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_VOL_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)32)

-/**

-* @def LVVIDHeader_LVVE_Tx_HPF_MASK1

-* HPF is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_HPF_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)128)

-/**

-* @def LVVIDHeader_LVVE_Tx_LVNV_01_MASK1

-* NoiseVoid is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVNV_01_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)512)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Tx_Mask1_bm

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK1_BM_MIN ((LVVIDHeader_LVVE_Tx_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Tx_Mask1_bm

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVHF_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)1)

-#define LVVIDHEADER_LVVE_TX_EQ_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)4)

-#define LVVIDHEADER_LVVE_TX_LVWM_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)8)

-#define LVVIDHEADER_LVVE_TX_DRC_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)16)

-#define LVVIDHEADER_LVVE_TX_VOL_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)32)

-#define LVVIDHEADER_LVVE_TX_HPF_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)128)

-#define LVVIDHEADER_LVVE_TX_LVNV_01_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)512)

-#define LVVIDHEADER_LVVE_TX_MASK1_BM_MAX (LVVIDHEADER_LVVE_TX_LVHF_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_EQ_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_LVWM_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_DRC_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_VOL_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_HPF_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_LVNV_01_MASK1_FORMAX | ((LVVIDHeader_LVVE_Tx_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Tx_Mask2_bm;

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Tx_Mask2_bm

-* @see LVVIDHeader_LVVE_Tx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK2_BM_MIN ((LVVIDHeader_LVVE_Tx_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Tx_Mask2_bm

-* @see LVVIDHeader_LVVE_Tx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK2_BM_MAX (((LVVIDHeader_LVVE_Tx_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_CONFIGURATIONS_WIDEBAND_MASK1</td>

-        <td>2</td>

-        <td>WideBand configuration is present in the LVVE</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_Configurations_Mask1_bm;

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_WIDEBAND_MASK1

-* WideBand configuration is present in the LVVE

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_WIDEBAND_MASK1 ((LVVIDHeader_Configurations_Mask1_bm)2)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_Configurations_Mask1_bm

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MIN ((LVVIDHeader_Configurations_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_Configurations_Mask1_bm

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_WIDEBAND_MASK1_FORMAX ((LVVIDHeader_Configurations_Mask1_bm)2)

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX (LVVIDHEADER_CONFIGURATIONS_WIDEBAND_MASK1_FORMAX | ((LVVIDHeader_Configurations_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_Configurations_Mask2_bm;

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_Configurations_Mask2_bm

-* @see LVVIDHeader_Configurations_Mask2_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MIN ((LVVIDHeader_Configurations_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_Configurations_Mask2_bm

-* @see LVVIDHeader_Configurations_Mask2_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX (((LVVIDHeader_Configurations_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL</td>

-        <td>2</td>

-        <td>Turns on or off the AGC. If off both AGC and Limiter are bypassed.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL_ADAPT</td>

-        <td>4</td>

-        <td>Allows turning off the dependency of the AGC upon the nearend noise level. When turned off, the AGC uses the default parameters.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL_SPDETECT</td>

-        <td>8</td>

-        <td>Allows disabling speech detection in the AGC. When turned off, the AGC adapts its gain all the time.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_LIMITER</td>

-        <td>16</td>

-        <td>Turns on or off the limiter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_LPF</td>

-        <td>32</td>

-        <td>Turns on or off the low-pass filter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_HPF</td>

-        <td>64</td>

-        <td>Turns on or off the high-pass filter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_VC</td>

-        <td>128</td>

-        <td>Turns on or off the VoiceClarity gain.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVC_ModeWord_bm;

-/**

-* @def LVVC_MODE_AVL

-* Turns on or off the AGC. If off both AGC and Limiter are bypassed.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL ((LVVC_ModeWord_bm)2)

-/**

-* @def LVVC_MODE_AVL_ADAPT

-* Allows turning off the dependency of the AGC upon the nearend noise level. When turned off, the AGC uses the default parameters.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_ADAPT ((LVVC_ModeWord_bm)4)

-/**

-* @def LVVC_MODE_AVL_SPDETECT

-* Allows disabling speech detection in the AGC. When turned off, the AGC adapts its gain all the time.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_SPDETECT ((LVVC_ModeWord_bm)8)

-/**

-* @def LVVC_MODE_LIMITER

-* Turns on or off the limiter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_LIMITER ((LVVC_ModeWord_bm)16)

-/**

-* @def LVVC_MODE_LPF

-* Turns on or off the low-pass filter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_LPF ((LVVC_ModeWord_bm)32)

-/**

-* @def LVVC_MODE_HPF

-* Turns on or off the high-pass filter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_HPF ((LVVC_ModeWord_bm)64)

-/**

-* @def LVVC_MODE_VC

-* Turns on or off the VoiceClarity gain.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_VC ((LVVC_ModeWord_bm)128)

-/**

-* @def LVVC_MODEWORD_BM_MIN

-* Minimal value for LVVC_ModeWord_bm

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODEWORD_BM_MIN ((LVVC_ModeWord_bm)0)

-/**

-* @def LVVC_MODEWORD_BM_MAX

-* Maximal value for LVVC_ModeWord_bm

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_FORMAX ((LVVC_ModeWord_bm)2)

-#define LVVC_MODE_AVL_ADAPT_FORMAX ((LVVC_ModeWord_bm)4)

-#define LVVC_MODE_AVL_SPDETECT_FORMAX ((LVVC_ModeWord_bm)8)

-#define LVVC_MODE_LIMITER_FORMAX ((LVVC_ModeWord_bm)16)

-#define LVVC_MODE_LPF_FORMAX ((LVVC_ModeWord_bm)32)

-#define LVVC_MODE_HPF_FORMAX ((LVVC_ModeWord_bm)64)

-#define LVVC_MODE_VC_FORMAX ((LVVC_ModeWord_bm)128)

-#define LVVC_MODEWORD_BM_MAX (LVVC_MODE_AVL_FORMAX | LVVC_MODE_AVL_ADAPT_FORMAX | LVVC_MODE_AVL_SPDETECT_FORMAX | LVVC_MODE_LIMITER_FORMAX | LVVC_MODE_LPF_FORMAX | LVVC_MODE_HPF_FORMAX | LVVC_MODE_VC_FORMAX | ((LVVC_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVFENS_MODE_HS</td>

-        <td>1</td>

-        <td>Switch ON and OFF Horn Suppressor. Currently Horn Suppressor is not supported.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVFENS_ModeWord_bm;

-/**

-* @def LVFENS_MODE_HS

-* Switch ON and OFF Horn Suppressor. Currently Horn Suppressor is not supported.

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODE_HS ((LVFENS_ModeWord_bm)1)

-/**

-* @def LVFENS_MODEWORD_BM_MIN

-* Minimal value for LVFENS_ModeWord_bm

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODEWORD_BM_MIN ((LVFENS_ModeWord_bm)0)

-/**

-* @def LVFENS_MODEWORD_BM_MAX

-* Maximal value for LVFENS_ModeWord_bm

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODE_HS_FORMAX ((LVFENS_ModeWord_bm)1)

-#define LVFENS_MODEWORD_BM_MAX (LVFENS_MODE_HS_FORMAX | ((LVFENS_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_AVL</td>

-        <td>1</td>

-        <td>Turns on or off the AVL. If off, both AGC and Limiter are bypassed</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_SPDETECT</td>

-        <td>2</td>

-        <td>Allows disabling speech detection in the AVL. When turned off, the AGC adapts its gain all the time.</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_LIMITER</td>

-        <td>4</td>

-        <td>Turns on or off the limiter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_EXT_SPDETECT</td>

-        <td>8</td>

-        <td>Used to tell the WhisperMode module if an external speech detection is available (If 0, there is no external speech detector).</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVWM_ModeWord_bm;

-/**

-* @def LVWM_MODE_AVL

-* Turns on or off the AVL. If off, both AGC and Limiter are bypassed

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_AVL ((LVWM_ModeWord_bm)1)

-/**

-* @def LVWM_MODE_SPDETECT

-* Allows disabling speech detection in the AVL. When turned off, the AGC adapts its gain all the time.

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_SPDETECT ((LVWM_ModeWord_bm)2)

-/**

-* @def LVWM_MODE_LIMITER

-* Turns on or off the limiter.

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_LIMITER ((LVWM_ModeWord_bm)4)

-/**

-* @def LVWM_MODE_EXT_SPDETECT

-* Used to tell the WhisperMode module if an external speech detection is available (If 0, there is no external speech detector).

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_EXT_SPDETECT ((LVWM_ModeWord_bm)8)

-/**

-* @def LVWM_MODEWORD_BM_MIN

-* Minimal value for LVWM_ModeWord_bm

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODEWORD_BM_MIN ((LVWM_ModeWord_bm)0)

-/**

-* @def LVWM_MODEWORD_BM_MAX

-* Maximal value for LVWM_ModeWord_bm

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_AVL_FORMAX ((LVWM_ModeWord_bm)1)

-#define LVWM_MODE_SPDETECT_FORMAX ((LVWM_ModeWord_bm)2)

-#define LVWM_MODE_LIMITER_FORMAX ((LVWM_ModeWord_bm)4)

-#define LVWM_MODE_EXT_SPDETECT_FORMAX ((LVWM_ModeWord_bm)8)

-#define LVWM_MODEWORD_BM_MAX (LVWM_MODE_AVL_FORMAX | LVWM_MODE_SPDETECT_FORMAX | LVWM_MODE_LIMITER_FORMAX | LVWM_MODE_EXT_SPDETECT_FORMAX | ((LVWM_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NLMS0</td>

-        <td>1</td>

-        <td>NLMS0 functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NLMS1</td>

-        <td>2</td>

-        <td>NLMS1 functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_BEAMFORMER</td>

-        <td>4</td>

-        <td>Fiter-and-Sum Beamformer functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_PCD</td>

-        <td>8</td>

-        <td>Switch between PCD (Path change detector) and BSD (Broadside detector)</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_GSC</td>

-        <td>16</td>

-        <td>Generalized Sidelobe Canceller functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_DNNS</td>

-        <td>32</td>

-        <td>Dynamic Non-stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_DES</td>

-        <td>64</td>

-        <td>Dynamic Echo Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NS</td>

-        <td>128</td>

-        <td>Stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NS_N</td>

-        <td>256</td>

-        <td>Non-stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_CAL</td>

-        <td>2048</td>

-        <td>Switch between initial or continuous calibration</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_HB</td>

-        <td>16384</td>

-        <td>High Band mute/activated</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_HS</td>

-        <td>32768</td>

-        <td>Horn Suppressor functionality (if available)</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_ModeWord_bm;

-/**

-* @def MODE_NLMS0

-* NLMS0 functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS0 ((LVNV_ModeWord_bm)1)

-/**

-* @def MODE_NLMS1

-* NLMS1 functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS1 ((LVNV_ModeWord_bm)2)

-/**

-* @def MODE_BEAMFORMER

-* Fiter-and-Sum Beamformer functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_BEAMFORMER ((LVNV_ModeWord_bm)4)

-/**

-* @def MODE_PCD

-* Switch between PCD (Path change detector) and BSD (Broadside detector)

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_PCD ((LVNV_ModeWord_bm)8)

-/**

-* @def MODE_GSC

-* Generalized Sidelobe Canceller functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_GSC ((LVNV_ModeWord_bm)16)

-/**

-* @def MODE_DNNS

-* Dynamic Non-stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_DNNS ((LVNV_ModeWord_bm)32)

-/**

-* @def MODE_DES

-* Dynamic Echo Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_DES ((LVNV_ModeWord_bm)64)

-/**

-* @def MODE_NS

-* Stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NS ((LVNV_ModeWord_bm)128)

-/**

-* @def MODE_NS_N

-* Non-stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NS_N ((LVNV_ModeWord_bm)256)

-/**

-* @def MODE_CAL

-* Switch between initial or continuous calibration

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_CAL ((LVNV_ModeWord_bm)2048)

-/**

-* @def MODE_HB

-* High Band mute/activated

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_HB ((LVNV_ModeWord_bm)16384)

-/**

-* @def MODE_HS

-* Horn Suppressor functionality (if available)

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_HS ((LVNV_ModeWord_bm)32768)

-/**

-* @def LVNV_MODEWORD_BM_MIN

-* Minimal value for LVNV_ModeWord_bm

-* @see LVNV_ModeWord_bm

-*/

-#define LVNV_MODEWORD_BM_MIN ((LVNV_ModeWord_bm)0)

-/**

-* @def LVNV_MODEWORD_BM_MAX

-* Maximal value for LVNV_ModeWord_bm

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS0_FORMAX ((LVNV_ModeWord_bm)1)

-#define MODE_NLMS1_FORMAX ((LVNV_ModeWord_bm)2)

-#define MODE_BEAMFORMER_FORMAX ((LVNV_ModeWord_bm)4)

-#define MODE_PCD_FORMAX ((LVNV_ModeWord_bm)8)

-#define MODE_GSC_FORMAX ((LVNV_ModeWord_bm)16)

-#define MODE_DNNS_FORMAX ((LVNV_ModeWord_bm)32)

-#define MODE_DES_FORMAX ((LVNV_ModeWord_bm)64)

-#define MODE_NS_FORMAX ((LVNV_ModeWord_bm)128)

-#define MODE_NS_N_FORMAX ((LVNV_ModeWord_bm)256)

-#define MODE_CAL_FORMAX ((LVNV_ModeWord_bm)2048)

-#define MODE_HB_FORMAX ((LVNV_ModeWord_bm)16384)

-#define MODE_HS_FORMAX ((LVNV_ModeWord_bm)32768)

-#define LVNV_MODEWORD_BM_MAX (MODE_NLMS0_FORMAX | MODE_NLMS1_FORMAX | MODE_BEAMFORMER_FORMAX | MODE_PCD_FORMAX | MODE_GSC_FORMAX | MODE_DNNS_FORMAX | MODE_DES_FORMAX | MODE_NS_FORMAX | MODE_NS_N_FORMAX | MODE_CAL_FORMAX | MODE_HB_FORMAX | MODE_HS_FORMAX | ((LVNV_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_FSB_CARDIOID</td>

-        <td>1</td>

-        <td>FSB update based on speech detection in cardioid</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_FSB_WITHINBEAM</td>

-        <td>2</td>

-        <td>FSB update based on withinbeam detection</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_CAL_UPDATE</td>

-        <td>4</td>

-        <td>Switch for calibration functionality between updated or not-updated</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_BEAMDAMAGE</td>

-        <td>8</td>

-        <td>Microphone coverage protection</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_Mode2Word_bm;

-/**

-* @def MODE2_FSB_CARDIOID

-* FSB update based on speech detection in cardioid

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_CARDIOID ((LVNV_Mode2Word_bm)1)

-/**

-* @def MODE2_FSB_WITHINBEAM

-* FSB update based on withinbeam detection

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_WITHINBEAM ((LVNV_Mode2Word_bm)2)

-/**

-* @def MODE2_CAL_UPDATE

-* Switch for calibration functionality between updated or not-updated

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_CAL_UPDATE ((LVNV_Mode2Word_bm)4)

-/**

-* @def MODE2_BEAMDAMAGE

-* Microphone coverage protection

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_BEAMDAMAGE ((LVNV_Mode2Word_bm)8)

-/**

-* @def LVNV_MODE2WORD_BM_MIN

-* Minimal value for LVNV_Mode2Word_bm

-* @see LVNV_Mode2Word_bm

-*/

-#define LVNV_MODE2WORD_BM_MIN ((LVNV_Mode2Word_bm)0)

-/**

-* @def LVNV_MODE2WORD_BM_MAX

-* Maximal value for LVNV_Mode2Word_bm

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_CARDIOID_FORMAX ((LVNV_Mode2Word_bm)1)

-#define MODE2_FSB_WITHINBEAM_FORMAX ((LVNV_Mode2Word_bm)2)

-#define MODE2_CAL_UPDATE_FORMAX ((LVNV_Mode2Word_bm)4)

-#define MODE2_BEAMDAMAGE_FORMAX ((LVNV_Mode2Word_bm)8)

-#define LVNV_MODE2WORD_BM_MAX (MODE2_FSB_CARDIOID_FORMAX | MODE2_FSB_WITHINBEAM_FORMAX | MODE2_CAL_UPDATE_FORMAX | MODE2_BEAMDAMAGE_FORMAX | ((LVNV_Mode2Word_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_NLMS1</td>

-        <td>1</td>

-        <td>NLMS1 output</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_FSB</td>

-        <td>2</td>

-        <td>FSB noise reference output</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_WITHINBEAM</td>

-        <td>8</td>

-        <td>Tuning beep when Withinbeam=1</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_UPDATEONOFF</td>

-        <td>16</td>

-        <td>Tuning beep when FSB is updated</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_CAL_MICPOW</td>

-        <td>64</td>

-        <td>Tuning beep when MicPow is lower than Cal_micPowFloorMin</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_BROADSIDE</td>

-        <td>128</td>

-        <td>Tuning beep when broadside is detected</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_TuningModeWord_bm;

-/**

-* @def TUNING_MODE_NLMS1

-* NLMS1 output

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_NLMS1 ((LVNV_TuningModeWord_bm)1)

-/**

-* @def TUNING_MODE_FSB

-* FSB noise reference output

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_FSB ((LVNV_TuningModeWord_bm)2)

-/**

-* @def TUNING_MODE_WITHINBEAM

-* Tuning beep when Withinbeam=1

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_WITHINBEAM ((LVNV_TuningModeWord_bm)8)

-/**

-* @def TUNING_MODE_UPDATEONOFF

-* Tuning beep when FSB is updated

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_UPDATEONOFF ((LVNV_TuningModeWord_bm)16)

-/**

-* @def TUNING_MODE_CAL_MICPOW

-* Tuning beep when MicPow is lower than Cal_micPowFloorMin

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_CAL_MICPOW ((LVNV_TuningModeWord_bm)64)

-/**

-* @def TUNING_MODE_BROADSIDE

-* Tuning beep when broadside is detected

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_BROADSIDE ((LVNV_TuningModeWord_bm)128)

-/**

-* @def LVNV_TUNINGMODEWORD_BM_MIN

-* Minimal value for LVNV_TuningModeWord_bm

-* @see LVNV_TuningModeWord_bm

-*/

-#define LVNV_TUNINGMODEWORD_BM_MIN ((LVNV_TuningModeWord_bm)0)

-/**

-* @def LVNV_TUNINGMODEWORD_BM_MAX

-* Maximal value for LVNV_TuningModeWord_bm

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_NLMS1_FORMAX ((LVNV_TuningModeWord_bm)1)

-#define TUNING_MODE_FSB_FORMAX ((LVNV_TuningModeWord_bm)2)

-#define TUNING_MODE_WITHINBEAM_FORMAX ((LVNV_TuningModeWord_bm)8)

-#define TUNING_MODE_UPDATEONOFF_FORMAX ((LVNV_TuningModeWord_bm)16)

-#define TUNING_MODE_CAL_MICPOW_FORMAX ((LVNV_TuningModeWord_bm)64)

-#define TUNING_MODE_BROADSIDE_FORMAX ((LVNV_TuningModeWord_bm)128)

-#define LVNV_TUNINGMODEWORD_BM_MAX (TUNING_MODE_NLMS1_FORMAX | TUNING_MODE_FSB_FORMAX | TUNING_MODE_WITHINBEAM_FORMAX | TUNING_MODE_UPDATEONOFF_FORMAX | TUNING_MODE_CAL_MICPOW_FORMAX | TUNING_MODE_BROADSIDE_FORMAX | ((LVNV_TuningModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_LOST_BEAM</td>

-        <td>1</td>

-        <td>LostBeam detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_MIC_COV</td>

-        <td>2</td>

-        <td>Microphone Coverage detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_FSB_UPDATE</td>

-        <td>4</td>

-        <td>FSB updates</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_BEAM_DAMAGE</td>

-        <td>8</td>

-        <td>BeamDamage detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_GSC_UPDATE</td>

-        <td>16</td>

-        <td>GSC updates</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_DNNS_WBEAM</td>

-        <td>32</td>

-        <td>DNNS WithinBeam detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_DNNS_ACTIVITY</td>

-        <td>64</td>

-        <td>DNNS activity detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_CAL_MICPOW</td>

-        <td>128</td>

-        <td>Calibration Microphone Power</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_MICPOWSP</td>

-        <td>256</td>

-        <td>(LV1008) MicPow Speech detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_BROADSIDE_FLAG</td>

-        <td>512</td>

-        <td>(LV2370) Broadside detection flag</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_CAL_UPDATED</td>

-        <td>1024</td>

-        <td>(LV8237) Calibration updated flag</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_WBEAM_FIX</td>

-        <td>2048</td>

-        <td>WithinBeam detection for Fixed Beamformer (if available).</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_StatusWord_bm;

-/**

-* @def LVNV_STATUS_LOST_BEAM

-* LostBeam detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_LOST_BEAM ((LVNV_StatusWord_bm)1)

-/**

-* @def LVNV_STATUS_MIC_COV

-* Microphone Coverage detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_MIC_COV ((LVNV_StatusWord_bm)2)

-/**

-* @def LVNV_STATUS_FSB_UPDATE

-* FSB updates

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_FSB_UPDATE ((LVNV_StatusWord_bm)4)

-/**

-* @def LVNV_STATUS_BEAM_DAMAGE

-* BeamDamage detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_BEAM_DAMAGE ((LVNV_StatusWord_bm)8)

-/**

-* @def LVNV_STATUS_GSC_UPDATE

-* GSC updates

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_GSC_UPDATE ((LVNV_StatusWord_bm)16)

-/**

-* @def LVNV_STATUS_DNNS_WBEAM

-* DNNS WithinBeam detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_DNNS_WBEAM ((LVNV_StatusWord_bm)32)

-/**

-* @def LVNV_STATUS_DNNS_ACTIVITY

-* DNNS activity detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_DNNS_ACTIVITY ((LVNV_StatusWord_bm)64)

-/**

-* @def LVNV_STATUS_CAL_MICPOW

-* Calibration Microphone Power

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_CAL_MICPOW ((LVNV_StatusWord_bm)128)

-/**

-* @def LVNV_STATUS_MICPOWSP

-* (LV1008) MicPow Speech detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_MICPOWSP ((LVNV_StatusWord_bm)256)

-/**

-* @def LVNV_STATUS_BROADSIDE_FLAG

-* (LV2370) Broadside detection flag

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_BROADSIDE_FLAG ((LVNV_StatusWord_bm)512)

-/**

-* @def LVNV_STATUS_CAL_UPDATED

-* (LV8237) Calibration updated flag

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_CAL_UPDATED ((LVNV_StatusWord_bm)1024)

-/**

-* @def LVNV_STATUS_WBEAM_fix

-* WithinBeam detection for Fixed Beamformer (if available).

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_WBEAM_FIX ((LVNV_StatusWord_bm)2048)

-/**

-* @def LVNV_STATUSWORD_BM_MIN

-* Minimal value for LVNV_StatusWord_bm

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUSWORD_BM_MIN ((LVNV_StatusWord_bm)0)

-/**

-* @def LVNV_STATUSWORD_BM_MAX

-* Maximal value for LVNV_StatusWord_bm

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_LOST_BEAM_FORMAX ((LVNV_StatusWord_bm)1)

-#define LVNV_STATUS_MIC_COV_FORMAX ((LVNV_StatusWord_bm)2)

-#define LVNV_STATUS_FSB_UPDATE_FORMAX ((LVNV_StatusWord_bm)4)

-#define LVNV_STATUS_BEAM_DAMAGE_FORMAX ((LVNV_StatusWord_bm)8)

-#define LVNV_STATUS_GSC_UPDATE_FORMAX ((LVNV_StatusWord_bm)16)

-#define LVNV_STATUS_DNNS_WBEAM_FORMAX ((LVNV_StatusWord_bm)32)

-#define LVNV_STATUS_DNNS_ACTIVITY_FORMAX ((LVNV_StatusWord_bm)64)

-#define LVNV_STATUS_CAL_MICPOW_FORMAX ((LVNV_StatusWord_bm)128)

-#define LVNV_STATUS_MICPOWSP_FORMAX ((LVNV_StatusWord_bm)256)

-#define LVNV_STATUS_BROADSIDE_FLAG_FORMAX ((LVNV_StatusWord_bm)512)

-#define LVNV_STATUS_CAL_UPDATED_FORMAX ((LVNV_StatusWord_bm)1024)

-#define LVNV_STATUS_WBEAM_FIX_FORMAX ((LVNV_StatusWord_bm)2048)

-#define LVNV_STATUSWORD_BM_MAX (LVNV_STATUS_LOST_BEAM_FORMAX | LVNV_STATUS_MIC_COV_FORMAX | LVNV_STATUS_FSB_UPDATE_FORMAX | LVNV_STATUS_BEAM_DAMAGE_FORMAX | LVNV_STATUS_GSC_UPDATE_FORMAX | LVNV_STATUS_DNNS_WBEAM_FORMAX | LVNV_STATUS_DNNS_ACTIVITY_FORMAX | LVNV_STATUS_CAL_MICPOW_FORMAX | LVNV_STATUS_MICPOWSP_FORMAX | LVNV_STATUS_BROADSIDE_FLAG_FORMAX | LVNV_STATUS_CAL_UPDATED_FORMAX | LVNV_STATUS_WBEAM_FIX_FORMAX | ((LVNV_StatusWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_PATHCHANGE</td>

-        <td>1</td>

-        <td>PCD tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_CLIP</td>

-        <td>2</td>

-        <td>SPDET_x_clip tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_FAR_SPEAKS</td>

-        <td>4</td>

-        <td>SPDET_far tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_MIC_SPEAKS</td>

-        <td>8</td>

-        <td>SPDET_mic tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_HB_MUTE</td>

-        <td>16</td>

-        <td>Mute high band (4kHz-8kHz). Should be disabled by default.</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_TB_MUTE</td>

-        <td>32</td>

-        <td>Mute top band (above 8kHz). Should be disabled by default.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_TuningModeWord;

-/**

-* @def LVHF_CONTROL_TUNE_PATHCHANGE

-* PCD tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_PATHCHANGE ((LVHF_TuningModeWord)1)

-/**

-* @def LVHF_CONTROL_TUNE_CLIP

-* SPDET_x_clip tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_CLIP ((LVHF_TuningModeWord)2)

-/**

-* @def LVHF_CONTROL_TUNE_FAR_SPEAKS

-* SPDET_far tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_FAR_SPEAKS ((LVHF_TuningModeWord)4)

-/**

-* @def LVHF_CONTROL_TUNE_MIC_SPEAKS

-* SPDET_mic tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_MIC_SPEAKS ((LVHF_TuningModeWord)8)

-/**

-* @def LVHF_CONTROL_TUNE_HB_MUTE

-* Mute high band (4kHz-8kHz). Should be disabled by default.

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_HB_MUTE ((LVHF_TuningModeWord)16)

-/**

-* @def LVHF_CONTROL_TUNE_TB_MUTE

-* Mute top band (above 8kHz). Should be disabled by default.

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_TB_MUTE ((LVHF_TuningModeWord)32)

-/**

-* @def LVHF_TUNINGMODEWORD_MIN

-* Minimal value for LVHF_TuningModeWord

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_TUNINGMODEWORD_MIN ((LVHF_TuningModeWord)0)

-/**

-* @def LVHF_TUNINGMODEWORD_MAX

-* Maximal value for LVHF_TuningModeWord

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_PATHCHANGE_FORMAX ((LVHF_TuningModeWord)1)

-#define LVHF_CONTROL_TUNE_CLIP_FORMAX ((LVHF_TuningModeWord)2)

-#define LVHF_CONTROL_TUNE_FAR_SPEAKS_FORMAX ((LVHF_TuningModeWord)4)

-#define LVHF_CONTROL_TUNE_MIC_SPEAKS_FORMAX ((LVHF_TuningModeWord)8)

-#define LVHF_CONTROL_TUNE_HB_MUTE_FORMAX ((LVHF_TuningModeWord)16)

-#define LVHF_CONTROL_TUNE_TB_MUTE_FORMAX ((LVHF_TuningModeWord)32)

-#define LVHF_TUNINGMODEWORD_MAX (LVHF_CONTROL_TUNE_PATHCHANGE_FORMAX | LVHF_CONTROL_TUNE_CLIP_FORMAX | LVHF_CONTROL_TUNE_FAR_SPEAKS_FORMAX | LVHF_CONTROL_TUNE_MIC_SPEAKS_FORMAX | LVHF_CONTROL_TUNE_HB_MUTE_FORMAX | LVHF_CONTROL_TUNE_TB_MUTE_FORMAX | ((LVHF_TuningModeWord)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NLMS</td>

-        <td>1</td>

-        <td>NLMS functionality</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_DES</td>

-        <td>2</td>

-        <td>DES (Dynamic Echo Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NS</td>

-        <td>4</td>

-        <td>NS (Noise Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_CNI</td>

-        <td>8</td>

-        <td>CNI (Comfort Noise Injection)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NLES</td>

-        <td>16</td>

-        <td>NLES (Non Linear Echo Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PCD_DT</td>

-        <td>64</td>

-        <td>DT (Double Talk) protection after PCD</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PCD</td>

-        <td>128</td>

-        <td>PCD (Path Change Detector)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_INIT_ES</td>

-        <td>256</td>

-        <td>Initial echo suppression setting by PCD_gamma_e_rescue</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_HS</td>

-        <td>512</td>

-        <td>HornSuppression (if available)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PRENLMS</td>

-        <td>4096</td>

-        <td>Pre-NLMS preprocessing</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_ModeWord_bm;

-/**

-* @def LVHF_MODE_NLMS

-* NLMS functionality

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLMS ((LVHF_ModeWord_bm)1)

-/**

-* @def LVHF_MODE_DES

-* DES (Dynamic Echo Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_DES ((LVHF_ModeWord_bm)2)

-/**

-* @def LVHF_MODE_NS

-* NS (Noise Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NS ((LVHF_ModeWord_bm)4)

-/**

-* @def LVHF_MODE_CNI

-* CNI (Comfort Noise Injection)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_CNI ((LVHF_ModeWord_bm)8)

-/**

-* @def LVHF_MODE_NLES

-* NLES (Non Linear Echo Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLES ((LVHF_ModeWord_bm)16)

-/**

-* @def LVHF_MODE_PCD_DT

-* DT (Double Talk) protection after PCD

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PCD_DT ((LVHF_ModeWord_bm)64)

-/**

-* @def LVHF_MODE_PCD

-* PCD (Path Change Detector)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PCD ((LVHF_ModeWord_bm)128)

-/**

-* @def LVHF_MODE_INIT_ES

-* Initial echo suppression setting by PCD_gamma_e_rescue

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_INIT_ES ((LVHF_ModeWord_bm)256)

-/**

-* @def LVHF_MODE_HS

-* HornSuppression (if available)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_HS ((LVHF_ModeWord_bm)512)

-/**

-* @def LVHF_MODE_PRENLMS

-* Pre-NLMS preprocessing

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PRENLMS ((LVHF_ModeWord_bm)4096)

-/**

-* @def LVHF_MODEWORD_BM_MIN

-* Minimal value for LVHF_ModeWord_bm

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODEWORD_BM_MIN ((LVHF_ModeWord_bm)0)

-/**

-* @def LVHF_MODEWORD_BM_MAX

-* Maximal value for LVHF_ModeWord_bm

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLMS_FORMAX ((LVHF_ModeWord_bm)1)

-#define LVHF_MODE_DES_FORMAX ((LVHF_ModeWord_bm)2)

-#define LVHF_MODE_NS_FORMAX ((LVHF_ModeWord_bm)4)

-#define LVHF_MODE_CNI_FORMAX ((LVHF_ModeWord_bm)8)

-#define LVHF_MODE_NLES_FORMAX ((LVHF_ModeWord_bm)16)

-#define LVHF_MODE_PCD_DT_FORMAX ((LVHF_ModeWord_bm)64)

-#define LVHF_MODE_PCD_FORMAX ((LVHF_ModeWord_bm)128)

-#define LVHF_MODE_INIT_ES_FORMAX ((LVHF_ModeWord_bm)256)

-#define LVHF_MODE_HS_FORMAX ((LVHF_ModeWord_bm)512)

-#define LVHF_MODE_PRENLMS_FORMAX ((LVHF_ModeWord_bm)4096)

-#define LVHF_MODEWORD_BM_MAX (LVHF_MODE_NLMS_FORMAX | LVHF_MODE_DES_FORMAX | LVHF_MODE_NS_FORMAX | LVHF_MODE_CNI_FORMAX | LVHF_MODE_NLES_FORMAX | LVHF_MODE_PCD_DT_FORMAX | LVHF_MODE_PCD_FORMAX | LVHF_MODE_INIT_ES_FORMAX | LVHF_MODE_HS_FORMAX | LVHF_MODE_PRENLMS_FORMAX | ((LVHF_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_FAR_SPEAKS</td>

-        <td>1</td>

-        <td>FarEnd is speaking</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_FAR_STARTS</td>

-        <td>2</td>

-        <td>FarEnd starts to speak</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_MIC_SPEAKS</td>

-        <td>4</td>

-        <td>Mic activity detected</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_CLIP</td>

-        <td>8</td>

-        <td>Clipping Detected</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_PATHCHANGE</td>

-        <td>16</td>

-        <td>Path Change detected</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_StatusWord_bm;

-/**

-* @def LVHF_STATUS_FAR_SPEAKS

-* FarEnd is speaking

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_SPEAKS ((LVHF_StatusWord_bm)1)

-/**

-* @def LVHF_STATUS_FAR_STARTS

-* FarEnd starts to speak

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_STARTS ((LVHF_StatusWord_bm)2)

-/**

-* @def LVHF_STATUS_MIC_SPEAKS

-* Mic activity detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_MIC_SPEAKS ((LVHF_StatusWord_bm)4)

-/**

-* @def LVHF_STATUS_CLIP

-* Clipping Detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_CLIP ((LVHF_StatusWord_bm)8)

-/**

-* @def LVHF_STATUS_PATHCHANGE

-* Path Change detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_PATHCHANGE ((LVHF_StatusWord_bm)16)

-/**

-* @def LVHF_STATUSWORD_BM_MIN

-* Minimal value for LVHF_StatusWord_bm

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUSWORD_BM_MIN ((LVHF_StatusWord_bm)0)

-/**

-* @def LVHF_STATUSWORD_BM_MAX

-* Maximal value for LVHF_StatusWord_bm

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_SPEAKS_FORMAX ((LVHF_StatusWord_bm)1)

-#define LVHF_STATUS_FAR_STARTS_FORMAX ((LVHF_StatusWord_bm)2)

-#define LVHF_STATUS_MIC_SPEAKS_FORMAX ((LVHF_StatusWord_bm)4)

-#define LVHF_STATUS_CLIP_FORMAX ((LVHF_StatusWord_bm)8)

-#define LVHF_STATUS_PATHCHANGE_FORMAX ((LVHF_StatusWord_bm)16)

-#define LVHF_STATUSWORD_BM_MAX (LVHF_STATUS_FAR_SPEAKS_FORMAX | LVHF_STATUS_FAR_STARTS_FORMAX | LVHF_STATUS_MIC_SPEAKS_FORMAX | LVHF_STATUS_CLIP_FORMAX | LVHF_STATUS_PATHCHANGE_FORMAX | ((LVHF_StatusWord_bm)0))

-

-#define LVVIDHEADER_LVVE_RX_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Rx_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_RX_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Rx_Mask2_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_TX_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Tx_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_TX_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Tx_Mask2_bm in LVWireFormat.

-

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_Configurations_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_Configurations_Mask2_bm in LVWireFormat.

-

-#define LVVC_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVC_ModeWord_bm in LVWireFormat.

-

-#define LVFENS_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVFENS_ModeWord_bm in LVWireFormat.

-

-#define LVWM_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVWM_ModeWord_bm in LVWireFormat.

-

-#define LVNV_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_ModeWord_bm in LVWireFormat.

-

-#define LVNV_MODE2WORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_Mode2Word_bm in LVWireFormat.

-

-#define LVNV_TUNINGMODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_TuningModeWord_bm in LVWireFormat.

-

-#define LVNV_STATUSWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_StatusWord_bm in LVWireFormat.

-

-#define LVHF_TUNINGMODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_TuningModeWord in LVWireFormat.

-

-#define LVHF_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_ModeWord_bm in LVWireFormat.

-

-#define LVHF_STATUSWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_StatusWord_bm in LVWireFormat.

-

-#define LVM_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Mode_en in LVWireFormat.

-

-#define LVM_CONFIG_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Config_en in LVWireFormat.

-

-#define LVM_FS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Fs_en in LVWireFormat.

-

-#define LVVIDHEADER_MESSAGEID_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVIDHeader_MessageID_en in LVWireFormat.

-

-#define LVVIDHEADER_RETURNSTATUS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVIDHeader_ReturnStatus_en in LVWireFormat.

-

-#define LVVE_RX_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVE_Rx_Mode_en in LVWireFormat.

-

-#define LVVE_TX_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVE_Tx_Mode_en in LVWireFormat.

-

-#define LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH (7 \

- + LVVIDHEADER_LVVE_RX_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_RX_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_TX_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_TX_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_CONFIGURATIONS_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_CONFIGURATIONS_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_MESSAGEID_LVWIREFORMAT_LENGTH \

- + LVM_FS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVIDHeader ControlParameters in LVWireFormat.

-

-#define LVVC_CONTROLPARAMS_LVWIREFORMAT_LENGTH (22 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVVC_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVC ControlParameters in LVWireFormat.

-

-#define LVFENS_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVFENS_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVFENS ControlParameters in LVWireFormat.

-

-#define LVWM_CONTROLPARAMS_LVWIREFORMAT_LENGTH (14 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVWM_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVWM ControlParameters in LVWireFormat.

-

-#define LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH (28 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVDRC ControlParameters in LVWireFormat.

-

-#define LVNG_CONTROLPARAMS_LVWIREFORMAT_LENGTH (26 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVNG ControlParameters in LVWireFormat.

-

-#define LVNLPP_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode LVNLPP ControlParameters in LVWireFormat.

-

-#define LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH (130) ///< Number of bytes to encode LVEQ ControlParameters in LVWireFormat.

-

-#define LVVOL_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVOL ControlParameters in LVWireFormat.

-

-#define LVHPF_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVHPF ControlParameters in LVWireFormat.

-

-#define LVMUTE_CONTROLPARAMS_LVWIREFORMAT_LENGTH (LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVMUTE ControlParameters in LVWireFormat.

-

-#define LVVE_RX_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4 \

- + LVVE_RX_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVFENS_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVNLPP_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVVC_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVWM_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVNG_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVE_Rx ControlParameters in LVWireFormat.

-

-#define LVNV_CONTROLPARAMS_LVWIREFORMAT_LENGTH (122 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVNV_MODEWORD_LVWIREFORMAT_LENGTH \

- + LVNV_MODE2WORD_LVWIREFORMAT_LENGTH \

- + LVNV_TUNINGMODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVNV ControlParameters in LVWireFormat.

-

-#define LVHF_CONTROLPARAMS_LVWIREFORMAT_LENGTH (78 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVHF_MODEWORD_LVWIREFORMAT_LENGTH \

- + LVHF_TUNINGMODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVHF ControlParameters in LVWireFormat.

-

-#define LVBD_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVBD ControlParameters in LVWireFormat.

-

-#define LVVE_TX_CONTROLPARAMS_LVWIREFORMAT_LENGTH (8 \

- + LVVE_TX_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVHF_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVNV_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVWM_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVE_Tx ControlParameters in LVWireFormat.

-

-/**

-* @def LVVIDHEADER_HEADERVERSION_DEFAULT

-* Default of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_DEFAULT (3)

-/**

-* @def LVVIDHEADER_HEADERVERSION_MIN

-* MinValue of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_MIN (0)

-/**

-* @def LVVIDHEADER_HEADERVERSION_MAX

-* MaxValue of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_MAX (255)

-

-/**

-* @def LVVIDHEADER_BASELINEVERSION_DEFAULT

-* Default of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_DEFAULT (51906816)

-/**

-* @def LVVIDHEADER_BASELINEVERSION_MIN

-* MinValue of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_MIN (1)

-/**

-* @def LVVIDHEADER_BASELINEVERSION_MAX

-* MaxValue of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_MAX (4294967295)

-

-/**

-* @def LVVIDHEADER_LVVE_RX_ALGOMASK1_DEFAULT

-* Default of LVVE_Rx_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_RX_ALGOMASK1_DEFAULT (LVVIDHEADER_LVVE_RX_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_RX_ALGOMASK2_DEFAULT

-* Default of LVVE_Rx_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_RX_ALGOMASK2_DEFAULT (LVVIDHEADER_LVVE_RX_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_TX_ALGOMASK1_DEFAULT

-* Default of LVVE_Tx_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_TX_ALGOMASK1_DEFAULT (LVVIDHEADER_LVVE_TX_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_TX_ALGOMASK2_DEFAULT

-* Default of LVVE_Tx_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_TX_ALGOMASK2_DEFAULT (LVVIDHEADER_LVVE_TX_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_CONFIG_ALGOMASK1_DEFAULT

-* Default of LVVE_Config_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_CONFIG_ALGOMASK1_DEFAULT (LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_CONFIG_ALGOMASK2_DEFAULT

-* Default of LVVE_Config_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_CONFIG_ALGOMASK2_DEFAULT (LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_MESSAGEID_DEFAULT

-* Default of MessageID

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_MESSAGEID_DEFAULT (LVVE_RX_PRESET)

-

-/**

-* @def LVVIDHEADER_SAMPLERATE_DEFAULT

-* Default of SampleRate

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_SAMPLERATE_DEFAULT (LVM_FS_8000)

-

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_DEFAULT

-* Default of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_DEFAULT (0)

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_MIN

-* MinValue of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_MIN (0)

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_MAX

-* MaxValue of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_MAX (255)

-

-/**

-* @def LVVIDHEADER_NUMVOLUMES_DEFAULT

-* Default of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_DEFAULT (1)

-/**

-* @def LVVIDHEADER_NUMVOLUMES_MIN

-* MinValue of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_MIN (0)

-/**

-* @def LVVIDHEADER_NUMVOLUMES_MAX

-* MaxValue of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_MAX (255)

-

-/**

-* @def LVVC_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVC_MODE_DEFAULT

-* Default of mode

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_MODE_DEFAULT (0)

-

-/**

-* @def LVVC_GAIN_LIN_MAX_DEFAULT

-* Default of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_DEFAULT (1286)

-/**

-* @def LVVC_GAIN_LIN_MAX_MIN

-* MinValue of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_MIN (512)

-/**

-* @def LVVC_GAIN_LIN_MAX_MAX

-* MaxValue of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_MAX (32767)

-

-/**

-* @def LVVC_NOISE_SENSITIVITY_DEFAULT

-* Default of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_DEFAULT (20000)

-/**

-* @def LVVC_NOISE_SENSITIVITY_MIN

-* MinValue of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_MIN (-6709)

-/**

-* @def LVVC_NOISE_SENSITIVITY_MAX

-* MaxValue of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_MAX (32767)

-

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT

-* Default of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_MIN

-* MinValue of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_MIN (0)

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_MAX

-* MaxValue of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_MINGAINLIN_DEFAULT

-* Default of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_DEFAULT (256)

-/**

-* @def LVVC_AVL_MINGAINLIN_MIN

-* MinValue of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_MIN (0)

-/**

-* @def LVVC_AVL_MINGAINLIN_MAX

-* MaxValue of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_MAX (512)

-

-/**

-* @def LVVC_AVL_MAXGAINLIN_DEFAULT

-* Default of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_DEFAULT (8192)

-/**

-* @def LVVC_AVL_MAXGAINLIN_MIN

-* MinValue of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_MIN (512)

-/**

-* @def LVVC_AVL_MAXGAINLIN_MAX

-* MaxValue of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_NOMINALGAIN_DEFAULT

-* Default of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_DEFAULT (512)

-/**

-* @def LVVC_AVL_NOMINALGAIN_MIN

-* MinValue of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_MIN (0)

-/**

-* @def LVVC_AVL_NOMINALGAIN_MAX

-* MaxValue of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_ATTACK_DEFAULT

-* Default of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_DEFAULT (12055)

-/**

-* @def LVVC_AVL_ATTACK_MIN

-* MinValue of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_MIN (0)

-/**

-* @def LVVC_AVL_ATTACK_MAX

-* MaxValue of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_MAX (32767)

-

-/**

-* @def LVVC_AVL_RELEASE_DEFAULT

-* Default of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_DEFAULT (32604)

-/**

-* @def LVVC_AVL_RELEASE_MIN

-* MinValue of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_MIN (0)

-/**

-* @def LVVC_AVL_RELEASE_MAX

-* MaxValue of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_MAX (32767)

-

-/**

-* @def LVVC_AVL_RELEASEMAX_DEFAULT

-* Default of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_DEFAULT (32441)

-/**

-* @def LVVC_AVL_RELEASEMAX_MIN

-* MinValue of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_MIN (0)

-/**

-* @def LVVC_AVL_RELEASEMAX_MAX

-* MaxValue of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_MAX (32767)

-

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT

-* Default of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23170)

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN

-* MinValue of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX

-* MaxValue of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)

-

-/**

-* @def LVVC_SPDETECT_THRESHOLD_DEFAULT

-* Default of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_DEFAULT (1024)

-/**

-* @def LVVC_SPDETECT_THRESHOLD_MIN

-* MinValue of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_MIN (0)

-/**

-* @def LVVC_SPDETECT_THRESHOLD_MAX

-* MaxValue of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_MAX (32767)

-

-/**

-* @def LVFENS_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVFENS_FENS_LIMIT_NS_DEFAULT

-* Default of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_DEFAULT (10976)

-/**

-* @def LVFENS_FENS_LIMIT_NS_MIN

-* MinValue of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_MIN (0)

-/**

-* @def LVFENS_FENS_LIMIT_NS_MAX

-* MaxValue of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_MAX (32767)

-

-/**

-* @def LVFENS_MODE_DEFAULT

-* Default of Mode

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_MODE_DEFAULT (0)

-

-/**

-* @def LVWM_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVWM_MODE_DEFAULT

-* Default of mode

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_MODE_DEFAULT (7)

-

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT

-* Default of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_MIN

-* MinValue of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_MIN (0)

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_MAX

-* MaxValue of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_MAX (32767)

-

-/**

-* @def LVWM_AVL_MINGAINLIN_DEFAULT

-* Default of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_DEFAULT (128)

-/**

-* @def LVWM_AVL_MINGAINLIN_MIN

-* MinValue of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_MIN (0)

-/**

-* @def LVWM_AVL_MINGAINLIN_MAX

-* MaxValue of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_MAX (512)

-

-/**

-* @def LVWM_AVL_MAXGAINLIN_DEFAULT

-* Default of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_DEFAULT (8189)

-/**

-* @def LVWM_AVL_MAXGAINLIN_MIN

-* MinValue of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_MIN (512)

-/**

-* @def LVWM_AVL_MAXGAINLIN_MAX

-* MaxValue of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_MAX (32767)

-

-/**

-* @def LVWM_AVL_ATTACK_DEFAULT

-* Default of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_DEFAULT (25520)

-/**

-* @def LVWM_AVL_ATTACK_MIN

-* MinValue of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_MIN (0)

-/**

-* @def LVWM_AVL_ATTACK_MAX

-* MaxValue of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_MAX (32767)

-

-/**

-* @def LVWM_AVL_RELEASE_DEFAULT

-* Default of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_DEFAULT (32685)

-/**

-* @def LVWM_AVL_RELEASE_MIN

-* MinValue of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_MIN (0)

-/**

-* @def LVWM_AVL_RELEASE_MAX

-* MaxValue of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_MAX (32767)

-

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT

-* Default of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23197)

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN

-* MinValue of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX

-* MaxValue of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)

-

-/**

-* @def LVWM_SPDETECT_THRESHOLD_DEFAULT

-* Default of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_DEFAULT (9216)

-/**

-* @def LVWM_SPDETECT_THRESHOLD_MIN

-* MinValue of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_MIN (0)

-/**

-* @def LVWM_SPDETECT_THRESHOLD_MAX

-* MaxValue of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_MAX (32767)

-

-/**

-* @def LVDRC_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVDRC_NUMKNEES_DEFAULT

-* Default of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_DEFAULT (5)

-/**

-* @def LVDRC_NUMKNEES_MIN

-* MinValue of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_MIN (1)

-/**

-* @def LVDRC_NUMKNEES_MAX

-* MaxValue of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_MAX (5)

-

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT

-* Default of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-96,-70,-50, -24, 0}

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN

-* MinValue of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN (-96)

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX

-* MaxValue of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX (0)

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH

-* Length of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT

-* Default of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-70,-38,-12,0}

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN

-* MinValue of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX

-* MaxValue of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH

-* Length of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVDRC_ATTACKTIME_DEFAULT

-* Default of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_DEFAULT (50)

-/**

-* @def LVDRC_ATTACKTIME_MIN

-* MinValue of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_MIN (0)

-/**

-* @def LVDRC_ATTACKTIME_MAX

-* MaxValue of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_MAX (32767)

-

-/**

-* @def LVDRC_RELEASETIME_DEFAULT

-* Default of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_DEFAULT (50)

-/**

-* @def LVDRC_RELEASETIME_MIN

-* MinValue of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_MIN (0)

-/**

-* @def LVDRC_RELEASETIME_MAX

-* MaxValue of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_MAX (32767)

-

-/**

-* @def LVDRC_LIMITEROPERATINGMODE_DEFAULT

-* Default of LimiterOperatingMode

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITEROPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVDRC_LIMITLEVEL_DEFAULT

-* Default of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_DEFAULT (0)

-/**

-* @def LVDRC_LIMITLEVEL_MIN

-* MinValue of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_MIN (-96)

-/**

-* @def LVDRC_LIMITLEVEL_MAX

-* MaxValue of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_MAX (0)

-

-/**

-* @def LVNG_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVNG_NUMKNEES_DEFAULT

-* Default of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_DEFAULT (5)

-/**

-* @def LVNG_NUMKNEES_MIN

-* MinValue of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_MIN (1)

-/**

-* @def LVNG_NUMKNEES_MAX

-* MaxValue of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_MAX (5)

-

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT

-* Default of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-80,-70,-50, -24, 0}

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_MIN

-* MinValue of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_MIN (-96)

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_MAX

-* MaxValue of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_MAX (0)

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH

-* Length of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT

-* Default of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-80,-50, -24, 0}

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN

-* MinValue of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX

-* MaxValue of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH

-* Length of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVNG_ATTACKTIME_DEFAULT

-* Default of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_DEFAULT (50)

-/**

-* @def LVNG_ATTACKTIME_MIN

-* MinValue of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_MIN (0)

-/**

-* @def LVNG_ATTACKTIME_MAX

-* MaxValue of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_MAX (32767)

-

-/**

-* @def LVNG_RELEASETIME_DEFAULT

-* Default of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_DEFAULT (50)

-/**

-* @def LVNG_RELEASETIME_MIN

-* MinValue of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_MIN (0)

-/**

-* @def LVNG_RELEASETIME_MAX

-* MaxValue of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_MAX (32767)

-

-/**

-* @def LVNLPP_NLPP_LIMIT_DEFAULT

-* Default of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_DEFAULT (0)

-/**

-* @def LVNLPP_NLPP_LIMIT_MIN

-* MinValue of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_MIN (-24)

-/**

-* @def LVNLPP_NLPP_LIMIT_MAX

-* MaxValue of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_MAX (0)

-

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT

-* Default of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_MIN

-* MinValue of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_MAX

-* MaxValue of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_MAX (1000)

-

-/**

-* @def LVEQ_EQ_LENGTH_DEFAULT

-* Default of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_DEFAULT (64)

-/**

-* @def LVEQ_EQ_LENGTH_MIN

-* MinValue of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_MIN (8)

-/**

-* @def LVEQ_EQ_LENGTH_MAX

-* MaxValue of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_MAX (64)

-

-/**

-* @def LVEQ_EQ_COEFS_DEFAULT

-* Default of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_DEFAULT {4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

-/**

-* @def LVEQ_EQ_COEFS_MIN

-* MinValue of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_MIN (-32768)

-/**

-* @def LVEQ_EQ_COEFS_MAX

-* MaxValue of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_MAX (32767)

-/**

-* @def LVEQ_EQ_COEFS_LENGTH

-* Length of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_LENGTH (64)

-

-/**

-* @def LVVOL_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVOL_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVOL_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_MIN (-96)

-/**

-* @def LVVOL_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_MAX (24)

-

-/**

-* @def LVHPF_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVHPF_HPF_CORNERFREQ_DEFAULT

-* Default of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVHPF_HPF_CORNERFREQ_MIN

-* MinValue of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVHPF_HPF_CORNERFREQ_MAX

-* MaxValue of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_MAX (1500)

-

-/**

-* @def LVMUTE_MUTE_DEFAULT

-* Default of Mute

-* @see LVMUTE_ControlParams_st

-*/

-#define LVMUTE_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_OPERATINGMODE_DEFAULT (LVVE_RX_MODE_OFF)

-

-/**

-* @def LVVE_RX_MUTE_DEFAULT

-* Default of Mute

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVE_RX_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_MIN (-96)

-/**

-* @def LVVE_RX_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_MAX (24)

-

-

-/**

-* @def LVVE_RX_NLPP_OPERATINGMODE_DEFAULT

-* Default of NLPP_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_NLPP_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-

-

-/**

-* @def LVVE_RX_EQ_OPERATINGMODE_DEFAULT

-* Default of EQ_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_EQ_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-

-

-/**

-* @def LVVE_RX_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_DEFAULT

-* Default of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_MIN

-* MinValue of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_MAX

-* MaxValue of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_MAX (1500)

-

-

-

-/**

-* @def LVNV_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVNV_MODE_DEFAULT

-* Default of Mode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MODE_DEFAULT (18935)

-

-/**

-* @def LVNV_MODE2_DEFAULT

-* Default of Mode2

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MODE2_DEFAULT (14)

-

-/**

-* @def LVNV_TUNING_MODE_DEFAULT

-* Default of Tuning_mode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_TUNING_MODE_DEFAULT (0)

-

-/**

-* @def LVNV_INPUT_GAIN_MIC0_DEFAULT

-* Default of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_DEFAULT (8192)

-/**

-* @def LVNV_INPUT_GAIN_MIC0_MIN

-* MinValue of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_MIN (0)

-/**

-* @def LVNV_INPUT_GAIN_MIC0_MAX

-* MaxValue of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_MAX (32767)

-

-/**

-* @def LVNV_INPUT_GAIN_MIC1_DEFAULT

-* Default of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_DEFAULT (8192)

-/**

-* @def LVNV_INPUT_GAIN_MIC1_MIN

-* MinValue of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_MIN (0)

-/**

-* @def LVNV_INPUT_GAIN_MIC1_MAX

-* MaxValue of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_MAX (32767)

-

-/**

-* @def LVNV_OUTPUT_GAIN_DEFAULT

-* Default of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_DEFAULT (2048)

-/**

-* @def LVNV_OUTPUT_GAIN_MIN

-* MinValue of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_MIN (0)

-/**

-* @def LVNV_OUTPUT_GAIN_MAX

-* MaxValue of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_LB_TAPS_DEFAULT

-* Default of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_DEFAULT (32)

-/**

-* @def LVNV_NLMS0_LB_TAPS_MIN

-* MinValue of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS0_LB_TAPS_MAX

-* MaxValue of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_MAX (64)

-

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_DEFAULT

-* Default of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_MIN

-* MinValue of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_MAX

-* MaxValue of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_LB_ERL_DEFAULT

-* Default of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS0_LB_ERL_MIN

-* MinValue of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS0_LB_ERL_MAX

-* MaxValue of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_HB_TAPS_DEFAULT

-* Default of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_DEFAULT (24)

-/**

-* @def LVNV_NLMS0_HB_TAPS_MIN

-* MinValue of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS0_HB_TAPS_MAX

-* MaxValue of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_MAX (64)

-

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_DEFAULT

-* Default of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_MIN

-* MinValue of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_MAX

-* MaxValue of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_HB_ERL_DEFAULT

-* Default of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS0_HB_ERL_MIN

-* MinValue of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS0_HB_ERL_MAX

-* MaxValue of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_DEFAULT

-* Default of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_DEFAULT (0)

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_MIN

-* MinValue of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_MIN (0)

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_MAX

-* MaxValue of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVNV_NLMS0_OFFSET_DEFAULT

-* Default of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_DEFAULT (776)

-/**

-* @def LVNV_NLMS0_OFFSET_MIN

-* MinValue of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_MIN (0)

-/**

-* @def LVNV_NLMS0_OFFSET_MAX

-* MaxValue of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_LB_TAPS_DEFAULT

-* Default of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_DEFAULT (32)

-/**

-* @def LVNV_NLMS1_LB_TAPS_MIN

-* MinValue of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS1_LB_TAPS_MAX

-* MaxValue of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_MAX (32)

-

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_DEFAULT

-* Default of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_MIN

-* MinValue of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_MAX

-* MaxValue of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_LB_ERL_DEFAULT

-* Default of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS1_LB_ERL_MIN

-* MinValue of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS1_LB_ERL_MAX

-* MaxValue of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_HB_TAPS_DEFAULT

-* Default of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_DEFAULT (24)

-/**

-* @def LVNV_NLMS1_HB_TAPS_MIN

-* MinValue of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS1_HB_TAPS_MAX

-* MaxValue of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_MAX (32)

-

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_DEFAULT

-* Default of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_MIN

-* MinValue of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_MAX

-* MaxValue of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_HB_ERL_DEFAULT

-* Default of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS1_HB_ERL_MIN

-* MinValue of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS1_HB_ERL_MAX

-* MaxValue of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_DEFAULT

-* Default of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_DEFAULT (0)

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_MIN

-* MinValue of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_MIN (0)

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_MAX

-* MaxValue of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVNV_NLMS1_OFFSET_DEFAULT

-* Default of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_DEFAULT (776)

-/**

-* @def LVNV_NLMS1_OFFSET_MIN

-* MinValue of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_MIN (0)

-/**

-* @def LVNV_NLMS1_OFFSET_MAX

-* MaxValue of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_DEFAULT

-* Default of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_DEFAULT (150)

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_MIN

-* MinValue of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_MIN (0)

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_MAX

-* MaxValue of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_MAX (32767)

-

-/**

-* @def LVNV_WGTHRESHOLD_DEFAULT

-* Default of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_DEFAULT (32767)

-/**

-* @def LVNV_WGTHRESHOLD_MIN

-* MinValue of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_MIN (0)

-/**

-* @def LVNV_WGTHRESHOLD_MAX

-* MaxValue of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_MPTHRESHOLD_DEFAULT

-* Default of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_DEFAULT (6554)

-/**

-* @def LVNV_MPTHRESHOLD_MIN

-* MinValue of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_MIN (0)

-/**

-* @def LVNV_MPTHRESHOLD_MAX

-* MaxValue of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_FSB_INIT_TABLE0_DEFAULT

-* Default of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_DEFAULT {32767, 0, 0, 0, 0, 0, 0, 0}

-/**

-* @def LVNV_FSB_INIT_TABLE0_MIN

-* MinValue of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_MIN (-32768)

-/**

-* @def LVNV_FSB_INIT_TABLE0_MAX

-* MaxValue of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_MAX (32767)

-/**

-* @def LVNV_FSB_INIT_TABLE0_LENGTH

-* Length of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_LENGTH (8)

-

-/**

-* @def LVNV_FSB_INIT_TABLE1_DEFAULT

-* Default of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_DEFAULT {0, 0, 0, 0, 0, 0, 0, 0}

-/**

-* @def LVNV_FSB_INIT_TABLE1_MIN

-* MinValue of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_MIN (-32768)

-/**

-* @def LVNV_FSB_INIT_TABLE1_MAX

-* MaxValue of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_MAX (32767)

-/**

-* @def LVNV_FSB_INIT_TABLE1_LENGTH

-* Length of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_LENGTH (8)

-

-/**

-* @def LVNV_FSB_TAPS_DEFAULT

-* Default of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_DEFAULT (16)

-/**

-* @def LVNV_FSB_TAPS_MIN

-* MinValue of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_MIN (8)

-/**

-* @def LVNV_FSB_TAPS_MAX

-* MaxValue of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_MAX (16)

-

-/**

-* @def LVNV_FSB_TWOALPHA_DEFAULT

-* Default of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_DEFAULT (655)

-/**

-* @def LVNV_FSB_TWOALPHA_MIN

-* MinValue of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_FSB_TWOALPHA_MAX

-* MaxValue of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_FSB_REF_GAIN_DEFAULT

-* Default of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_DEFAULT (1024)

-/**

-* @def LVNV_FSB_REF_GAIN_MIN

-* MinValue of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_MIN (0)

-/**

-* @def LVNV_FSB_REF_GAIN_MAX

-* MaxValue of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_MAX (32767)

-

-/**

-* @def LVNV_GSC_TAPS_DEFAULT

-* Default of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_DEFAULT (16)

-/**

-* @def LVNV_GSC_TAPS_MIN

-* MinValue of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_MIN (8)

-/**

-* @def LVNV_GSC_TAPS_MAX

-* MaxValue of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_MAX (48)

-

-/**

-* @def LVNV_GSC_TWOALPHA_DEFAULT

-* Default of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_DEFAULT (1638)

-/**

-* @def LVNV_GSC_TWOALPHA_MIN

-* MinValue of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_MIN (0)

-/**

-* @def LVNV_GSC_TWOALPHA_MAX

-* MaxValue of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_GSC_ERL_DEFAULT

-* Default of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_DEFAULT (256)

-/**

-* @def LVNV_GSC_ERL_MIN

-* MinValue of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_MIN (64)

-/**

-* @def LVNV_GSC_ERL_MAX

-* MaxValue of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_MAX (32767)

-

-/**

-* @def LVNV_GSC_OFFSET_DEFAULT

-* Default of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_DEFAULT (1638)

-/**

-* @def LVNV_GSC_OFFSET_MIN

-* MinValue of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_MIN (0)

-/**

-* @def LVNV_GSC_OFFSET_MAX

-* MaxValue of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_DEFAULT

-* Default of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_DEFAULT (16384)

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_MIN

-* MinValue of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_MAX

-* MaxValue of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_DEFAULT

-* Default of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_DEFAULT (8192)

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_MIN

-* MinValue of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_MAX

-* MaxValue of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_DEFAULT

-* Default of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_DEFAULT (12000)

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_MIN

-* MinValue of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_MAX

-* MaxValue of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_DEFAULT

-* Default of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_DEFAULT (7000)

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_MIN

-* MinValue of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_MAX

-* MaxValue of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NLATTEN_DEFAULT

-* Default of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_DEFAULT (256)

-/**

-* @def LVNV_DNNS_NLATTEN_MIN

-* MinValue of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_MIN (0)

-/**

-* @def LVNV_DNNS_NLATTEN_MAX

-* MaxValue of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_MAX (2048)

-

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_DEFAULT

-* Default of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_DEFAULT (11470)

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_MIN

-* MinValue of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_MAX

-* MaxValue of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_DEFAULT

-* Default of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_DEFAULT (16384)

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_MIN

-* MinValue of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_MAX

-* MaxValue of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_DEFAULT

-* Default of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_DEFAULT (11140)

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_MIN

-* MinValue of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_MAX

-* MaxValue of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_DEFAULT

-* Default of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_DEFAULT (6554)

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_MIN

-* MinValue of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_MAX

-* MaxValue of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_DEFAULT

-* Default of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_DEFAULT (9830)

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_MIN

-* MinValue of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_MAX

-* MaxValue of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_MAX (32767)

-

-/**

-* @def LVNV_DNNS_GAINETA_DEFAULT

-* Default of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_DEFAULT (256)

-/**

-* @def LVNV_DNNS_GAINETA_MIN

-* MinValue of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_MIN (0)

-/**

-* @def LVNV_DNNS_GAINETA_MAX

-* MaxValue of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_DEFAULT

-* Default of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_DEFAULT (12288)

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_MIN

-* MinValue of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_MAX

-* MaxValue of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_DEFAULT

-* Default of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_DEFAULT (9216)

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_MIN

-* MinValue of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_MAX

-* MaxValue of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT

-* Default of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT (320)

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN

-* MinValue of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX

-* MaxValue of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_PCD_BETA_DEFAULT

-* Default of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_DEFAULT (230)

-/**

-* @def LVNV_PCD_BETA_MIN

-* MinValue of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_MIN (0)

-/**

-* @def LVNV_PCD_BETA_MAX

-* MaxValue of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_MAX (32767)

-

-/**

-* @def LVNV_PCD_THRESHOLD_DEFAULT

-* Default of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_DEFAULT (26213)

-/**

-* @def LVNV_PCD_THRESHOLD_MIN

-* MinValue of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_MIN (0)

-/**

-* @def LVNV_PCD_THRESHOLD_MAX

-* MaxValue of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_MAX (32767)

-

-/**

-* @def LVHF_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVHF_MODE_DEFAULT

-* Default of Mode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_MODE_DEFAULT (4607)

-

-/**

-* @def LVHF_TUNINGMODE_DEFAULT

-* Default of TuningMode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_TUNINGMODE_DEFAULT (0)

-

-/**

-* @def LVHF_INPUTGAIN_DEFAULT

-* Default of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_DEFAULT (8192)

-/**

-* @def LVHF_INPUTGAIN_MIN

-* MinValue of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_MIN (0)

-/**

-* @def LVHF_INPUTGAIN_MAX

-* MaxValue of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_MAX (32767)

-

-/**

-* @def LVHF_OUTPUTGAIN_DEFAULT

-* Default of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_DEFAULT (2048)

-/**

-* @def LVHF_OUTPUTGAIN_MIN

-* MinValue of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_MIN (0)

-/**

-* @def LVHF_OUTPUTGAIN_MAX

-* MaxValue of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_MAX (32767)

-

-/**

-* @def LVHF_NLMS_LIMIT_DEFAULT

-* Default of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_DEFAULT (0)

-/**

-* @def LVHF_NLMS_LIMIT_MIN

-* MinValue of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_MIN (-24)

-/**

-* @def LVHF_NLMS_LIMIT_MAX

-* MaxValue of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_MAX (0)

-

-/**

-* @def LVHF_NLMS_LB_TAPS_DEFAULT

-* Default of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_DEFAULT (64)

-/**

-* @def LVHF_NLMS_LB_TAPS_MIN

-* MinValue of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_MIN (16)

-/**

-* @def LVHF_NLMS_LB_TAPS_MAX

-* MaxValue of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_MAX (200)

-

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_DEFAULT

-* Default of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_DEFAULT (8192)

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_MIN

-* MinValue of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_MIN (0)

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_MAX

-* MaxValue of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_NLMS_LB_ERL_DEFAULT

-* Default of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_DEFAULT (128)

-/**

-* @def LVHF_NLMS_LB_ERL_MIN

-* MinValue of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_MIN (64)

-/**

-* @def LVHF_NLMS_LB_ERL_MAX

-* MaxValue of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_MAX (32767)

-

-/**

-* @def LVHF_NLMS_HB_TAPS_DEFAULT

-* Default of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_DEFAULT (64)

-/**

-* @def LVHF_NLMS_HB_TAPS_MIN

-* MinValue of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_MIN (16)

-/**

-* @def LVHF_NLMS_HB_TAPS_MAX

-* MaxValue of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_MAX (136)

-

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_DEFAULT

-* Default of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_DEFAULT (8192)

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_MIN

-* MinValue of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_MIN (0)

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_MAX

-* MaxValue of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_NLMS_HB_ERL_DEFAULT

-* Default of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_DEFAULT (128)

-/**

-* @def LVHF_NLMS_HB_ERL_MIN

-* MinValue of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_MIN (64)

-/**

-* @def LVHF_NLMS_HB_ERL_MAX

-* MaxValue of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_MAX (32767)

-

-/**

-* @def LVHF_NLMS_PRESET_COEFS_DEFAULT

-* Default of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_DEFAULT (1)

-/**

-* @def LVHF_NLMS_PRESET_COEFS_MIN

-* MinValue of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_MIN (0)

-/**

-* @def LVHF_NLMS_PRESET_COEFS_MAX

-* MaxValue of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVHF_NLMS_OFFSET_DEFAULT

-* Default of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_DEFAULT (767)

-/**

-* @def LVHF_NLMS_OFFSET_MIN

-* MinValue of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_MIN (0)

-/**

-* @def LVHF_NLMS_OFFSET_MAX

-* MaxValue of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_DEFAULT

-* Default of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_DEFAULT (25395)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_MIN

-* MinValue of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_MAX

-* MaxValue of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_DEFAULT

-* Default of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_DEFAULT (29491)

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_MIN

-* MinValue of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_MAX

-* MaxValue of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT

-* Default of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT (512)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_MIN

-* MinValue of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_MAX

-* MaxValue of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_DEFAULT

-* Default of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_MIN

-* MinValue of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_MAX

-* MaxValue of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT

-* Default of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_MIN

-* MinValue of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_MAX

-* MaxValue of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_DEFAULT

-* Default of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_DEFAULT (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_MIN

-* MinValue of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_MIN (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_MAX

-* MaxValue of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_MAX (2048)

-

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_DEFAULT

-* Default of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_DEFAULT (25395)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_MIN

-* MinValue of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_MAX

-* MaxValue of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_DEFAULT

-* Default of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_DEFAULT (29491)

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_MIN

-* MinValue of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_MAX

-* MaxValue of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT

-* Default of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT (512)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_MIN

-* MinValue of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_MAX

-* MaxValue of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_DEFAULT

-* Default of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_MIN

-* MinValue of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_MAX

-* MaxValue of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT

-* Default of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_MIN

-* MinValue of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_MAX

-* MaxValue of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_DEFAULT

-* Default of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_DEFAULT (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_MIN

-* MinValue of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_MIN (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_MAX

-* MaxValue of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_MAX (2048)

-

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_DEFAULT

-* Default of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_DEFAULT (24000)

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_MIN

-* MinValue of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_MAX

-* MaxValue of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_N_DEFAULT

-* Default of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_DEFAULT (280)

-/**

-* @def LVHF_DENS_GAMMA_N_MIN

-* MinValue of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_N_MAX

-* MaxValue of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_MAX (32767)

-

-/**

-* @def LVHF_DENS_SPDET_NEAR_DEFAULT

-* Default of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_DEFAULT (512)

-/**

-* @def LVHF_DENS_SPDET_NEAR_MIN

-* MinValue of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_MIN (0)

-/**

-* @def LVHF_DENS_SPDET_NEAR_MAX

-* MaxValue of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_MAX (32767)

-

-/**

-* @def LVHF_DENS_SPDET_ACT_DEFAULT

-* Default of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_DEFAULT (768)

-/**

-* @def LVHF_DENS_SPDET_ACT_MIN

-* MinValue of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_MIN (0)

-/**

-* @def LVHF_DENS_SPDET_ACT_MAX

-* MaxValue of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_MAX (32767)

-

-/**

-* @def LVHF_DENS_LIMIT_NS_DEFAULT

-* Default of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_DEFAULT (10361)

-/**

-* @def LVHF_DENS_LIMIT_NS_MIN

-* MinValue of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_MIN (0)

-/**

-* @def LVHF_DENS_LIMIT_NS_MAX

-* MaxValue of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_MAX (32767)

-

-/**

-* @def LVHF_DENS_CNI_GAIN_DEFAULT

-* Default of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_DEFAULT (16384)

-/**

-* @def LVHF_DENS_CNI_GAIN_MIN

-* MinValue of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_MIN (0)

-/**

-* @def LVHF_DENS_CNI_GAIN_MAX

-* MaxValue of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_MAX (32767)

-

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_DEFAULT

-* Default of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_DEFAULT (150)

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_MIN

-* MinValue of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_MIN (0)

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_MAX

-* MaxValue of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_MAX (32767)

-

-/**

-* @def LVHF_SPDET_FAR_DEFAULT

-* Default of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_DEFAULT (16384)

-/**

-* @def LVHF_SPDET_FAR_MIN

-* MinValue of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_MIN (0)

-/**

-* @def LVHF_SPDET_FAR_MAX

-* MaxValue of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_MAX (32767)

-

-/**

-* @def LVHF_SPDET_MIC_DEFAULT

-* Default of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_DEFAULT (16384)

-/**

-* @def LVHF_SPDET_MIC_MIN

-* MinValue of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_MIN (0)

-/**

-* @def LVHF_SPDET_MIC_MAX

-* MaxValue of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_MAX (32767)

-

-/**

-* @def LVHF_SPDET_X_CLIP_DEFAULT

-* Default of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_DEFAULT (0)

-/**

-* @def LVHF_SPDET_X_CLIP_MIN

-* MinValue of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_MIN (0)

-/**

-* @def LVHF_SPDET_X_CLIP_MAX

-* MaxValue of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_MAX (32767)

-

-/**

-* @def LVHF_PCD_THRESHOLD_DEFAULT

-* Default of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_DEFAULT (20000)

-/**

-* @def LVHF_PCD_THRESHOLD_MIN

-* MinValue of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_MIN (0)

-/**

-* @def LVHF_PCD_THRESHOLD_MAX

-* MaxValue of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_MAX (32767)

-

-/**

-* @def LVHF_PCD_TAPS_DEFAULT

-* Default of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_DEFAULT (16)

-/**

-* @def LVHF_PCD_TAPS_MIN

-* MinValue of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_MIN (16)

-/**

-* @def LVHF_PCD_TAPS_MAX

-* MaxValue of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_MAX (64)

-

-/**

-* @def LVHF_PCD_ERL_DEFAULT

-* Default of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_DEFAULT (64)

-/**

-* @def LVHF_PCD_ERL_MIN

-* MinValue of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_MIN (64)

-/**

-* @def LVHF_PCD_ERL_MAX

-* MaxValue of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_MAX (32767)

-

-/**

-* @def LVHF_PCD_MINIMUM_ERL_DEFAULT

-* Default of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_DEFAULT (64)

-/**

-* @def LVHF_PCD_MINIMUM_ERL_MIN

-* MinValue of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_MIN (64)

-/**

-* @def LVHF_PCD_MINIMUM_ERL_MAX

-* MaxValue of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_MAX (32767)

-

-/**

-* @def LVHF_PCD_ERL_STEP_DEFAULT

-* Default of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_DEFAULT (16800)

-/**

-* @def LVHF_PCD_ERL_STEP_MIN

-* MinValue of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_MIN (16384)

-/**

-* @def LVHF_PCD_ERL_STEP_MAX

-* MaxValue of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_MAX (32767)

-

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_DEFAULT

-* Default of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_DEFAULT (5000)

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_MIN

-* MinValue of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_MIN (0)

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_MAX

-* MaxValue of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_MAX (32767)

-

-/**

-* @def LVBD_BD_OPERATINGMODE_DEFAULT

-* Default of BD_OperatingMode

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVBD_BULKDELAY_DEFAULT

-* Default of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_DEFAULT (0)

-/**

-* @def LVBD_BULKDELAY_MIN

-* MinValue of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_MIN (0)

-/**

-* @def LVBD_BULKDELAY_MAX

-* MaxValue of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_MAX (6400)

-

-/**

-* @def LVBD_BD_GAIN_DEFAULT

-* Default of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_DEFAULT (8192)

-/**

-* @def LVBD_BD_GAIN_MIN

-* MinValue of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_MIN (0)

-/**

-* @def LVBD_BD_GAIN_MAX

-* MaxValue of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_MAX (32767)

-

-/**

-* @def LVVE_TX_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_OPERATINGMODE_DEFAULT (LVVE_TX_MODE_OFF)

-

-/**

-* @def LVVE_TX_MUTE_DEFAULT

-* Default of Mute

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_BD_OPERATINGMODE_DEFAULT

-* Default of BD_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_BULKDELAY_DEFAULT

-* Default of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_DEFAULT (0)

-/**

-* @def LVVE_TX_BULKDELAY_MIN

-* MinValue of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_MIN (0)

-/**

-* @def LVVE_TX_BULKDELAY_MAX

-* MaxValue of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_MAX (6400)

-

-/**

-* @def LVVE_TX_BD_GAIN_DEFAULT

-* Default of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_DEFAULT (8192)

-/**

-* @def LVVE_TX_BD_GAIN_MIN

-* MinValue of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_MIN (0)

-/**

-* @def LVVE_TX_BD_GAIN_MAX

-* MaxValue of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_MAX (32767)

-

-/**

-* @def LVVE_TX_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVE_TX_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_MIN (-96)

-/**

-* @def LVVE_TX_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_MAX (24)

-

-/**

-* @def LVVE_TX_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT

-* Default of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_MIN

-* MinValue of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_MAX

-* MaxValue of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_MAX (1500)

-

-

-

-

-/**

-* @def LVVE_TX_EQ_OPERATINGMODE_DEFAULT

-* Default of EQ_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_EQ_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-//adb by xuxinqiang  20150519

-#define LVVE_MAX_EQ_LENGTH_NB                32           /* Maximum equaliser length for narrowband configuration */

-#define LVVE_MAX_EQ_LENGTH_WB                64           /* Maximum equaliser length for wideband configuration */

-

-

-/**

-* @def LVVC_GAIN_DEFAULT

-* Default of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_DEFAULT (0)

-/**

-* @def LVVC_GAIN_MIN

-* MinValue of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_MIN (0)

-/**

-* @def LVVC_GAIN_MAX

-* MaxValue of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_MAX (32767)

-

-/**

-* @def LVVC_SPDETECTED_DEFAULT

-* Default of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_DEFAULT (0)

-/**

-* @def LVVC_SPDETECTED_MIN

-* MinValue of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_MIN (0)

-/**

-* @def LVVC_SPDETECTED_MAX

-* MaxValue of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_MAX (1)

-

-/**

-* @def LVWM_AVL_GAIN_DEFAULT

-* Default of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_DEFAULT (0)

-/**

-* @def LVWM_AVL_GAIN_MIN

-* MinValue of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_MIN (0)

-/**

-* @def LVWM_AVL_GAIN_MAX

-* MaxValue of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_MAX (32767)

-

-

-

-/**

-* @def LVVE_RX_DUMMY_DEFAULT

-* Default of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_DEFAULT (0)

-/**

-* @def LVVE_RX_DUMMY_MIN

-* MinValue of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_MIN (-128)

-/**

-* @def LVVE_RX_DUMMY_MAX

-* MaxValue of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_MAX (127)

-

-/**

-* @def LVNV_STATUS_DEFAULT

-* Default of status

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_STATUS_DEFAULT (0)

-

-/**

-* @def LVNV_DUMMY_DEFAULT

-* Default of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_DEFAULT (0)

-/**

-* @def LVNV_DUMMY_MIN

-* MinValue of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_MIN (0)

-/**

-* @def LVNV_DUMMY_MAX

-* MaxValue of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_MAX (0)

-

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_DEFAULT

-* Default of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_MIN

-* MinValue of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_MAX

-* MaxValue of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_DEFAULT

-* Default of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_MIN

-* MinValue of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_MAX

-* MaxValue of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_DEFAULT

-* Default of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_MIN

-* MinValue of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_MAX

-* MaxValue of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_DEFAULT

-* Default of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_MIN

-* MinValue of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_MAX

-* MaxValue of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PFSB_COEFFS_DEFAULT

-* Default of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PFSB_COEFFS_MIN

-* MinValue of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PFSB_COEFFS_MAX

-* MaxValue of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PGSC_COEFFS_DEFAULT

-* Default of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PGSC_COEFFS_MIN

-* MinValue of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PGSC_COEFFS_MAX

-* MaxValue of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PMICPOWSP_DEFAULT

-* Default of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_DEFAULT (0)

-/**

-* @def LVNV_PMICPOWSP_MIN

-* MinValue of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_MIN (0)

-/**

-* @def LVNV_PMICPOWSP_MAX

-* MaxValue of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_MAX (1)

-

-/**

-* @def LVNV_PCALFACTOR_DEFAULT

-* Default of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_DEFAULT (0)

-/**

-* @def LVNV_PCALFACTOR_MIN

-* MinValue of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_MIN (0)

-/**

-* @def LVNV_PCALFACTOR_MAX

-* MaxValue of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_MAX (32767)

-

-/**

-* @def LVNV_PCALREADY_DEFAULT

-* Default of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_DEFAULT (0)

-/**

-* @def LVNV_PCALREADY_MIN

-* MinValue of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_MIN (0)

-/**

-* @def LVNV_PCALREADY_MAX

-* MaxValue of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_MAX (2)

-

-/**

-* @def LVNV_PBROADSIDE_INTERCC_DEFAULT

-* Default of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_DEFAULT (0)

-/**

-* @def LVNV_PBROADSIDE_INTERCC_MIN

-* MinValue of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_MIN (0)

-/**

-* @def LVNV_PBROADSIDE_INTERCC_MAX

-* MaxValue of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_MAX (32767)

-

-/**

-* @def LVHF_GAMMAE_DEFAULT

-* Default of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_DEFAULT (0)

-/**

-* @def LVHF_GAMMAE_MIN

-* MinValue of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_MIN (0)

-/**

-* @def LVHF_GAMMAE_MAX

-* MaxValue of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_MAX (32767)

-

-/**

-* @def LVHF_STATUS_DEFAULT

-* Default of status

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_STATUS_DEFAULT (0)

-

-/**

-* @def LVHF_PNLMS_LB_COEFS_DEFAULT

-* Default of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PNLMS_LB_COEFS_MIN

-* MinValue of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PNLMS_LB_COEFS_MAX

-* MaxValue of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_MAX (2147483647)

-

-/**

-* @def LVHF_PNLMS_HB_COEFS_DEFAULT

-* Default of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PNLMS_HB_COEFS_MIN

-* MinValue of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PNLMS_HB_COEFS_MAX

-* MaxValue of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_MAX (2147483647)

-

-/**

-* @def LVHF_PPCD_COEFS_DEFAULT

-* Default of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PPCD_COEFS_MIN

-* MinValue of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PPCD_COEFS_MAX

-* MaxValue of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_MAX (2147483647)

-

-

-

-

-/**

-* @def LVVE_TX_DUMMY_DEFAULT

-* Default of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_DEFAULT (0)

-/**

-* @def LVVE_TX_DUMMY_MIN

-* MinValue of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_MIN (-128)

-/**

-* @def LVVE_TX_DUMMY_MAX

-* MaxValue of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_MAX (127)

-

-/**

-* Enum type for LVVIDHeader_MessageID_en

-*/

-typedef enum

-{

-    LVVE_RX_PRESET = 0, ///< VID header Message ID for LVVE_Rx presets

-    LVVE_TX_PRESET = 1, ///< VID header Message ID for LVVE_Tx Presets

-    LVVIDHEADER_MESSAGEID_EN_DUMMY = LVM_MAXENUM

-} LVVIDHeader_MessageID_en;

-

-/**

-* Enum type for LVVIDHeader_ReturnStatus_en

-*/

-typedef enum

-{

-    LVVIDHEADER_NULLADDRESS = 0, ///< LVVIDHeader module returns NULL address error

-    LVVIDHEADER_SUCCESS = 1, ///< LVVIDHeader module returns with success

-    LVVIDHEADER_RETURNSTATUS_EN_DUMMY = LVM_MAXENUM

-} LVVIDHeader_ReturnStatus_en;

-

-/**

-* Enum type for LVVE_Rx_Mode_en

-*/

-typedef enum

-{

-    LVVE_RX_MODE_OFF = 0, ///< Rx voice engine is turned off

-    LVVE_RX_MODE_ON = 1, ///< Rx voice in will run

-    LVVE_RX_MODE_BYPASS = 2, ///< Rx voice engine will run but output will be ignored

-    LVVE_RX_MODE_EN_DUMMY = LVM_MAXENUM

-} LVVE_Rx_Mode_en;

-

-/**

-* Enum type for LVVE_Tx_Mode_en

-*/

-typedef enum

-{

-    LVVE_TX_MODE_OFF = 0, ///< Tx in LVVE engine is disabled

-    LVVE_TX_MODE_ON = 1, ///< TX in LVVE is enabled

-    LVVE_TX_MODE_BYPASS_MIC0 = 2, ///< TX in LVVE engine will run but output will be Mic0 signal

-    LVVE_TX_MODE_BYPASS_MIC1 = 3, ///< Tx in LVVE engine will run but output will be Mic1 signal

-    LVVE_TX_MODE_BYPASS_REF = 4, ///< Tx in LVVE engine will run but output will be Ref signal

-    LVVE_TX_MODE_EN_DUMMY = LVM_MAXENUM

-} LVVE_Tx_Mode_en;

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Structures                                                                          */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVC_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    The internal gain setting used by VoiceClarity.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_GAIN_MIN (0)</td>

-        <td>@ref LVVC_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVC_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Gain;          ///< Gain

-

-    /**

-    0 (no detection) or 1 (detection).

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVC_SPDETECTED_MIN (0)</td>

-        <td>@ref LVVC_SPDETECTED_DEFAULT (0)</td>

-        <td>@ref LVVC_SPDETECTED_MAX (1)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetected;          ///< The speech detector flag.

-

-} LVVC_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVWM_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    The internal gain setting used by WhisperMode in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_GAIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVWM_AVL_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Gain;          ///< gain (dB)

-

-} LVWM_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVE_Rx_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Voice Clarity Status Parameter Structure.

-    */

-    LVVC_StatusParams_st VC_StatusParams;          ///< Voice Clarity Status Parameter Structure

-

-    /**

-    Whisper Mode Status Parameter Structure.

-    */

-    LVWM_StatusParams_st WM_StatusParams;          ///< Whisper Mode Status Parameter Structure

-

-    /**

-    Dummy Param.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.7</td>

-        <td>@ref LVVE_RX_DUMMY_MIN (-128)</td>

-        <td>@ref LVVE_RX_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVVE_RX_DUMMY_MAX (127)</td>

-    </tr>

-    </table> */

-    LVM_INT8 dummy;          ///< Dummy Param

-

-} LVVE_Rx_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVNV_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Bit mask describing the current state of LVNV, used for debugging.

-    */

-    LVNV_StatusWord_bm status;          ///< current state

-

-    /**

-    To keep correct memory alignment. To be removed when LVNV_StatusWord_bm has

-    become int32 as it should.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DUMMY_MIN (0)</td>

-        <td>@ref LVNV_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVNV_DUMMY_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Dummy;          ///< Dummy for memory alignment.

-

-    /**

-    Pointer to the coefficients of the primary low-band (0-4kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS0_LB_Coeffs;          ///< NLMS0 lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the primary high-band (4-8kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS0_HB_Coeffs;          ///< NLMS0 highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the secondary low-band (0-4kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS1_LB_Coeffs;          ///< NLMS1 lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the secondary high-band (4-8kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS1_HB_Coeffs;          ///< NLMS1 highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the FSB0 and FSB1 filters

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.15</td>

-        <td>@ref LVNV_PFSB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PFSB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PFSB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pFSB_Coeffs;          ///< FSB0 and FSB1 coefficients

-

-    /**

-    Pointer to the coefficients of the GSC filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PGSC_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PGSC_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PGSC_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pGSC_Coeffs;          ///< GSC coefficients

-

-    /**

-    Pointer to the MicPowSp detection flag

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_PMICPOWSP_MIN (0)</td>

-        <td>@ref LVNV_PMICPOWSP_DEFAULT (0)</td>

-        <td>@ref LVNV_PMICPOWSP_MAX (1)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pMicPowSp;          ///< MicPow Speech detection flag

-

-    /**

-    Pointer to the variable of Calibration factor

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_PCALFACTOR_MIN (0)</td>

-        <td>@ref LVNV_PCALFACTOR_DEFAULT (0)</td>

-        <td>@ref LVNV_PCALFACTOR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pCalFactor;          ///< Calibration factor value

-

-    /**

-    Pointer to the variable of Calibration ready

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_PCALREADY_MIN (0)</td>

-        <td>@ref LVNV_PCALREADY_DEFAULT (0)</td>

-        <td>@ref LVNV_PCALREADY_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pCalReady;          ///< Calibration ready value

-

-    /**

-    Pointer to the inter-channel correlation value used in broadside detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_MIN (0)</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_DEFAULT (0)</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pBroadside_interCC;          ///< Broadside correlation

-

-} LVNV_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVHF_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Current value of the echo subtraction factor.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>5.10</td>

-        <td>@ref LVHF_GAMMAE_MIN (0)</td>

-        <td>@ref LVHF_GAMMAE_DEFAULT (0)</td>

-        <td>@ref LVHF_GAMMAE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 gammae;          ///< multiplicator factor of echo suppression

-

-    /**

-    Bit mask describing the current state of LVHF, used for debugging.

-    */

-    LVHF_StatusWord_bm status;          ///< current state

-

-    /**

-    Pointer to the coefficients of the LB NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS_LB_Coefs;          ///< NLMS lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the HB NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS_HB_Coefs;          ///< NLMS highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the PCD NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PPCD_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PPCD_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PPCD_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pPCD_Coefs;          ///< PCD NLMS filter coefficients

-

-} LVHF_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVE_Tx_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    HandsFree Status Parameter Structure.

-    */

-    LVHF_StatusParams_st HF_StatusParams;          ///< HandsFree Status Parameters Structure

-

-    /**

-    NoiseVoid Status Parameter Structure.

-    */

-    LVNV_StatusParams_st NV_StatusParams;          ///< NoiseVoid Status Parameters Structrue

-

-    /**

-    WhisperMode Status Parameter Structure.

-    */

-    LVWM_StatusParams_st WM_StatusParams;          ///< WhisperMode Status Parameter Structrue

-

-    /**

-    Dummy Param.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.7</td>

-        <td>@ref LVVE_TX_DUMMY_MIN (-128)</td>

-        <td>@ref LVVE_TX_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_DUMMY_MAX (127)</td>

-    </tr>

-    </table> */

-    LVM_INT8 dummy;          ///< Dummy Param

-

-} LVVE_Tx_StatusParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVIDHeader_SetControlParameters function but they

-* will not take effect until the next call to the LVVIDHeader_Process function.

-*

-* @see LVVIDHeader_SetControlParameters

-* @see LVVIDHeader_Process

-*/

-typedef struct

-{

-    /**

-    This number always increments by one when there is change in the header format.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_MIN (0)</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_DEFAULT (3)</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 HeaderVersion;          ///< Header Format Version

-

-    /**

-    Initially This variable holds value of the baseline version. The value is in

-    format of xxyyzzpp where xx is major number of the library, yy is minor number,

-    zz is second minor number and pp is patch number of the baseline.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>32.0</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_MIN (1)</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_DEFAULT (51906816)</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_MAX (4294967295)</td>

-    </tr>

-    </table> */

-    LVM_UINT32 BaselineVersion;          ///< This is LVVE tagged version name

-

-    /**

-    First LVVE_Rx algorithm mask which holds information of which LVVE_Rx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Rx_Mask1_bm LVVE_Rx_AlgoMask1;          ///< This variable forms first part of LVVE_Rx algorithm mask

-

-    /**

-    Second LVVE_Rx algorithm mask which holds information of which LVVE_Rx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Rx_Mask2_bm LVVE_Rx_AlgoMask2;          ///< This variable forms second part of LVVE_Rx algorithm mask

-

-    /**

-    First LVVE_Tx algorithm mask which holds information of which LVVE_Tx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Tx_Mask1_bm LVVE_Tx_AlgoMask1;          ///< This variable forms first part of LVVE_Tx mask

-

-    /**

-    Second LVVE_Tx algorithm mask which holds information of which LVVE_Tx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Tx_Mask2_bm LVVE_Tx_AlgoMask2;          ///< This variable forms second part of LVVE_Tx mask

-

-    /**

-    First LVVE configuration mask which holds information of which configurations

-    of LVVE_Tx and LVVE_Rx algorithm are present.

-    */

-    LVVIDHeader_Configurations_Mask1_bm LVVE_Config_AlgoMask1;          ///< This variable forms first part of common LVVE_Tx and LVVE_Rx configuration mask

-

-    /**

-    Second LVVE configuration mask which holds information of which configurations

-    of LVVE_Tx and LVVE_Rx algorithm are present.

-    */

-    LVVIDHeader_Configurations_Mask2_bm LVVE_Config_AlgoMask2;          ///< This variable forms second part of common LVVE_Tx and LVVE_Rx configuration mask

-

-    /**

-    Messge ID is used to identify stream

-    */

-    LVVIDHeader_MessageID_en MessageID;          ///< This param holds message ID of the buffer

-

-    /**

-    This parameter specifies the sample rate information of the buffer.

-    */

-    LVM_Fs_en SampleRate;          ///< Sample rate information of the buffer.

-

-    /**

-    This parameter specifies the volume index corresponding to the subsequent data.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_MIN (0)</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_DEFAULT (0)</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 VolumeIndex;          ///< Volume index corresponding to the subsequent data.

-

-    /**

-    This parameter specifies how many volumes are present in the binary file.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_MIN (0)</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_DEFAULT (1)</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 NumVolumes;          ///< Number of volumes present in the binary file.

-

-} LVVIDHeader_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVC_SetControlParameters function but they

-* will not take effect until the next call to the LVVC_Process function.

-*

-* @see LVVC_SetControlParameters

-* @see LVVC_Process

-*/

-typedef struct

-{

-    /**

-    Control the operating mode (ON/OFF) of the algorithm.

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of VoiceClarity.

-    */

-    LVVC_ModeWord_bm mode;          ///< Mode word

-

-    /**

-    Maximum Gain applied to the signal.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_MIN (512)</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_DEFAULT (1286)</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Gain_Lin_Max;          ///< Maximum Gain.

-

-    /**

-    The Noise_Sensitivity parameter sets how sensitive VoiceClarity will be to the

-    background noise level. The Noise_Sensitivity parameter allows adjusting the

-    sensitivity of those processing blocks to the nearend noise level. For high

-    values of the Noise_Sensitivity the effect of the mentioned processing blocks

-    will be big, even at low to moderate nearend noise levels. For low values of

-    the Noise_Sensitivity the effect of the processing blocks will be smaller, even

-    for high nearend noise levels.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_MIN (-6709)</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_DEFAULT (20000)</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Noise_Sensitivity;          ///< Noise Sensitivity.

-

-    /**

-    The desired output level of the AGC. <br>

-    AVL_Target_level_lin = \f$32767*10^{Target_Level_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Target_level_lin;          ///< The desired output level of the AGC.

-

-    /**

-    The maximal attenuation of the AGC. <br>

-    AVL_MinGainLin = \f$512*10^{MinGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_DEFAULT (256)</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_MAX (512)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MinGainLin;          ///< The maximal attenuation of the AGC.

-

-    /**

-    The maximal gain of the AGC. <br>

-    AVL_MaxGainLin = \f$512*10^{MaxGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_MIN (512)</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_DEFAULT (8192)</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MaxGainLin;          ///< The maximal gain of the AGC.

-

-    /**

-    The nominal gain of the AGC.<br>

-    AVL_NominalGain = \f$512*10^{NominalGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_DEFAULT (512)</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_NominalGain;          ///< The nominal gain of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Attack = \f$32767*\exp(-1/(100*AttackTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_ATTACK_MIN (0)</td>

-        <td>@ref LVVC_AVL_ATTACK_DEFAULT (12055)</td>

-        <td>@ref LVVC_AVL_ATTACK_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Attack;          ///< The attack time of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Release = \f$32767*\exp(-1/(100*ReleaseTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_RELEASE_MIN (0)</td>

-        <td>@ref LVVC_AVL_RELEASE_DEFAULT (32604)</td>

-        <td>@ref LVVC_AVL_RELEASE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Release;          ///< The release time of the AGC.

-

-    /**

-    The release time at maximum noise level.<br>

-

-    AVL_ReleaseMax = \f$32767*\exp(-1/(100*ReleaseMaxTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_MIN (0)</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_DEFAULT (32441)</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_ReleaseMax;          ///< The release time at maximum noise level.

-

-    /**

-    AVL_Limit_MaxOutputLin = \f$32767*10^{TargetLimiterLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23170)</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Limit_MaxOutputLin;          ///< The level to which the signal will be limited.

-

-    /**

-    The higher the value of the threshold, the less speech detections will occur.

-    <br>

-    SpDetect_Threshold = \f$512 * [0,64]\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_MIN (0)</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_DEFAULT (1024)</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetect_Threshold;          ///< The threshold used in the speech detector of VoiceClarity.

-

-} LVVC_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVFENS_SetControlParameters function but they

-* will not take effect until the next call to the LVFENS_Process function.

-*

-* @see LVFENS_SetControlParameters

-* @see LVFENS_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The maximum amount of noise suppression. <br>

-    Unit: dB<br>

-    FENS_limit_ns = \f$32767*10^{-max noise reduction[dB]/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_MIN (0)</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_DEFAULT (10976)</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FENS_limit_NS;          ///< FENS Noise Suppression Limit

-

-    /**

-    The mode word to control the internal operation of FENS.

-    */

-    LVFENS_ModeWord_bm Mode;          ///< Mode word

-

-} LVFENS_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVWM_SetControlParameters function but they

-* will not take effect until the next call to the LVWM_Process function.

-*

-* @see LVWM_SetControlParameters

-* @see LVWM_Process

-*/

-typedef struct

-{

-    /**

-    Control the operating mode (ON/OFF) of the algorithm.

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of WhisperMode.

-    */

-    LVWM_ModeWord_bm mode;          ///< Mode word

-

-    /**

-    The desired output level of the AGC. <br>

-    AVL_Target_level_lin = \f$32767*10^{TargetLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Target_level_lin;          ///< The desired output level of the AGC.

-

-    /**

-    The maximal attenuation of the AGC. <br>

-    AVL_MinGainLin = \f$512*10^{MinGaindB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_DEFAULT (128)</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_MAX (512)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MinGainLin;          ///< The maximal attenuation of the AGC.

-

-    /**

-    The maximal gain of the AGC. <br>

-    AVL_MaxGainLin = \f$512*10^{MaxGaindB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_MIN (512)</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_DEFAULT (8189)</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MaxGainLin;          ///< The maximal gain of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Attack = \f$32767*\exp(-1/(100*AttackTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_ATTACK_MIN (0)</td>

-        <td>@ref LVWM_AVL_ATTACK_DEFAULT (25520)</td>

-        <td>@ref LVWM_AVL_ATTACK_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Attack;          ///< The attack time of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Release = \f$32767*\exp(-1/(100*ReleasTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_RELEASE_MIN (0)</td>

-        <td>@ref LVWM_AVL_RELEASE_DEFAULT (32685)</td>

-        <td>@ref LVWM_AVL_RELEASE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Release;          ///< The release time of the AGC.

-

-    /**

-    AVL_Limit_MaxOutputLin = \f$32767*10^{TargetLimiterLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23197)</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Limit_MaxOutputLin;          ///< The level to which the signal will be limited.

-

-    /**

-    The higher the value of the threshold, the less speech detections will occur.

-    <br>

-    SpDetect_Threshold = \f$512 * [0,64]\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_MIN (0)</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_DEFAULT (9216)</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetect_Threshold;          ///< The threshold used in the speech detector of WhisperMode.

-

-} LVWM_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVDRC_SetControlParameters function but they

-* will not take effect until the next call to the LVDRC_Process function.

-*

-* @see LVDRC_SetControlParameters

-* @see LVDRC_Process

-*/

-typedef struct

-{

-    /**

-    Operating mode for DRC

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    Sets the number of sections (knee points) in the compressor curve

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVDRC_NUMKNEES_MIN (1)</td>

-        <td>@ref LVDRC_NUMKNEES_DEFAULT (5)</td>

-        <td>@ref LVDRC_NUMKNEES_MAX (5)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NumKnees;          ///< Number of Knee points in compressor curve

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. Th input level for the first knee should be equal to or

-    larger than -96dB, and the input level for the last knee should be 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-96,-70,-50, -24, 0}</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveInputLevels[LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH];          ///< Compressor Curve Input Levels

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The output level for the first knee should be equal to or

-    larger than -96dB, and the output level for the last knee should be equal to or

-    smaller than 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-70,-38,-12,0}</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveOutputLevels[LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH];          ///< Compressor Curve Output Levels

-

-    /**

-    The AttackTime parameter is the time constant controlling the rate of reaction

-    to increase in signal level. The AttackTime is specified in increments of 100µs

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_ATTACKTIME_MIN (0)</td>

-        <td>@ref LVDRC_ATTACKTIME_DEFAULT (50)</td>

-        <td>@ref LVDRC_ATTACKTIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AttackTime;          ///< Attack Time

-

-    /**

-    The ReleaseTime parameter is the time constant controlling the rate of reaction

-    to decrease in signal level. The ReleaseTime is specified in increments of

-    100µs.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_RELEASETIME_MIN (0)</td>

-        <td>@ref LVDRC_RELEASETIME_DEFAULT (50)</td>

-        <td>@ref LVDRC_RELEASETIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 ReleaseTime;          ///< Release Time

-

-    /**

-    Enable or Disable limiter with soft clipping.

-    */

-    LVM_Mode_en LimiterOperatingMode;          ///< Enable or Disable limiter with soft clipping

-

-    /**

-    Sets the limit level of the compressor in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_LIMITLEVEL_MIN (-96)</td>

-        <td>@ref LVDRC_LIMITLEVEL_DEFAULT (0)</td>

-        <td>@ref LVDRC_LIMITLEVEL_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 LimitLevel;          ///< Sets the limit level of the compressor in dB

-

-} LVDRC_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNG_SetControlParameters function but they

-* will not take effect until the next call to the LVNG_Process function.

-*

-* @see LVNG_SetControlParameters

-* @see LVNG_Process

-*/

-typedef struct

-{

-    /**

-    Operating mode for Noise Gate

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    Sets the number of sections (knee points) in the compressor curve

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNG_NUMKNEES_MIN (1)</td>

-        <td>@ref LVNG_NUMKNEES_DEFAULT (5)</td>

-        <td>@ref LVNG_NUMKNEES_MAX (5)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NumKnees;          ///< Number of Knee points in compressor curve

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The input level for the first knee should be equal to or

-    larger than -96dB, and the input level for the last knee should be 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-80,-70,-50, -24, 0}</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveInputLevels[LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH];          ///< Compressor Curve Input Levels

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The output level for the first knee should be equal to or

-    larger than -96dB, and the output level for the last knee should be equal to or

-    smaller than 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-80,-50, -24, 0}</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveOutputLevels[LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH];          ///< Compressor Curve Output Levels

-

-    /**

-    The AttackTime parameter is the time constant controlling the rate of reaction

-    to increase in signal level. The AttackTime is specified in increments of 100µs

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_ATTACKTIME_MIN (0)</td>

-        <td>@ref LVNG_ATTACKTIME_DEFAULT (50)</td>

-        <td>@ref LVNG_ATTACKTIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AttackTime;          ///< Attack Time

-

-    /**

-    The ReleaseTime parameter is the time constant controlling the rate of reaction

-    to decrease in signal level. The ReleaseTime is specified in increments of

-    100µs.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_RELEASETIME_MIN (0)</td>

-        <td>@ref LVNG_RELEASETIME_DEFAULT (50)</td>

-        <td>@ref LVNG_RELEASETIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 ReleaseTime;          ///< Release Time

-

-} LVNG_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNLPP_SetControlParameters function but they

-* will not take effect until the next call to the LVNLPP_Process function.

-*

-* @see LVNLPP_SetControlParameters

-* @see LVNLPP_Process

-*/

-typedef struct

-{

-    /**

-    Limits the signal level compared to digital full scale in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_MIN (-24)</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_DEFAULT (0)</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLPP_Limit;          ///< NLPP Limit

-

-    /**

-    Sets the -3dB corner frequency of the high-pass filter in Hz.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_MAX (1000)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLPP_HPF_CornerFreq;          ///< NLPP HPF Corner Frequency

-

-} LVNLPP_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVEQ_SetControlParameters function but they

-* will not take effect until the next call to the LVEQ_Process function.

-*

-* @see LVEQ_SetControlParameters

-* @see LVEQ_Process

-*/

-typedef struct

-{

-    /**

-    Sets the length of the Equalizer impulse response. This must never be more than

-    the value of EQ_MaxLength set at initialization time. The EQ_Length must be a

-    multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVEQ_EQ_LENGTH_MIN (8)</td>

-        <td>@ref LVEQ_EQ_LENGTH_DEFAULT (64)</td>

-        <td>@ref LVEQ_EQ_LENGTH_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 EQ_Length;          ///< EQ Tap Length

-

-    /**

-    Pointer to an array containing the samples of the Equalizer impulse response.

-    The format of the array content is specified below. The samples of the

-    Equalizer impulse response must be in Q3.12 format.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVEQ_EQ_COEFS_MIN (-32768)</td>

-        <td>@ref LVEQ_EQ_COEFS_DEFAULT {4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}</td>

-        <td>@ref LVEQ_EQ_COEFS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 *pEQ_Coefs;          ///< Equalizer impulse response

-

-} LVEQ_ControlParams_st;

-

-

-

-/*[Begin] [lvwenhua-2013/10/21]*/

-typedef struct

-{

-    LVM_INT16                     EqCoefs[LVVE_MAX_EQ_LENGTH_NB];

-} LVEQ_Coefs_st;

-/*[End] [lvwenhua-2013/10/21]*/

-

-

-

-

-

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVOL_SetControlParameters function but they

-* will not take effect until the next call to the LVVOL_Process function.

-*

-* @see LVVOL_SetControlParameters

-* @see LVVOL_Process

-*/

-typedef struct

-{

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVOL_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVOL_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVOL_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-} LVVOL_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVHPF_SetControlParameters function but they

-* will not take effect until the next call to the LVHPF_Process function.

-*

-* @see LVHPF_SetControlParameters

-* @see LVHPF_Process

-*/

-typedef struct

-{

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-} LVHPF_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVMUTE_SetControlParameters function but they

-* will not take effect until the next call to the LVMUTE_Process function.

-*

-* @see LVMUTE_SetControlParameters

-* @see LVMUTE_Process

-*/

-typedef struct

-{

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-} LVMUTE_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVE_Rx_SetControlParameters function but they

-* will not take effect until the next call to the LVVE_Rx_Process function.

-*

-* @see LVVE_Rx_SetControlParameters

-* @see LVVE_Rx_Process

-*/

-typedef struct

-{

-    /**

-    This enumerated type is used to set the operating mode of the Rx path. The

-    processing can be separately set to enable all processing modules (i.e., ON),

-    to disable all processing modules (i.e., OFF) or to bypass all processing

-    modules (i.e., BYPASS). When bypassed, all processing modules keep on running,

-    but their output is not used.

-    */

-    LVVE_Rx_Mode_en OperatingMode;          ///< This param controls the on/off of RX voice engine.

-

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVE_RX_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVE_RX_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVE_RX_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-    /**

-    Far End Noise Suppression Control Parameter Structure.

-    */

-    LVFENS_ControlParams_st FENS_ControlParams;          ///< Far End Noise Suppression Control Parameter Structure

-

-    /**

-    Turns on/off NLPP.

-    */

-    LVM_Mode_en NLPP_OperatingMode;          ///< Turns on/off NLPP

-

-    /**

-    NLPP Control Parameter Structure.

-    */

-    LVNLPP_ControlParams_st NLPP_ControlParams;          ///< NLPP Control Parameter Structure

-

-    /**

-    Voice Clarity Control Parameter Structure.

-    */

-    LVVC_ControlParams_st VC_ControlParams;          ///< Voice Clarity Control Parameter Structure

-

-    /**

-    Equalizer Operating mode.

-    */

-    LVM_Mode_en EQ_OperatingMode;          ///< Equalizer Operating mode

-

-    /**

-    Equalizer Control Parameters Structure.

-    */

-    LVEQ_ControlParams_st EQ_ControlParams;          ///< Equalizer Control Parameters Structure

-

-    /**

-    DRC Control Parameter Strcuture.

-    */

-    LVDRC_ControlParams_st DRC_ControlParams;          ///< DRC Control Parameter Strcuture

-

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-    /**

-    Whisper Mode Control Parameter Strcuture.

-    */

-    LVWM_ControlParams_st WM_ControlParams;          ///< Whisper Mode Control Parameter Strcuture

-

-    /**

-    Noise Gate Control Parameter Structure.

-    */

-    LVNG_ControlParams_st NG_ControlParams;          ///< Noise Gate Control Parameter Structure

-

-} LVVE_Rx_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNV_SetControlParameters function but they

-* will not take effect until the next call to the LVNV_Process function.

-*

-* @see LVNV_SetControlParameters

-* @see LVNV_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of LVNV.

-    */

-    LVNV_ModeWord_bm Mode;          ///< Mode word

-

-    /**

-    The mode2 word to allow switching or combining different blocks inside LVNV.

-    */

-    LVNV_Mode2Word_bm Mode2;          ///< Mode2 word

-

-    /**

-    The tuning mode word to enable/disable internal algorithm tuning capabilities

-    in the different blocks of LVNV. Only one bit is allowed to be enabled at a

-    time.

-    */

-    LVNV_TuningModeWord_bm Tuning_mode;          ///< Tuning mode word

-

-    /**

-    Gain applied at the primary channel in the Tx input. Used to scale the

-    microphone signal in order to give the NLMS0_LB and NLMS0_HB filters headroom

-    for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_MIN (0)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_DEFAULT (8192)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Input_Gain_Mic0;          ///< The primary input gain.

-

-    /**

-    Gain applied at the secondary channel in the Tx input. Used to scale the

-    microphone signal in order to give the NLMS1_LB and NLMS1_HB filters headroom

-    for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_MIN (0)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_DEFAULT (8192)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Input_Gain_Mic1;          ///< The secondary input gain.

-

-    /**

-    Gain applied at the Tx output of LVNV. Compensates the applied Input_Gain_Mic0

-    in order to preserve the overall Tx gain.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVNV_OUTPUT_GAIN_MIN (0)</td>

-        <td>@ref LVNV_OUTPUT_GAIN_DEFAULT (2048)</td>

-        <td>@ref LVNV_OUTPUT_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Output_Gain;          ///< The output gain.

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter for the

-    primary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_DEFAULT (32)</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS0_LB_taps;          ///< Number of NLMS0 low-band taps.

-

-    /**

-    Step size for the update of the low-band adaptive filter coefficients for the

-    primary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_LB_twoalpha;          ///< NLMS0 low-band step size

-

-    /**

-    Adaptive step-size control for the low-band adaptive echo cancellation filter

-    for the primary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_LB_erl;          ///< NLMS0 low-band erl

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter for the

-    primary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_DEFAULT (24)</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS0_HB_taps;          ///< Number of NLMS0 high-band taps.

-

-    /**

-    Step size for the update of the high-band adaptive filter coefficients for the

-    primary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_HB_twoalpha;          ///< NLMS0 high-band step size

-

-    /**

-    Adaptive step-size control for the high-band adaptive echo cancellation filter

-    for the primary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_HB_erl;          ///< NLMS0 high-band erl

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done.<br>

-    0 = No preset (coefficients as they are).<br>

-    1 = Preset with internally calculated coefficients.<br>

-    2 = Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_DEFAULT (0)</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_preset_coefs;          ///< NLMS0 preset

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_OFFSET_DEFAULT (776)</td>

-        <td>@ref LVNV_NLMS0_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_offset;          ///< NLMS0 offset

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter for the

-    secondary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_DEFAULT (32)</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_MAX (32)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS1_LB_taps;          ///< Number of NLMS1 low-band taps.

-

-    /**

-    Step size for the update of the low-band adaptive filter coefficients for the

-    secondary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_LB_twoalpha;          ///< NLMS1 low-band step size

-

-    /**

-    Adaptive step-size control for the low-band adaptive echo cancellation filter

-    for the secondary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_LB_erl;          ///< NLMS1 low-band erl

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter for the

-    secondary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_DEFAULT (24)</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_MAX (32)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS1_HB_taps;          ///< Number of NLMS1 high-band taps.

-

-    /**

-    Step size for the update of the high-band adaptive filter coefficients for the

-    secondary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_HB_twoalpha;          ///< NLMS1 high-band step size

-

-    /**

-    Adaptive step-size control for the high-band adaptive echo cancellation filter

-    for the secondary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_HB_erl;          ///< NLMS1 high-band erl

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done.<br>

-    0 = No preset (coefficients as they are).<br>

-    1 = Preset with internally calculated coefficients.<br>

-    2 = Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_DEFAULT (0)</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_preset_coefs;          ///< NLMS1 preset

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_OFFSET_DEFAULT (776)</td>

-        <td>@ref LVNV_NLMS1_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_offset;          ///< NLMS1 offset

-

-    /**

-    A parameter representing a threshold for the detection of instrumental noise.

-    The higher the value for this parameter, the lower noise suppression

-    performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_MIN (0)</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_DEFAULT (150)</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CAL_micPowFloorMin;          ///< Instrumental noise threshold

-

-    /**

-    Threshold for Windgush detector. The higher the value, the less sensitive the

-    detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVNV_WGTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_WGTHRESHOLD_DEFAULT (32767)</td>

-        <td>@ref LVNV_WGTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 WgThreshold;          ///< Windgush threshold

-

-    /**

-    Threshold for speech detector based on power comparison between primary and

-    secondary microphones. The higher the value, the less sensitive the detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_MPTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_MPTHRESHOLD_DEFAULT (6554)</td>

-        <td>@ref LVNV_MPTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 MpThreshold;          ///< MicPow threshold

-

-    /**

-    Set of first 8 coefficients for adaptive filter FSB0. These values should be

-    determined for the given microphone configuration

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_MIN (-32768)</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_DEFAULT {32767, 0, 0, 0, 0, 0, 0, 0}</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_init_table0[LVNV_FSB_INIT_TABLE0_LENGTH];          ///< FSB0 initial coefficients.

-

-    /**

-    Set of first 8 coefficients for adaptive filter FSB1. These values should be

-    determined for the given microphone configuration

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_MIN (-32768)</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_DEFAULT {0, 0, 0, 0, 0, 0, 0, 0}</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_init_table1[LVNV_FSB_INIT_TABLE1_LENGTH];          ///< FSB1 initial coefficients.

-

-    /**

-    Length of the FSB to model the acoustical paths between the speech source and

-    two microphones. The length must be equal to 16 for the handset application.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_FSB_TAPS_MIN (8)</td>

-        <td>@ref LVNV_FSB_TAPS_DEFAULT (16)</td>

-        <td>@ref LVNV_FSB_TAPS_MAX (16)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 FSB_taps;          ///< Number of FSB taps

-

-    /**

-    Step-size to update the coefficients of the adaptive filters. A higher value

-    leads to a faster speed of the adaptation, while a lower value provides more

-    stability, but a slow adaption speed.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_FSB_TWOALPHA_DEFAULT (655)</td>

-        <td>@ref LVNV_FSB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_twoalpha;          ///< FSB step size control

-

-    /**

-    Gain applied on the samples of the second FSB reference signal (fsbref[1]).

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>5.10</td>

-        <td>@ref LVNV_FSB_REF_GAIN_MIN (0)</td>

-        <td>@ref LVNV_FSB_REF_GAIN_DEFAULT (1024)</td>

-        <td>@ref LVNV_FSB_REF_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_ref_gain;          ///< FSB ref gain

-

-    /**

-    Length of the GSC to model the transfer function between the noise reference

-    and the residual signal, in order to reduce the noise and interfering sounds

-    from the desired signal. This number should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_GSC_TAPS_MIN (8)</td>

-        <td>@ref LVNV_GSC_TAPS_DEFAULT (16)</td>

-        <td>@ref LVNV_GSC_TAPS_MAX (48)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 GSC_taps;          ///< Number of GSC taps

-

-    /**

-    Step-size to update the coefficients of the adaptive filter. A higher value

-    leads to a faster speed of the adaptation, while a lower value provides more

-    stability, but a slow adaption speed.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_GSC_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_GSC_TWOALPHA_DEFAULT (1638)</td>

-        <td>@ref LVNV_GSC_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_twoalpha;          ///< GSC step size control

-

-    /**

-    Adaptive step-size control for GSC to avoid divergence of the adaptive filter

-    during desired speech. In general, GSC_erl is lower than NLMS_erl and ranges

-    between 0 and 30 dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_GSC_ERL_MIN (64)</td>

-        <td>@ref LVNV_GSC_ERL_DEFAULT (256)</td>

-        <td>@ref LVNV_GSC_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_erl;          ///< GSC erl

-

-    /**

-    Offset added to the computation of the power of the noise reference to avoid

-    that the power converges towards zero when the input is low.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_GSC_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_GSC_OFFSET_DEFAULT (1638)</td>

-        <td>@ref LVNV_GSC_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_offset;          ///< GSC offset

-

-    /**

-    Echo subtraction factor applied during farend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_DEFAULT (16384)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoGammaHi;          ///< High echo subtraction factor

-

-    /**

-    Echo subtraction factor applied during double talk and nearend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_DEFAULT (8192)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoGammaLo;          ///< Low echo subtraction factor

-

-    /**

-    Parameter related to the reverberation time of the acoustical environment,

-    which represents the decay in energy over time of the echo tail of the impulse

-    response.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_DEFAULT (12000)</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoAlphaRev;          ///< Echo reverberation factor

-

-    /**

-    Parameter representing the portion of the echo tail (estimated by the NLMS

-    filter) that has to be extrapolated in time.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_DEFAULT (7000)</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoTailPortion;          ///< Echo tail portion

-

-    /**

-    Non-linear echo subtraction factor applied during double talk and nearend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVNV_DNNS_NLATTEN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NLATTEN_DEFAULT (256)</td>

-        <td>@ref LVNV_DNNS_NLATTEN_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NlAtten;          ///< Non-linear echo subtraction factor

-

-    /**

-    Gain factor for stationary noise oversubtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_DEFAULT (11470)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGammaS;          ///< Stationary noise oversubtraction factor

-

-    /**

-    Gain factor for non-stationary noise oversubtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_DEFAULT (16384)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGammaN;          ///< Non-stationary noise oversubtraction factor

-

-    /**

-    The maximum amount of stationary noise suppression.<br>

-    DNNS_NoiseGainMinS = \f$2*32767*10^{MaxNoiseReductiondB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>-1.16</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_DEFAULT (11140)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGainMinS;          ///< Maximum stationary noise suppression.

-

-    /**

-    The maximum amount of non-stationary noise suppression.<br>

-    DNNS_NoiseGainMinN = \f$2*32767*10^{MaxNoiseReductiondB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>-1.16</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_DEFAULT (6554)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGainMinN;          ///< Maximum non-stationary noise suppression.

-

-    /**

-    Bias compensation factor for stationary noise estimation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_DEFAULT (9830)</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseBiasComp;          ///< Bias compensation factor.

-

-    /**

-    Echo oversubtraction factor applied to the estimated non-stationary noise

-    floor.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_GAINETA_MIN (0)</td>

-        <td>@ref LVNV_DNNS_GAINETA_DEFAULT (256)</td>

-        <td>@ref LVNV_DNNS_GAINETA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_GainEta;          ///< Echo oversubtraction factor.

-

-    /**

-    Detection threshold for microphone activity.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_DEFAULT (12288)</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_AcThreshold;          ///< Activity threshold.

-

-    /**

-    Detection threshold for activity within the beam of FSB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_DEFAULT (9216)</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_WbThreshold;          ///< WithinBeam threshold.

-

-    /**

-    Detection threshold for lost beam where the nearend speaker is speaking outside

-    the beam of the FSB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT (320)</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_LostBeamThreshold;          ///< Lost beam threshold.

-

-    /**

-    Smoothing factor applied to get a smoothed value of the inter-channel

-    correlation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_PCD_BETA_MIN (0)</td>

-        <td>@ref LVNV_PCD_BETA_DEFAULT (230)</td>

-        <td>@ref LVNV_PCD_BETA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_beta;          ///< ICC smoothing factor.

-

-    /**

-    Detection threshold for broadside when the nearend speaker is not in end-fire

-    position with respect to the microphone configuration.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_PCD_THRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_PCD_THRESHOLD_DEFAULT (26213)</td>

-        <td>@ref LVNV_PCD_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_Threshold;          ///< Broadside detection threshold.

-

-} LVNV_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVHF_SetControlParameters function but they

-* will not take effect until the next call to the LVHF_Process function.

-*

-* @see LVHF_SetControlParameters

-* @see LVHF_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of HandsFree

-    */

-    LVHF_ModeWord_bm Mode;          ///< Mode Word

-

-    /**

-    The tuning mode is used to enable/disable internal algorithm tuning

-    capabilities in the different blocks of HandsFree. Only one bit allowed to be

-    enabled at a time.

-    */

-    LVHF_TuningModeWord TuningMode;          ///< Tuning Mode

-

-    /**

-    Gain applied at the Tx input of LVHF. Used to scale the microphone signal in

-    order to give the NLMS filter headroom for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVHF_INPUTGAIN_MIN (0)</td>

-        <td>@ref LVHF_INPUTGAIN_DEFAULT (8192)</td>

-        <td>@ref LVHF_INPUTGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 InputGain;          ///< Input Gain

-

-    /**

-    Gain applied at the Tx output of LVHF. Compensates the applied InputGain in

-    order to preserve the overall Tx gain.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_OUTPUTGAIN_MIN (0)</td>

-        <td>@ref LVHF_OUTPUTGAIN_DEFAULT (2048)</td>

-        <td>@ref LVHF_OUTPUTGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 OutputGain;          ///< Output Gain

-

-    /**

-    Limit the NLMS reference signal. Value in dB Full Scale.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVHF_NLMS_LIMIT_MIN (-24)</td>

-        <td>@ref LVHF_NLMS_LIMIT_DEFAULT (0)</td>

-        <td>@ref LVHF_NLMS_LIMIT_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_limit;          ///< Limit the NLMS reference signal.

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter. The Length

-    should be chosen such that most of the energy of the impulse response is

-    covered by the filter. The length should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_MIN (16)</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_DEFAULT (64)</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_MAX (200)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS_LB_taps;          ///< Number of taps for LB NLMS.

-

-    /**

-    Step size for the update of the low-band (0-4kHz) adaptive filter coefficients.

-    It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_DEFAULT (8192)</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_LB_two_alpha;          ///< Step Size of LB NLMS

-

-    /**

-    Adaptive step size control for the low-band (0-4kHz) adaptive echo cancellation

-    filter. This parameter is used to slow down the update speed of the adaptive

-    filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_NLMS_LB_ERL_MIN (64)</td>

-        <td>@ref LVHF_NLMS_LB_ERL_DEFAULT (128)</td>

-        <td>@ref LVHF_NLMS_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_LB_erl;          ///< ERL of LB NLMS

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter. The Length

-    should be chosen such that most of the energy of the impulse response is

-    covered by the filter. The length should be a multiple of 8. In case of

-    narrowband processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_MIN (16)</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_DEFAULT (64)</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_MAX (136)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS_HB_taps;          ///< Number of taps for HB NLMS.

-

-    /**

-    Step size for the update of the high-band (4-8kHz) adaptive filter

-    coefficients. It is recommended not to change the default value. In case of

-    narrowband processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_DEFAULT (8192)</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_HB_two_alpha;          ///< Step Size of HB NLMS

-

-    /**

-    Adaptive step size control for the high-band (4-8kHz) adaptive echo

-    cancellation filter. This parameter is used to slow down the update speed of

-    the adaptive filter during double talk situations. In case of narrowband

-    processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_NLMS_HB_ERL_MIN (64)</td>

-        <td>@ref LVHF_NLMS_HB_ERL_DEFAULT (128)</td>

-        <td>@ref LVHF_NLMS_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_HB_erl;          ///< ERL of HB NLMS

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done. <br>

-    0 = No preset (Coefficients as they are)<br>

-    1= Preset with internally calculated coefficients.<br>

-    2= Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_DEFAULT (1)</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_preset_coefs;          ///< Coefficient preset.

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_OFFSET_MIN (0)</td>

-        <td>@ref LVHF_NLMS_OFFSET_DEFAULT (767)</td>

-        <td>@ref LVHF_NLMS_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_offset;          ///< NLMS offset

-

-    /**

-    Parameter related to the reverberation of the acoustic environment. It

-    represents the decay in time of the energy of the echo tail of the impulse

-    response for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_DEFAULT (25395)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_alpha_LB;

-    /**

-    Parameter related to the portion of the echo tail that has to be extrapolated

-    in time for LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_DEFAULT (29491)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_portion_LB;

-    /**

-    Echo subtraction factor applied during farend-only for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_high_LB;          ///< FE Echo subtraction LB

-

-    /**

-    Echo subtraction factor applied during double talk for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_dt_LB;          ///< DT Echo subtraction factor LB

-

-    /**

-    Echo subtraction factor applied during nearend-only for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_low_LB;          ///< NE Echo subtraction factor LB

-

-    /**

-    The amount of extra non-linear suppression relative to the maximum linear echo

-    suppression for the LB. The use of these non-linear echo suppression mechanisms

-    should be avoided as much as possible since it affects the double talk

-    performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_DEFAULT (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NL_atten_LB;          ///< LB Non linear attenuation

-

-    /**

-    Parameter related to the reverberation of the acoustic environment. It

-    represents the decay in time of the energy of the echo tail of the impulse

-    response for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_DEFAULT (25395)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_alpha_HB;

-    /**

-    Parameter related to the portion of the echo tail that has to be extrapolated

-    in time for HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_DEFAULT (29491)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_portion_HB;

-    /**

-    Echo subtraction factor applied during farend-only for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_high_HB;          ///< FE Echo subtraction HB

-

-    /**

-    Echo subtraction factor applied during double talk for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_dt_HB;          ///< DT Echo subtraction factor HB

-

-    /**

-    Echo subtraction factor applied during nearend-only for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_low_HB;          ///< NE Echo subtraction factor HB

-

-    /**

-    The amount of extra non-linear suppression relative to the maximum linear echo

-    suppression. for the HB. The use of these non-linear echo suppression

-    mechanisms should be avoided as much as possible since it affects the double

-    talk performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_DEFAULT (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NL_atten_HB;          ///< NE Echo subtraction factor HB

-

-    /**

-    Smoothing factor applied when switching between gamma_e values.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_DEFAULT (24000)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_alpha;          ///< Smoothing factor for gamma_e

-

-    /**

-    Gain factor for Noise subtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_N_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_N_DEFAULT (280)</td>

-        <td>@ref LVHF_DENS_GAMMA_N_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_n;          ///< Gain factor

-

-    /**

-    Threshold for nearend activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_MIN (0)</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_spdet_near;

-    /**

-    Threshold for microphone activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_MIN (0)</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_DEFAULT (768)</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_spdet_act;

-    /**

-    The maximum amount of noise suppression. <br>

-    DENS_limit_ns = \f$32767*10^{-MaxNoiseReduction[dB]/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_MIN (0)</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_DEFAULT (10361)</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_limit_ns;          ///< Maximum noise suppression.

-

-    /**

-    The amount of comfort noise insertion.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.14</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_MIN (0)</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_DEFAULT (16384)</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_CNI_Gain;          ///< CNI gain

-

-    /**

-    The window length (expressed in integer multiples of 10ms) for the estimation

-    of the noise components. It is recommended to keep this parameter at its

-    default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_MIN (0)</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_DEFAULT (150)</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NFE_blocksize;          ///< NFE blocksize

-

-    /**

-    Threshold for farend activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_FAR_MIN (0)</td>

-        <td>@ref LVHF_SPDET_FAR_DEFAULT (16384)</td>

-        <td>@ref LVHF_SPDET_FAR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_far;

-    /**

-    Threshold for microphone activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_MIC_MIN (0)</td>

-        <td>@ref LVHF_SPDET_MIC_DEFAULT (16384)</td>

-        <td>@ref LVHF_SPDET_MIC_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_mic;

-    /**

-    Threshold to activate the non-linear echo-suppression.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_X_CLIP_MIN (0)</td>

-        <td>@ref LVHF_SPDET_X_CLIP_DEFAULT (0)</td>

-        <td>@ref LVHF_SPDET_X_CLIP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_x_clip;

-    /**

-    Threshold to detect acoustical path changes.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_PCD_THRESHOLD_MIN (0)</td>

-        <td>@ref LVHF_PCD_THRESHOLD_DEFAULT (20000)</td>

-        <td>@ref LVHF_PCD_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_threshold;          ///< PCD threshold

-

-    /**

-    Length of the background adaptive filter. The length should be chosen such that

-    only the main peak of the impulse response is covered by the filter. The length

-    should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_PCD_TAPS_MIN (16)</td>

-        <td>@ref LVHF_PCD_TAPS_DEFAULT (16)</td>

-        <td>@ref LVHF_PCD_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_taps;          ///< Number of taps of background NLMS.

-

-    /**

-    Adaptive step size control for the background adaptive filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_PCD_ERL_MIN (64)</td>

-        <td>@ref LVHF_PCD_ERL_DEFAULT (64)</td>

-        <td>@ref LVHF_PCD_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_erl;          ///< Step size of background NLMS.

-

-    /**

-    If a path change is detected, NLMS_erl of the NLMS is set to this value, to

-    ensure a fast adapting filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_MIN (64)</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_DEFAULT (64)</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_minimum_erl;          ///< Step size of NLMS after PCD.

-

-    /**

-    After a path change the NLMS_erl of the NLMS increases back to the nominal

-    value. The speed to increase can be controlled by this parameter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.14</td>

-        <td>@ref LVHF_PCD_ERL_STEP_MIN (16384)</td>

-        <td>@ref LVHF_PCD_ERL_STEP_DEFAULT (16800)</td>

-        <td>@ref LVHF_PCD_ERL_STEP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_erl_step;          ///< Step of ERL increase after PCD.

-

-    /**

-    Gain factor applied to the echo subtraction during acoustical path change.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_MIN (0)</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_DEFAULT (5000)</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_gamma_e_rescue;          ///< gamma_e after PCD

-

-} LVHF_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVBD_SetControlParameters function but they

-* will not take effect until the next call to the LVBD_Process function.

-*

-* @see LVBD_SetControlParameters

-* @see LVBD_Process

-*/

-typedef struct

-{

-    /**

-    Set Bulk Delay operating mode on/off.

-    */

-    LVM_Mode_en BD_OperatingMode;          ///< Set Bulk Delay operating mode on/off

-

-    /**

-    This parameter compensates for the fixed delay in the echo path and can be

-    measured in advance. This delay is caused by the audio I/O buffering, AD/DA

-    converter and propagation time between the loudspeaker and microphone. The unit

-    of 'BulkDelay' is [number of samples] at the respective sampling rate.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVBD_BULKDELAY_MIN (0)</td>

-        <td>@ref LVBD_BULKDELAY_DEFAULT (0)</td>

-        <td>@ref LVBD_BULKDELAY_MAX (6400)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 BulkDelay;          ///< Sets Bulk Delay

-

-    /**

-    This param sets the gain for the Echo reference signal. Value 8192 belong to

-    0dB

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVBD_BD_GAIN_MIN (0)</td>

-        <td>@ref LVBD_BD_GAIN_DEFAULT (8192)</td>

-        <td>@ref LVBD_BD_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 BD_Gain;          ///< Apply Gain to Echo reference signal

-

-} LVBD_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVE_Tx_SetControlParameters function but they

-* will not take effect until the next call to the LVVE_Tx_Process function.

-*

-* @see LVVE_Tx_SetControlParameters

-* @see LVVE_Tx_Process

-*/

-typedef struct

-{

-    /**

-    This enumerated type is used to set the operating mode of the Tx path. The

-    processing can be separately set to enable all processing modules (i.e., ON),

-    to disable all processing modules (i.e., OFF) or to bypass all processing

-    modules (i.e., BYPASS). When bypassed, all processing modules keep on running,

-    but their output is not used. When bypassing the Tx processing, the user can

-    select which buffer should be copied to the output buffer, if required: @li

-    Input microphone signal (or secondary microphone signal in case of

-    two-microphone setups); @li Rx reference signal; These operations ensure that

-    the input data is correctly transferred to the output buffer for all

-    combinations of input and output buffer types and input format. When OFF, the

-    input is copied to the output and the LVVE can be provided with invalid

-    parameters for modules. The sub module functions are not executed in this

-    scenario. Their combined functionality is summarized in follwoing table. <br>

-    <div align="center"> <table cellspacing="1" cellpadding="4" border="3">

-    <caption>LVVE Tx operating mode in combination with LVVE microphone routing

-    mode</caption> <tr> <th></th> <th colspan="2">MICROUTING_MODE_DEFAULT</th> <th

-    colspan="2">MICROUTING_MODE_SWAPPED</th> </tr> <tr> <th width="70"></th> <th

-    width="70">Process</th> <th width="70">Output</th> <th width="70">Process</th>

-    <th width="70">Output</th> </tr> <tr align="left"> <td>LVVE_TX_MODE_OFF</td>

-    <td>None</td> <td>Tx input 0</td> <td>None</td> <td>Tx input 1</td> </tr> <tr

-    align="left"> <td>LVVE_TX_MODE_ON</td> <td>Tx input 0</td> <td>Tx output</td>

-    <td>Tx input 1</td> <td>Tx output</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_MIC0</td> <td>Tx input 0</td> <td>Tx input 0</td>

-    <td>Tx input 1</td> <td>Tx input 1</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_MIC1</td> <td>Tx input 0</td> <td>Tx input 1</td>

-    <td>Tx input 1</td> <td>Tx input 0</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_REF</td> <td>Tx input 0</td> <td>Tx ref input</td>

-    <td>Tx input 1</td> <td>Tx ref input</td> </tr> </table> </div>

-    */

-    LVVE_Tx_Mode_en OperatingMode;          ///< TX Operating mode

-

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-    /**

-    Set Bulk Delay operating mode on/off.

-    */

-    LVM_Mode_en BD_OperatingMode;          ///< Set Bulk Delay operating mode on/off

-

-    /**

-    This parameter compensates for the fixed delay in the echo path and can be

-    measured in advance. This delay is caused by the audio I/O buffering, AD/DA

-    converter and propagation time between the loudspeaker and microphone. The unit

-    of 'BulkDelay' is [number of samples] at the respective sampling rate.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_TX_BULKDELAY_MIN (0)</td>

-        <td>@ref LVVE_TX_BULKDELAY_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_BULKDELAY_MAX (6400)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 BulkDelay;          ///< Sets Bulk Delay

-

-    /**

-    This param sets the gain for the Echo reference signal. Value 8192 belong to

-    0dB

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVVE_TX_BD_GAIN_MIN (0)</td>

-        <td>@ref LVVE_TX_BD_GAIN_DEFAULT (8192)</td>

-        <td>@ref LVVE_TX_BD_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 BD_Gain;          ///< Apply Gain to Echo reference signal

-

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVE_TX_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVE_TX_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 MIC_HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-    /**

-    HandsFree Control Parameter Strcuture.

-    */

-    LVHF_ControlParams_st HF_ControlParams;          ///< HandsFree Control Parameter Structure

-

-    /**

-    NoiseVoid Control Parameter Structure.

-    */

-    LVNV_ControlParams_st NV_ControlParams;          ///< NoiseVoid Control Parameter Structure

-

-    /**

-    WhisperMode Control Parameter Structure.

-    */

-    LVWM_ControlParams_st WM_ControlParams;          ///< WhisperMode Control Parameter Structure

-

-    /**

-    Equalizer Operating mode.

-    */

-    LVM_Mode_en EQ_OperatingMode;          ///< Equalizer Operating mode

-

-    /**

-    Equalizer Control Parameter Structure.

-    */

-    LVEQ_ControlParams_st EQ_ControlParams;          ///< Equalizer Control Parameters Structure

-

-    /**

-    DRC Control Parameter Structure.

-    */

-    LVDRC_ControlParams_st DRC_ControlParams;          ///< DRC Control Parameter Structure

-

-} LVVE_Tx_ControlParams_st;

-

-

-

-/*[Begin] [lvwenhua-2012/3/12]*/

-#define LVVC_VOLUME_NUM             12

-

-typedef struct

-{

-    LVM_INT16                   NoiseSensitivity[LVVC_VOLUME_NUM];

-} LVVC_NoiseSens_st;

-/*[End] [lvwenhua-2012/3/12]*/

-

-/*[Begin] [lvwenhua-2011/8/23]*/

-typedef struct

-{

-    LVVE_Tx_ControlParams_st    Tx_ControlParams;

-    LVVE_Rx_ControlParams_st    Rx_ControlParams;

-    LVEQ_Coefs_st TxEqCoefs;

-    LVEQ_Coefs_st RxEqCoefs;

-    /*[Begin] [lvwenhua-2012/3/12]*/

-    LVVC_NoiseSens_st RxVcNoiseSens;

-    /*[End] [lvwenhua-2012/3/12]*/

-} LVVE_ControlParams_st;

-typedef struct

-{

-    LVM_UINT32 isVpParamInNv;

-    LVVE_ControlParams_st    Handset_ControlParams;

-    LVVE_ControlParams_st    Handsfree_ControlParams;

-    LVVE_ControlParams_st    Headset_ControlParams;

-    LVVE_ControlParams_st    Bluetooth_ControlParams;

-} LVVE_ControlParams_All_st;

-/*[End] [lvwenhua-2011/8/23]*/

-

-

-

-

-

-

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif      /* __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_WB_VIDPP_H__ */

-

-/* End of file */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/PARAM_Default.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/PARAM_Default.h
deleted file mode 100755
index 857327b..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/PARAM_Default.h
+++ /dev/null
@@ -1,213 +0,0 @@
-static LVM_CHAR LVVE_Tx_Preset_Buffer_Voice_Tool[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

-};

-static LVM_CHAR LVVE_Rx_Preset_Buffer_Voice_Tool []={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 

-0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 

-0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 

-0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 

-0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 

-0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 

-0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 

-0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 

-0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 

-0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 

-0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 

-0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 

-0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 

-0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 

-0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 

-0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 

-0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 

-0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 

-0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 

-0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 

-0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 

-0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 

-0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 

-0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 

-0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 

-0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 

-0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 

-0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 

-0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 

-0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 

-0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 

-0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 

-0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 

-0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 

-0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00

-};

-

-static LVM_CHAR LVVE_Tx_Mute_File_Buffer[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

-};

-static LVM_CHAR LVVE_Tx_Wb_Mute_File_Buffer[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 

-};

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/audio_process.a b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/audio_process.a
deleted file mode 100755
index 449febf..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/audio_process.a
+++ /dev/null
Binary files differ
diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/nxp_DrvNvData.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/nxp_DrvNvData.h
deleted file mode 100755
index 418c259..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/tos/nxp_DrvNvData.h
+++ /dev/null
@@ -1,6 +0,0 @@
-//6 level volume

-//add by zhanglixia 

-//#define LVWM_TX_FILE_SIZE    463     //×Ö½ÚÊý

-//#define LVWM_RX_FILE_SIZE     1866

-

-//const static LVM_CHAR LVVE_Param_Test[] ={};

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVC_Types.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVC_Types.h
deleted file mode 100755
index 14efe8c..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVC_Types.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/************************************************************************/

-/*  Copyright (c) 2004-2014 NXP Software. All rights are reserved.      */

-/*  Reproduction in whole or in part is prohibited without the prior    */

-/*  written consent of the copyright owner.                             */

-/*                                                                      */

-/*  This software and any compilation or derivative thereof is and      */

-/*  shall remain the proprietary information of NXP Software and is     */

-/*  highly confidential in nature. Any and all use hereof is restricted */

-/*  and is subject to the terms and conditions set forth in the         */

-/*  software license agreement concluded with NXP Software.             */

-/*                                                                      */

-/*  Under no circumstances is this software or any derivative thereof   */

-/*  to be combined with any Open Source Software in any way or          */

-/*  licensed under any Open License Terms without the express prior     */

-/*  written  permission of NXP Software.                                */

-/*                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means */

-/*  any software that is licensed under Open License Terms. Open        */

-/*  License Terms means terms in any license that require as a          */

-/*  condition of use, modification and/or distribution of a work        */

-/*                                                                      */

-/*           1. the making available of source code or other materials  */

-/*              preferred for modification, or                          */

-/*                                                                      */

-/*           2. the granting of permission for creating derivative      */

-/*              works, or                                               */

-/*                                                                      */

-/*           3. the reproduction of certain notices or license terms    */

-/*              in derivative works or accompanying documentation, or   */

-/*                                                                      */

-/*           4. the granting of a royalty-free license to any party     */

-/*              under Intellectual Property Rights                      */

-/*                                                                      */

-/*  regarding the work and/or any work that contains, is combined with, */

-/*  requires or otherwise is based on the work.                         */

-/*                                                                      */

-/*  This software is provided for ease of recompilation only.           */

-/*  Modification and reverse engineering of this software are strictly  */

-/*  prohibited.                                                         */

-/*                                                                      */

-/************************************************************************/

-

-/****************************************************************************************

-

-     $Author: beq07720 $

-     $Revision: 55357 $

-     $Date: 2014-03-05 22:16:13 +0530 (Wed, 05 Mar 2014) $

-

-*****************************************************************************************/

-

-/** @file

- *  Header file defining the standard LifeVibes types for use in the application layer

- *  interface of all LifeVibes modules

- */

-

-#ifndef LVM_TYPES_H

-#define LVM_TYPES_H

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#define LVM_NULL                0                   ///< NULL pointer

-

-#define LVM_TRUE                1                   ///< Boolean True

-#define LVM_FALSE               0                   ///< Boolean False

-

-#define LVM_MAXINT_8            127                 ///< Maximum positive integer size

-#define LVM_MAXINT_16           32767               ///< Maximum signed int 16 bits number

-#define LVM_MAXINT_32           2147483647          ///< Maximum signed int 32 bits number

-#define LVM_MAXUINT_32          4294967295U         ///< Maximum un-signed int 32 bits number

-

-#if (  defined(VARIANT_24BIT) )

-#define LVM_MAXENUM             8388607L            ///< Maximum value for enumerator

-#else

-#define LVM_MAXENUM             2147483647          ///< Maximum value for enumerator

-#endif

-

-#define LVM_MODULEID_MASK       0xFF00              ///< Mask to extract the calling module ID from callbackId

-#define LVM_EVENTID_MASK        0x00FF              ///< Mask to extract the callback event from callbackId

-

-/* Memory table*/

-#define LVM_MEMREGION_PERSISTENT_SLOW_DATA      0   ///< Offset to the instance memory region

-#define LVM_MEMREGION_PERSISTENT_FAST_DATA      1   ///< Offset to the persistent data memory region

-#define LVM_MEMREGION_PERSISTENT_FAST_COEF      2   ///< Offset to the persistent coefficient memory region

-#define LVM_MEMREGION_TEMPORARY_FAST            3   ///< Offset to temporary memory region

-

-#define LVM_NR_MEMORY_REGIONS                   4   ///< Number of memory regions

-

-#define LVM_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Mode_en in LVWireFormat

-#define LVM_CONFIG_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Config_en in LVWireFormat

-#define LVM_FS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Fs_en sample Rate in LVWireFormat

-

-#define LVM_CHAR_LVWIREFORMAT_LENGTH   (1)

-#define LVM_INT8_LVWIREFORMAT_LENGTH   (1)

-#define LVM_UINT8_LVWIREFORMAT_LENGTH   (1)

-

-#define LVM_INT16_LVWIREFORMAT_LENGTH   (2)

-#define LVM_UINT16_LVWIREFORMAT_LENGTH   (2)

-

-#define LVM_INT32_LVWIREFORMAT_LENGTH   (4)

-#define LVM_UINT32_LVWIREFORMAT_LENGTH   (4)

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Basic types                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#if defined(CORE_TIC64)

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     short               LVM_INT16;          ///< Signed 16-bit word

-typedef     unsigned short      LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     int                 LVM_INT32;          ///< Signed 32-bit word

-typedef     unsigned int        LVM_UINT32;         ///< Unsigned 32-bit word

-#else

-

-#if (  defined(VARIANT_FRAC16) || defined (VARIANT_REFREAL16)   )

-typedef     long                DATATYPE;           ///< long data type

-

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     long                LVM_INT16;          ///< Signed 16-bit word

-typedef     long                LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     long                LVM_INT32;          ///< Signed 32-bit word

-typedef     long                LVM_UINT32;         ///< Unsigned 32-bit word

-

-#else

-typedef     char                LVM_CHAR;           ///< ASCII character

-

-typedef     char                LVM_INT8;           ///< Signed 8-bit word

-typedef     unsigned char       LVM_UINT8;          ///< Unsigned 8-bit word

-

-typedef     short               LVM_INT16;          ///< Signed 16-bit word

-typedef     unsigned short      LVM_UINT16;         ///< Unsigned 16-bit word

-

-typedef     long                 LVM_INT32;          ///< Signed 32-bit word

-typedef     unsigned long        LVM_UINT32;         ///< Unsigned 32-bit word

-#if (  defined(VARIANT_24BIT) )

-

-#define LVM_MAXINT_24           8388607L      ///< 24 bit max int

-#define LVM_MININT_24          -8388608L    ///< 24bit min int

-

-#define LVM_MAXINT_48           140737488355327LL  ///< 48bit max int

-#define LVM_MININT_48           -140737488355328LL   ///< 48bit min int

-

-#endif // VARIANT_24BIT

-

-#endif // VARIANT_FRAC16

-

-#endif // CORE_TIC64

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Standard Enumerated types                                                           */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-The @ref LVM_Mode_en enumerated type is used to set the operating mode of a particular feature inside the LifeVibes modules.

-The feature can be separately set to enable the feature processing (i.e., ON) or to disable all feature processing

-modules (i.e., OFF).

-*/

-typedef enum

-{

-    LVM_MODE_OFF    = 0,     ///< LVM module disabled

-    LVM_MODE_ON     = 1,     ///< LVM module enabled

-    LVM_MODE_DUMMY  = LVM_MAXENUM

-} LVM_Mode_en;

-

-/**

-Sets stream Format

-*/

-typedef enum

-{

-    LVM_STEREO          = 0,           ///<Stereo stream

-    LVM_MONOINSTEREO    = 1,           ///<Mono in stereo stream

-    LVM_MONO            = 2,           ///<Mono stream

-    LVM_5DOT1           = 3,           ///<stream 5.1 formatted

-    LVM_7DOT1           = 4,           ///<stream 7.1 formatted

-    LVM_SOURCE_DUMMY    = LVM_MAXENUM

-} LVM_Format_en;

-

-/**

-Sets Speaker type

-*/

-typedef enum

-{

-    LVM_SPEAKER_MONO    = 0,        ///< Mono type speaker

-    LVM_SPEAKER_STEREO  = 1,        ///< Stereo type speaker

-    LVM_SPEAKER_DUMMY   = LVM_MAXENUM

-} LVM_SpeakerType_en;

-

-/**

-Sets Word length

-*/

-typedef enum

-{

-    LVM_16_BIT      = 0,           ///< 16 bit word length

-    LVM_32_BIT      = 1,           ///< 32 bit word length

-    LVM_WORDLENGTH_DUMMY = LVM_MAXENUM

-} LVM_WordLength_en;

-

-/**

-The LVM product supports the sample rates specified in @ref LVM_Fs_en. The input and output sample rates are always the same.

-*/

-typedef enum

-{

-    LVM_FS_8000  = 0,              ///< 8k sampling rate

-    LVM_FS_11025 = 1,              ///< 11.025k sampling rate

-    LVM_FS_12000 = 2,              ///< 12k sampling rate

-    LVM_FS_16000 = 3,              ///< 16k sampling rate

-    LVM_FS_22050 = 4,              ///< 22.050k sampling rate

-    LVM_FS_24000 = 5,              ///< 24k sampling rate

-    LVM_FS_32000 = 6,              ///< 32k sampling rate

-    LVM_FS_44100 = 7,              ///< 44.1k sampling rate

-    LVM_FS_48000 = 8,              ///< 48k sampling rate

-    LVM_FS_COUNT = 9,              ///< Max sampling rate count

-    LVM_FS_INVALID = LVM_MAXENUM-1,

-    LVM_FS_DUMMY = LVM_MAXENUM

-} LVM_Fs_en;

-

-/**

-The enumerated type is used to select the reset mode for the module.

-@ref LVM_RESET_SOFT is used to select a soft reset (or partial reset) and @ref LVM_RESET_HARD is

-used to select a hard reset (full re-initialization).

-*/

-typedef enum

-{

-/**

-<table border>

-   <tr>

-       <td><b>Name</b></td>

-       <td><b>MODE</b></td>

-   </tr>

-   <tr>

-       <td>ResetType</td>

-       <td>@ref LVM_RESET_SOFT</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td>@ref LVM_RESET_HARD</td>

-   </tr>

-</table>

-*/

-    LVM_RESET_SOFT    = 0,         ///< Reset type for LVM where a partial reset of the module should be performed

-    LVM_RESET_HARD    = 1,         ///< Reset type for LVM where a full reset of the module should be performed

-    LVM_RESET_DUMMY   = LVM_MAXENUM

-} LVM_ResetType_en;

-

-/**

-The @ref LVM_MemoryTypes_en enumerated type identifies the memory region types so that they can be correctly placed in memory

-by the calling application.

-The module initially has no permanent memory storage and makes no use of persistent memory allocation internally.

-The calling application must allocate memory for the module to use.

-

-Four memory regions are required:

-@li @ref LVM_MEMREGION_PERSISTENT_SLOW_DATA : this type of memory is used to store all the control data that needs to be saved between two consecutive calls to the process function.

-@li @ref LVM_MEMREGION_PERSISTENT_FAST_DATA : this type of memory is used to store data such as filter history

-@li @ref LVM_MEMREGION_PERSISTENT_FAST_COEF : this type of memory is used to store filter coefficients.

-@li @ref LVM_MEMREGION_TEMPORARY_FAST (scratch): this type of memory is used to store temporary data. This memory can be reused by the application in between calls to the process function.

-

-This collection of memory regions forms the module instance.

-

-Typically the memory is allocated by the application dynamically; however, it can be allocated statically if required.

-The sizes of the memory regions can be found by running the GetMemoryTable functions on a simulator and noting

-the returned values. Alternatively contact NXP who can provide the figures.

-It is possible that these memory sizes will change between release versions of the library and hence the dynamic memory allocation method is preferred where possible.

-On some target platforms the placement of memory regions is critical for achieving optimal performance of the module.

-*/

-typedef enum

-{

-    LVM_PERSISTENT_SLOW_DATA    = LVM_MEMREGION_PERSISTENT_SLOW_DATA,       ///< Persistent slow memory region

-    LVM_PERSISTENT_FAST_DATA    = LVM_MEMREGION_PERSISTENT_FAST_DATA,       ///< Persistent fast memory region

-    LVM_PERSISTENT_FAST_COEF    = LVM_MEMREGION_PERSISTENT_FAST_COEF,       ///< Persisten fast memory for coefficient storage

-    LVM_TEMPORARY_FAST          = LVM_MEMREGION_TEMPORARY_FAST,             ///< Temporary fast memory region

-    LVM_MEMORYTYPE_DUMMY        = LVM_MAXENUM

-} LVM_MemoryTypes_en;

-

-/**

-Sets mod of Configuration

-*/

-typedef enum

-{

-    LVM_CONFIG_HANDSET            = 0,                  ///< Handset configuration

-    LVM_CONFIG_SPEAKERPHONE       = 1,                  ///< Speaker mod configuration

-    LVM_CONFIG_EARPIECE           = 2,                  ///< Earpiece configuration

-    LVM_CONFIG_DUMMY              = LVM_MAXENUM

-} LVM_Config_en;

-

-/**

-The @ref LVM_MemoryRegion_st type defines a memory region by specifying its size in bytes, its region type and its base pointer.

-@see LVM_MemoryTypes_en

-*/

-#if (  defined(VARIANT_24BIT) )

-typedef struct

-{

-    LVM_INT24                    Size;                   ///< The size of the memory region in bytes

-    LVM_MemoryTypes_en           Type;                   ///< Type of memory region

-    void                        *pBaseAddress;           ///< Pointer to the memory region base address

-} LVM_MemoryRegion_st;

-#else

-typedef struct

-{

-    LVM_UINT32                  Size;                   ///< The size of the memory region in bytes

-    LVM_MemoryTypes_en          Type;                   ///< Type of memory region

-    void                        *pBaseAddress;          ///< Pointer to the memory region base address

-} LVM_MemoryRegion_st;

-#endif

-

-/**

-The LVM_MemoryTable_st type defines the memory requirements of the module as an array of region definitions.

-The number of required memory regions is given by the constant @ref LVM_NR_MEMORY_REGIONS

-@see LVM_MemoryRegion_st

-*/

-typedef struct

-{

-    LVM_MemoryRegion_st         Region[LVM_NR_MEMORY_REGIONS];  ///< One definition of all memory regions

-} LVM_MemoryTable_st;

-

-/**

-Beats Per Minute Structure

-*/

-typedef struct

-{

-    LVM_INT16                   ShortTermMinimum;       ///< Beats per minute in Q9.6 format

-    LVM_INT16                   ShortTermAverage;       ///< Beats per minute in Q9.6 format

-    LVM_INT16                   ShortTermMaximum;       ///< Beats per minute in Q9.6 format

-

-    LVM_INT16                   Confidence;             ///< Beat confidence level: 0 = no confidence, 32767 = maximum confidence

-    LVM_INT16                   Strength;               ///< Beat strength level:   0 = no beat, 32767 = maximum strength beat

-    LVM_INT16                   LongTermMinimum;        ///< Beats per minute in Q9.6 format

-    LVM_INT16                   LongTermAverage;        ///< Beats per minute in Q9.6 format

-    LVM_INT16                   LongTermMaximum;        ///< Beats per minute in Q9.6 format

-

-} LVM_BPMModuleStats_st;

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Standard Function Prototypes                                                        */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-@brief General purpose callback function

-

-@param pCallbackData           Pointer to the callback data structure

-@param pGeneralPurpose         General purpose pointer (e.g. to a data structure needed in the callback)

-@param PresetLength            General purpose variable (e.g. to be used as callback ID)

-@return \ref LVM_INT32

-*/

-typedef LVM_INT32 (*LVM_Callback)(void          *pCallbackData,

-                                  void          *pGeneralPurpose,

-                                  LVM_INT16     GeneralPurpose );

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  End of file                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif  /* LVM_TYPES_H */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE.h
deleted file mode 100755
index 9c48d8e..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE.h
+++ /dev/null
@@ -1,1371 +0,0 @@
-/****************************************************************************************/

-/*  Copyright (c) 2004-2014 NXP Software. All rights are reserved.                      */

-/*  Reproduction in whole or in part is prohibited without the prior                    */

-/*  written consent of the copyright owner.                                             */

-/*                                                                                      */

-/*  This software and any compilation or derivative thereof is and                      */

-/*  shall remain the proprietary information of NXP Software and is                     */

-/*  highly confidential in nature. Any and all use hereof is restricted                 */

-/*  and is subject to the terms and conditions set forth in the                         */

-/*  software license agreement concluded with NXP Software.                             */

-/*                                                                                      */

-/*  Under no circumstances is this software or any derivative thereof                   */

-/*  to be combined with any Open Source Software in any way or                          */

-/*  licensed under any Open License Terms without the express prior                     */

-/*  written  permission of NXP Software.                                                */

-/*                                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means                 */

-/*  any software that is licensed under Open License Terms. Open                        */

-/*  License Terms means terms in any license that require as a                          */

-/*  condition of use, modification and/or distribution of a work                        */

-/*                                                                                      */

-/*           1. the making available of source code or other materials                  */

-/*              preferred for modification, or                                          */

-/*                                                                                      */

-/*           2. the granting of permission for creating derivative                      */

-/*              works, or                                                               */

-/*                                                                                      */

-/*           3. the reproduction of certain notices or license terms                    */

-/*              in derivative works or accompanying documentation, or                   */

-/*                                                                                      */

-/*           4. the granting of a royalty-free license to any party                     */

-/*              under Intellectual Property Rights                                      */

-/*                                                                                      */

-/*  regarding the work and/or any work that contains, is combined with,                 */

-/*  requires or otherwise is based on the work.                                         */

-/*                                                                                      */

-/*  This software is provided for ease of recompilation only.                           */

-/*  Modification and reverse engineering of this software are strictly                  */

-/*  prohibited.                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-/****************************************************************************************/

-/*                                                                                      */

-/*     $Author: nxp65285 $*/

-/*     $Revision: 56908 $*/

-/*     $Date: 2014-04-10 17:30:02 +0530 (Thu, 10 Apr 2014) $*/

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-@file

-Header file for the application layer interface of the LVVE module.

-This files includes all definitions, types, structures and function prototypes

-required by the calling layer. All other types, structures and functions are

-private.

-*/

-

-#ifndef __LVVE_H__

-#define __LVVE_H__

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Includes                                                                            */

-/*                                                                                      */

-/****************************************************************************************/

-

-#include "LVVE_VID.h"

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-/* Below include logic is designed to reduce checks to 1 or 2 conditions due to limitations in the backend stripping code */

-

-

-

-

-

-#define LVVE_MAX_PCM_FRAME_SIZE         160                    ///< LVVE maximum processing frame size

-

-

-#define LVVE_NOISESAMPLES_PER_FRAME     2                           ///< Number of samples required for noise estimation per frame

-/**

-@def LVVE_RX_PRESET_LENGTH

-Length of the LVVE_Rx preset buffer (number of bytes).

-@see LVVE_Rx_SetPreset

-@ingroup LVVE_Rx

-*/

-#define LVVE_RX_PRESET_LENGTH (LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH + LVVE_RX_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< RX preset Buffer length

-

-/**

-@def LVVE_TX_PRESET_LENGTH

-Length of the LVVE_Tx preset buffer (number of bytes).

-@see LVVE_Tx_SetPreset

-@ingroup LVVE_Tx

-*/

-#define LVVE_TX_PRESET_LENGTH (LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH + LVVE_TX_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< TX preset buffer length

-

-

-/* Deprecated Definitions */

-

-#define LVVE_MAX_BULK_DELAY             LVVE_TX_BULKDELAY_MAX

-#define LVVE_RX_MODE_DUMMY LVVE_RX_MODE_EN_DUMMY

-#define LVVE_TX_MODE_DUMMY LVVE_TX_MODE_EN_DUMMY

-

-#define LVVE_MAX_VOL_GAIN_DB            LVVE_TX_VOL_GAIN_MAX

-#define LVVE_MIN_VOL_GAIN_DB            LVVE_TX_VOL_GAIN_MIN

-

-#define LVVE_MAX_HPF_CORNER_HZ          LVVE_TX_MIC_HPF_CORNERFREQ_MAX

-#define LVVE_MIN_HPF_CORNER_HZ          LVVE_TX_MIC_HPF_CORNERFREQ_MIN

-

-#define LVVE_MAX_HPF_RX_CORNER_HZ       LVVE_RX_HPF_CORNERFREQ_MAX

-

-#define LVVE_MAX_NLPP_LIMIT_DB          LVNLPP_NLPP_LIMIT_MAX

-#define LVVE_MIN_NLPP_LIMIT_DB          LVNLPP_NLPP_LIMIT_MIN

-

-

-#define LVVE_MAX_DRC_LEVEL              LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX

-#define LVVE_MIN_DRC_LEVEL              LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN

-#define LVVE_MIN_DRC_NUMKNEES           LVDRC_NUMKNEES_MIN

-#define LVVE_MAX_DRC_NUMKNEES           LVDRC_NUMKNEES_MAX

-#define LVVE_MIN_DRC_ATTACKTIME         LVDRC_ATTACKTIME_MIN

-#define LVVE_MAX_DRC_ATTACKTIME         LVDRC_ATTACKTIME_MAX

-#define LVVE_MIN_DRC_RELEASETIME        LVDRC_RELEASETIME_MIN

-#define LVVE_MAX_DRC_RELEASETIME        LVDRC_RELEASETIME_MAX

-

-

-/* End deprecated defines*/

-/****************************************************************************************/

-/*                                                                                      */

-/*  Types                                                                               */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-LVVE_Tx Instance Handle

-This handle is used by most of the LVVE APIs

-@see LVVE_Tx_GetInstanceHandle

-@ingroup LVVE_Tx

-*/

-typedef void *LVVE_Tx_Handle_t;   ///< LVVE Tx handle

-/**

-This handle is used by most of the LVVE APIs

-@see LVVE_Rx_GetInstanceHandle

-@ingroup LVVE_Rx

-*/

-typedef void *LVVE_Rx_Handle_t;  ///< LVVE Rx handle

-

-/**

-This enum type specifies the different error codes returned by the API functions

-For the exact meaning see the individual function descriptions

-*/

-typedef enum

-{

-    LVVE_SUCCESS                            = 0,                ///< Successful return from a routine

-    LVVE_ALIGNMENTERROR                     = 1,                ///< Memory alignment error

-    LVVE_NULLADDRESS                        = 2,                ///< NULL allocation address

-    LVVE_OUTOFRANGE                         = 3,                ///< Out of range parameter

-    LVVE_INVALIDNUMSAMPLES                  = 4,                ///< Invalid number of samples

-    LVVE_INVALID_ALGORITHM_CONFIGURATION    = 5,                ///< Mutually exclusive algorithms configured ON

-    LVVE_INVALID_STATE_CONFIGURATION        = 6,                ///< Invalid state of the algorithm

-    LVVE_PRESET_INVALID_BUFFER_LENGTH       = 7,                ///< Incorrect length of buffer used in SetPreset

-    LVVE_PRESET_INVALID_VOLUME_INDEX        = 8,                ///< The volume index exceeds the buffer content in SetPreset

-    LVVE_PRESET_INVALID_BUFFER_VERSION      = 9,                ///< The version of the preset buffer does not match this library

-    LVVE_PRESET_INVALID_BASELINE_VERSION    = 10,               ///< Invalid LVVE Baseline Version in preset buffer

-    LVVE_PRESET_INVALID_MASK                = 11,               ///< Invalid algorithm mask in preset buffer

-    LVVE_PRESET_INVALID_SAMPLE_RATE         = 12,               ///< Invalid sample rate @ref LVM_Fs_en in preset buffer

-    LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID = 13,            ///< Invalid @ref LVVIDHeader_MessageID_en wire format message id in preset buffer

-

-    LVVE_RETURNSTATUS_DUMMY                 = LVM_MAXENUM

-} LVVE_ReturnStatus_en;

-

-/**

-Byte array containing encoded LVVE_Rx_ControlParams for one or multiple volumes.

-The length of this array should be a multiple of @ref LVVE_RX_PRESET_LENGTH.

-@see LVVE_Rx_SetPreset

-@ingroup LVVE_Rx

-*/

-typedef LVM_CHAR* LVVE_Rx_Preset_t; ///< LVVE Rx preset buffer

-

-/**

-Byte array containing encoded LVVE_Tx_ControlParams for one or multiple volumes.

-The length of this array should be a multiple of @ref LVVE_TX_PRESET_LENGTH.

-@see LVVE_Tx_SetPreset

-@ingroup LVVE_Tx

-*/

-typedef LVM_CHAR* LVVE_Tx_Preset_t;  ///< LVVE Tx preset buffer

-

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Structures                                                                          */

-/*                                                                                      */

-/****************************************************************************************/

-

-/**

-The instance parameters define certain important operating limits required by the calling application.

-These instance parameters affect how much memory is required by the LVVE and hence must be provided

-when the instance is created.

-@see LVVE_Rx_GetMemoryTable

-@see LVVE_Rx_GetInstanceHandle

-@see LVVE_Tx_GetMemoryTable

-@see LVVE_Tx_GetInstanceHandle

-*/

-/**

-EQ Module Instance Parameters Structure.

-@see LVEQ_InstanceParams_st

-*/

-typedef struct

-{

-/**

-Max Size of Equalizer

-Sets the maximum length of the equalizer impulse response that can be used.

-It must be a multiple of 8.

-<table border>

-<caption>EQ Max Length Table</caption>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Integer Length in Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>[8,\ref LVEQ_EQ_LENGTH_MAX]</td>

-       <td>\ref LVEQ_EQ_LENGTH_DEFAULT</td>

-   </tr>

-</table>

-*/

-    LVM_UINT16                    EQ_MaxLength;  ///< EQ Max Length

-} LVEQ_InstanceParams_st;

-

-/**

-Tx Instance Parameter Structure

-These parameters are set at initialization time and may not be changed during processing

-@ref LVVE_Tx_GetInstanceHandle

-@ingroup LVVE_Tx

-*/

-typedef struct

-{

-    LVM_Fs_en                   SampleRate;      ///< Sample rate

-/**

-Sets the maximum length of the bulk delay between Rx and Tx expressed in samples.

-The unit of MaxBulkDelay is [number of samples] at the respective sampling rate.

-<table border>

-<caption>Max Bulk Delay Table</caption>

-   <tr>

-       <td><b>Type</b></td>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>LVM_UINT16</b></td>

-       <td><b>Integer Length in Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>[0,6400]</td>

-       <td>None</td>

-   </tr>

-</table>

-*/

-    LVM_UINT16                  MaxBulkDelay;     ///< Max bulk delay

-

-    LVEQ_InstanceParams_st      EQ_InstParams;  ///< EQ instance

-} LVVE_Tx_InstanceParams_st;

-

-/**

-Rx Instance Parameter Structure

-These parameters are set at initialization time and may not be changed during processing.

-@ref LVVE_Rx_GetInstanceHandle

-@ingroup LVVE_Rx

-*/

-typedef struct

-{

-    LVM_Fs_en                   SampleRate;            ///< LVVE sample rate

-    LVEQ_InstanceParams_st      EQ_InstParams;///< EQ instance

-

-} LVVE_Rx_InstanceParams_st;

-

-/**

-The version information structure contains one character field to store LVVE version number.

-A call to the @ref LVVE_GetVersionInfo function is needed to retrieve this information.

-*/

-typedef struct

-{

-    LVM_CHAR                    VersionNumber[64];  ///< Version number of the LifeVibes&trade; VoiceExperience library

-} LVVE_VersionInfo;

-

-/**

-Used to reset LVVE_Rx module any time.

-@ref LVM_ResetType_en parameter determine the type of reset required

-@ingroup LVVE_Rx

-*/

-typedef struct

-{

-    LVM_ResetType_en ResetType;  ///< RX Reset Type

-} LVVE_Rx_ResetParams_st;

-

-/**

-Used to reset LVVE_Tx module any time.

-LVM_ResetType_en parameter determine the type of reset required

-@ingroup LVVE_Tx

-*/

-typedef struct

-{

-    LVM_ResetType_en ResetType;   ///< TX Reset Type

-} LVVE_Tx_ResetParams_st;

-

-/**

-@brief Retrieve the memory requirements of the LVVE_Tx module.

-

-This function returns a table of memory records that describe size, type and memory space of all buffers

-required by the instance. The number of initialized memory records is defined by LVVE_NR_MEMORY_REGIONS.

-This function is used for two purposes and is called in two different ways:

-

-@li Memory Allocation: When the LVVE_GetMemoryTable functions are called with a NULL instance handle (hInstance = LVM_NULL)

-    the function returns the memory requirements. The base address pointers in the memory table are set to NULL.

-    All elements of the instance parameters structure (pointed to by pInstParams) must contain valid values as the memory

-    requirements are affected by these settings.

-

-@li Memory Free: When called with a non-NULL instance handle (hInstance = a valid instance handle)

-      the function returns the memory table used when the instance was created.

-      The base address pointers returned will be those supplied by the calling application when the memory

-      was allocated and can now be used for freeing memory. The instance parameters (pointed to by pInstParams)

-      are ignored and the pInstParams parameter may be set to NULL.

-@li In case of memory allocation, all elements of the parameter initialization structure defined by pInstParams

-    must contain valid values as the memory requirements are affected by these settings.

-    In some releases of the bundle library one or more memory regions may have a zero size.

-

-@pre The number of memory records in the array defined by pMemoryTable is equal to @ref LVM_NR_MEMORY_REGIONS.

-@pre Exactly @ref LVM_NR_MEMORY_REGIONS memory records of pMemoryTable are initialized.

-

-@post When this function is called with hInstance = NULL the memory base address pointers

-will be NULL on return.

-@post When the function is called for freeing memory, hInstance = Instance Handle the

-memory table returns the allocated memory and base addresses used during

-initialisation.

-

-@return  LVVE_SUCCESS           when the function call succeeds and the memory table is filled correctly

-@return  LVVE_NULLADDRESS       when pMemoryTable was NULL

-@return  LVVE_NULLADDRESS       when pInstParams was NULL and the call was for memory allocation

-                                is NULL.

-@return  LVVE_OUTOFRANGE        when pInstParams contains parameters out of the excepted range

-

-@note  This function may be interrupted by the LVVE_Tx_Process function.

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetMemoryTable: Memory Allocation Example:

-

-The following example shows how to get the memory requirements for the LVVE_Tx instance.

-\code

-    InstParams_Tx.SampleRate    = LVM_FS_8000;

-    // Include the other instance params here

-

-    LVVE_Status = LVVE_Tx_GetMemoryTable ( LVM_NULL,

-                                           &MemTab_Tx,

-                                           &InstParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-    for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++ )

-    {

-        if( MemTab_Tx.Region[c1].Size != 0 )

-        {

-            MemTab_Tx.Region[c1].pBaseAddress =

-                malloc(MemTab_Tx.Region[c1].Size);

-        }

-    }

-\endcode

-

-LVVE_Tx_GetMemoryTable: Freeing Memory Example:

-

-The following example shows how to free the memory from the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetMemoryTable( hInstance,

-                                              &MemTab_Tx,

-                                              LVM_NULL);

-

-        if (LVVE_Status != LVVE_SUCCESS)

-        {

-            // Handle errors

-        }

-

-        for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++)

-        {

-            if (MemTab_Tx.Region[c1].Size != 0)

-            {

-                free(MemTab_Tx.Region[c1].pBaseAddress);

-            }

-        }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetMemoryTable(LVVE_Tx_Handle_t               hInstance,

-                                            LVM_MemoryTable_st             *pMemoryTable,

-                                            LVVE_Tx_InstanceParams_st      *pInstanceParams);

-

-/**

-@brief Retrieve the memory requirements of the LVVE_Rx module.

-

-This function returns a table of memory records that describe size, type and memory space of all buffers

-required by the instance. The number of initialized memory records is defined by LVVE_NR_MEMORY_REGIONS.

-This function is used for two purposes and is called in two different ways:

-

-@li Memory Allocation: When the LVVE_GetMemoryTable functions are called with a NULL instance handle (hInstance = LVM_NULL)

-    the function returns the memory requirements. The base address pointers in the memory table are set to NULL.

-    All elements of the instance parameters structure (pointed to by pInstParams) must contain valid values as the memory

-    requirements are affected by these settings.

-

-@li Memory Free: When called with a non-NULL instance handle (hInstance = a valid instance handle)

-      the function returns the memory table used when the instance was created.

-      The base address pointers returned will be those supplied by the calling application when the memory

-      was allocated and can now be used for freeing memory. The instance parameters (pointed to by pInstParams)

-      are ignored and the pInstParams parameter may be set to NULL.

-@li In case of memory allocation, all elements of the parameter initialization structure defined by pInstParams

-    must contain valid values as the memory requirements are affected by these settings.

-    In some releases of the bundle library one or more memory regions may have a zero size.

-

-@pre The number of memory records in the array defined by pMemoryTable is equal to @ref LVM_NR_MEMORY_REGIONS.

-@pre Exactly @ref LVM_NR_MEMORY_REGIONS memory records of pMemoryTable are initialized.

-

-@post When this function is called with hInstance = NULL the memory base address pointers

-will be NULL on return.

-@post When the function is called for freeing memory, hInstance = Instance Handle the

-memory table returns the allocated memory and base addresses used during

-initialisation.

-

-@return  LVVE_SUCCESS           when the function call succeeds and the memory table is filled correctly

-@return  LVVE_NULLADDRESS       when pMemoryTable was NULL

-@return  LVVE_NULLADDRESS       when pInstParams was NULL and the call was for memory allocation

-                                is NULL.

-@return  LVVE_OUTOFRANGE        when pInstParams contains parameters out of the excepted range

-

-@note  This function may be interrupted by the LVVE_Rx_Process function.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetMemoryTable: Memory Allocation Example:

-

-The following example shows how to get the memory requirements for the LVVE_Rx instance.

-

-\code

-    InstParams_Rx.SampleRate    = LVM_FS_8000;

-    // Include the other instance params here

-

-    LVVE_Status = LVVE_Rx_GetMemoryTable ( LVM_NULL,

-                                           &MemTab_Rx,

-                                           &InstParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-    for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++ )

-    {

-        if( MemTab_Rx.Region[c1].Size != 0 )

-        {

-            MemTab_Rx.Region[c1].pBaseAddress =

-                malloc(MemTab_Rx.Region[c1].Size);

-        }

-    }

-\endcode

-

-LVVE_Rx_GetMemoryTable: Freeing Memory Example:

-

-The following example shows how to free the memory from the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetMemoryTable( hInstance,

-                                              &MemTab_Rx,

-                                              LVM_NULL);

-

-        if (LVVE_Status != LVVE_SUCCESS)

-        {

-            // Handle errors

-        }

-

-        for( c1 = 0; c1 < LVVE_NR_MEMORY_REGIONS; c1++)

-        {

-            if (MemTab_Rx.Region[c1].Size != 0)

-            {

-                free(MemTab_Rx.Region[c1].pBaseAddress);

-            }

-        }

-\endcode

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetMemoryTable(LVVE_Rx_Handle_t               hInstance,

-                                            LVM_MemoryTable_st             *pMemoryTable,

-                                            LVVE_Rx_InstanceParams_st      *pInstanceParams);

-

-

-/**

-@brief Created handle to the instance of the LVVE_Tx module

-

-This function is used to create the LVVE_Tx instance. All control parameters are set to invalid values.

-The memory table pointed to by pMemoryTable must be created. If the memory table is not correct then an error will be returned.

-The memory requirements of the Rx and Tx unit are dependent on the instance parameters supplied and so the

-instance parameters provided in this function call must be the same as those used in the @ref LVVE_Tx_GetMemoryTable function calls

-used for memory allocation.

-

-@pre The memory records tables defined by pMemoryTable contains pointers to non-overlapping buffers

-with the size as requested via the prior calls to the LVVE_Tx_GetMemoryTable functions.

-@pre The initialization parameter structure defined by pInstParams is identical to the structure passed

-to prior call to @ref LVVE_Tx_GetMemoryTable functions.

-

-

-@param  phInstance              Pointer to the instance handle.

-@param  pMemoryTable            Pointer to the memory definition table.

-@param  pInstanceParams         Pointer to the instance parameters.

-

-@return  LVVE_SUCCESS           when creation was successful

-@return  LVVE_NULLADDRESS       When phInstance or pMemoryTable or pInstanceParams is NULL.

-@return  LVVE_NULLADDRESS       when one or more of the memory regions with a non-zero size has been

-                                given a NULL base address pointer.

-@return LVVE_OUTOFRANGE         when pInstParams contains parameters out of the excepted range

-

-@ingroup LVVE_Tx

-

- LVVE_Tx_GetInstanceHandle Example:

-

-The following example shows how to initialize LVVE_Tx_GetInstanceHandle.

-

-\code

-    hInstance_Tx = LVM_NULL;

-    LVVE_Status = LVVE_Tx_GetInstanceHandle( &hInstance_Tx,

-                                             &MemTab_Tx,

-                                             &InstParams_Tx );

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetInstanceHandle(LVVE_Tx_Handle_t                *phInstance,

-                                               LVM_MemoryTable_st              *pMemoryTable,

-                                               LVVE_Tx_InstanceParams_st       *pInstanceParams);

-

-/**

-@brief Created handle to the instance of the LVVE_Rx module

-

-This functions is used to create LVVE_Rx instance. All control parameters are set to invalid values.

-The memory table pointed to by pMemoryTable must be created. If the memory table is not correct then an error will be returned.

-The memory requirements of the Rx and Rx unit are dependent on the instance parameters supplied and so the

-instance parameters provided in this function call must be the same as those used in the @ref LVVE_Rx_GetMemoryTable function calls

-used for memory allocation.

-

-@pre The memory records tables defined by pMemoryTable contains pointers to non-overlapping buffers

-with the size as requested via the prior calls to the LVVE_Rx_GetMemoryTable functions.

-@pre The initialization parameter structure defined by pInstParams is identical to the structure passed

-to prior call to @ref LVVE_Rx_GetMemoryTable functions.

-

-

-@param  phInstance              Pointer to the instance handle.

-@param  pMemoryTable            Pointer to the memory definition table.

-@param  pInstanceParams         Pointer to the instance parameters.

-

-@return  LVVE_SUCCESS           when creation was successful

-@return  LVVE_NULLADDRESS       When phInstance or pMemoryTable or pInstanceParams is NULL.

-@return  LVVE_NULLADDRESS       when one or more of the memory regions with a non-zero size has been

-                                given a NULL base address pointer.

-@return LVVE_OUTOFRANGE         when pInstParams contains parameters out of the excepted range

-

-@ingroup LVVE_Rx

-

- LVVE_Rx_GetInstanceHandle Example:

-

-The following example shows how to initialize LVVE_Rx_GetInstanceHandle.

-

-\code

-    hInstance_Rx = LVM_NULL;

-    LVVE_Status = LVVE_Rx_GetInstanceHandle( &hInstance_Rx,

-                                             &MemTab_Rx,

-                                             &InstParams_Rx );

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetInstanceHandle(LVVE_Rx_Handle_t                *phInstance,

-                                               LVM_MemoryTable_st              *pMemoryTable,

-                                               LVVE_Rx_InstanceParams_st       *pInstanceParams);

-

-/**

-@brief Retrieve the current LVVE_Tx control parameters.

-

-This function copies the control parameters from the LVVE_Tx into the supplied

-parameter structure, pControlParams. The values returned are the values given in the last successful

-call to the LVVE_Tx_SetControlParameters function.

-

-@param hInstance              Instance handle

-@param pControlParams         Pointer to the control parameters

-

-@pre   hInstance should be valid handle.

-@pre   pControlParams should be allocated by caller.

-@post  pControlParams will be filled with the values given in the last successful call to

-       the LVVE_Tx_SetControlParameters function. They are not necessarily the values

-       used in the last call to the LVVE_Tx_Process function, this will be the case if

-       LVVE_Tx_SetControlParameters has been called since the last call to LVVE_Tx_Process.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pControlParams is NULL

-

-@note The LVVE_Tx_GetControlParameters function can be called at any time during processing.

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetControlParameters Example:

-

-The following example shows how to get different control parameters for the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetControlParameters(   LVVE_Tx_Handle_t           hInstance,

-                                                     LVVE_Tx_ControlParams_st   *pControlParams);

-

-/**

-@brief Retrieve the current LVVE_Rx control parameters.

-

-This function copies the control parameters from the LVVE_Tx into the supplied

-parameter structure, pControlParams. The values returned are the values given in the last successful

-call to the LVVE_Rx_SetControlParameters function.

-

-@param hInstance              Instance handle

-@param pControlParams         Pointer to the control parameters

-

-@pre   hInstance should be valid handle.

-@pre   pControlParams should be allocated by caller.

-@post  pControlParams will be filled with the values given in the last successful call to

-       the LVVE_Rx_SetControlParameters function. They are not necessarily the values

-       used in the last call to the LVVE_Rx_Process function, this will be the case if

-       LVVE_Tx_SetControlParameters has been called since the last call to LVVE_Tx_Process.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pControlParams is NULL

-

-@note The LVVE_Rx_GetControlParameters function can be called at any time during processing.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetControlParameters Example:

-

-The following example shows how to get different control parameters for the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-         // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetControlParameters(   LVVE_Rx_Handle_t           hInstance,

-                                                     LVVE_Rx_ControlParams_st   *pControlParams);

-

-/**

-@brief Sets or changes the LVVE_Tx module parameters using C-strcuture.

-

-This function takes the new set of parameters and makes a local copy within

-LVVE_Tx but the parameters are only applied on the next call of the LVVE_Tx_Process

-function. When a parameter is unchanged no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Tx_Process function

-is running. LifeVibes&trade; VoiceExperience control parameters can be set using two methods.

-Control Parameters can be populated in a \"C\" style structure (as explained in example) and then sent to the library.

-Another method is to populate control parameters in a byte array called Preset Buffer, see @ref LVVE_Tx_SetPreset for example usage.

-

-@param hInstance               Instance Handle

-@param pNewParams              Pointer to a parameter structure

-

-@pre hInstance should be valid handle.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pNewParams is NULL

-@return LVVE_OUTOFRANGE       When pNewParams contains parameters of activated modules that are out of the excepted range

-@return LVVE_INVALID_ALGORITHM_CONFIGURATION  When two mutual exclusive algorithms are both configured ON at run-time

-                                               (e.g., NoiseVoid and HandsFree)

-

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetControlParameters: Setting Control Parameters using C-Style structure Example:

-

-The following example shows how to set different control parameters for the LVVE_Tx instance.

-

-\code

-    LVVE_Status = LVVE_Tx_GetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-     Change Parameters as required

-    ControlParams_Tx.VOL_Gain         = VOL_TABLE[i];

-    ControlParams_Tx.VC_ControlParams = VC_TABLE[i];

-

-    // Update instance with new parameters

-    LVVE_Status = LVVE_Tx_SetControlParameters( &hInstance_Tx,

-                                                &ControlParams_Tx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_SetControlParameters(   LVVE_Tx_Handle_t           hInstance,

-                                        const LVVE_Tx_ControlParams_st * const pNewParams);

-

-/**

-@brief Sets or changes the LVVE_Rx module parameters using C-structure.

-

-This function takes the new set of parameters and makes a local copy within

-LVVE_Rx but the parameters are only applied on the next call of the LVVE_Rx_Process

-function. When a parameter is unchanged no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Rx_Process function

-is running. LifeVibes&trade; VoiceExperience control parameters can be set using two methods.

-Control Parameters can be populated in a \"C\" style structure (as explained in example) and then sent to the library.

-Another method is to populate control parameters in a byte array called Preset Buffer, see @ref LVVE_Rx_SetPreset for example usage.

-

-@param hInstance               Instance Handle

-@param pNewParams              Pointer to a parameter structure

-

-@pre hInstance should be valid handle.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pNewParams is NULL

-@return LVVE_OUTOFRANGE       When pNewParams contains parameters of activated modules that are out of the excepted range

-@return LVVE_INVALID_ALGORITHM_CONFIGURATION  When two mutual exclusive algorithms are both configured ON at run-time

-                                               (e.g., NoiseVoid and HandsFree)

-

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetControlParameters: Setting Control Parameters using C-Style structure Example:

-

-The following example shows how to set different control parameters for the LVVE_Rx instance.

-

-\code

-    LVVE_Status = LVVE_Rx_GetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-

-     Change Parameters as required

-    ControlParams_Rx.VOL_Gain         = VOL_TABLE[i];

-    ControlParams_Rx.VC_ControlParams = VC_TABLE[i];

-

-    // Update instance with new parameters

-    LVVE_Status = LVVE_Rx_SetControlParameters( &hInstance_Rx,

-                                                &ControlParams_Rx );

-

-    if( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_SetControlParameters(   LVVE_Rx_Handle_t           hInstance,

-                                        const LVVE_Rx_ControlParams_st * const pNewParams);

-

-/**

-@brief Retrieve the current LVVE_Tx status parameters.

-

-This function copies internal status variables into the supplied status

-parameter structures.

-

-@param hInstance      Instance handle

-@param pStatusParams  Pointer to the status parameters

-

-@pre   hInstance should be valid handle.

-@pre   pStatusParams should be allocated by caller.

-@post  pStatusParams will be filled with the latest status values of LVVE_Tx.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pStatusParams is NULL

-

-@note The LVVE_Tx_GetStatusParameters function can be called at any time during processing.

-This function can run in different threads than the process functions.

-

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_GetStatusParameters: Get Internal Algorithm Status Attributes Example:

-The following example shows how to use LVVE_Tx_GetStatusParameters function call.

-

-\code

-    LVVE_Tx_StatusParams_st  Tx_Monitor;

-    Status=LVVE_Tx_GetStatusParameters(hInstance_Tx,&Tx_Monitor);

-    if (Status != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Tx_GetStatusParameters(    LVVE_Tx_Handle_t           hInstance,

-                                                     LVVE_Tx_StatusParams_st    *pStatusParams);

-

-/**

-@brief Retrieve the current LVVE_Rx status parameters.

-

-This function copies internal status variables into the supplied status

-parameter structures.

-

-@param hInstance      Instance handle

-@param pStatusParams  Pointer to the status parameters

-

-@pre   hInstance should be valid handle.

-@pre   pStatusParams should be allocated by caller.

-@post  pStatusParams will be filled with the latest status values of LVVE_Rx.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pStatusParams is NULL

-

-@note The LVVE_Rx_GetStatusParameters function can be called at any time during processing.

-This function can run in different threads than the process functions.

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_GetStatusParameters: Get Internal Algorithm Status Attributes Example:

-The following example shows how to use LVVE_Rx_GetStatusParameters function call.

-

-\code

-    LVVE_Rx_StatusParams_st  Rx_Monitor;

-    Status=LVVE_Rx_GetStatusParameters(hInstance_Rx,&Rx_Monitor);

-    if (Status != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_GetStatusParameters(    LVVE_Rx_Handle_t           hInstance,

-                                                     LVVE_Rx_StatusParams_st    *pStatusParams);

-

-/**

-@brief Resets the LVVE_Tx module.

-

-The LVVE_Tx module instance memory contains data which depend on the input

-samples that have been processed previously.  These data are buffers

-used for filter tabs and delay lines and also adaptive coefficients of the

-algorithm.  The LVVE_Tx_ResetInstance function resets this input dependent data.

-

-The LVVE_Tx_ResetInstance function should be called whenever there is a

-discontinuity in the input audio stream.  A discontinuity means that the

-current block of samples is not contiguous with the previous block of samples.

-Examples are

-@li Calling the LVVE_Tx_Process function after a period of inactivity

-@li Buffer underrun or overflow in the audio driver

-The LVVE_ResetInstance function of the Tx and/or Tx Unit should only be called when absolutely necessary as re-adaptation

-of internal algorithms will occur.

-The LVVE_ResetInstance functions can be called at any time, even when LVVE_Process is running. The reset will be

-applied at the start of the next call of the LVVE_Tx_Process function.

-

-

-@param hInstance               Instance Handle

-@param pResetParams            Reset Type

-

-@pre hInstance should be valid handle.

-

-@post Depending on the ResetType value, the LVVE_Tx_ResetInstance function can

-perform:

-@li Soft reset: partial reset of internal buffers and adaptive behavior. To be used for very short

-interruption or discontinuity, e.g., buffer under-run or overflow in the audio driver influencing the echo path delay.

-@li Hard reset: full reset of all internal buffers and adaptive behavior. To be used for long

-interruption or discontinuity, e.g., before calling the LVVE_Tx_Process function after a long period of inactivity

-in between calls in case instance was not freed.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pResetParams is NULL

-@return LVVE_OUTOFRANGE       When content of pResetParams is invalid

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_ResetInstance Example:

-

-The following example shows how to use LVVE_Tx_ResetInstance.

-\code

-    LVVE_Status = LVVE_Tx_ResetInstance(hInstance, pResetParams);

-

-    if (LVVE_Status != LVVE_SUCCESS)

-    {

-        // Handle LVVE_Tx_ResetInstance errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_ResetInstance(  LVVE_Tx_Handle_t        hInstance,

-                                             LVVE_Tx_ResetParams_st *pResetParams  );

-

-/**

-@brief Resets the LVVE_Rx module.

-

-The LVVE_Rx module instance memory contains data which depend on the input

-samples that have been processed previously.  These data are buffers

-used for filter tabs and delay lines and also adaptive coefficients of the

-algorithm.  The LVVE_Rx_ResetInstance function resets this input dependent data.

-

-The LVVE_Rx_ResetInstance function should be called whenever there is a

-discontinuity in the input audio stream.  A discontinuity means that the

-current block of samples is not contiguous with the previous block of samples.

-Examples are

-@li Calling the LVVE_Rx_Process function after a period of inactivity

-@li Buffer underrun or overflow in the audio driver

-The LVVE_ResetInstance function of the Rx and/or Tx Unit should only be called when absolutely necessary as re-adaptation

-of internal algorithms will occur.

-The LVVE_ResetInstance functions can be called at any time, even when LVVE_Process is running. The reset will be

-applied at the start of the next call of the LVVE_Rx_Process function.

-

-

-@param hInstance               Instance Handle

-@param pResetParams            Reset Type

-

-@pre hInstance should be valid handle.

-

-@post Depending on the ResetType value, the LVVE_Rx_ResetInstance function can

-perform:

-@li Soft reset: partial reset of internal buffers and adaptive behavior. To be used for very short

-interruption or discontinuity, e.g., buffer under-run or overflow in the audio driver influencing the echo path delay.

-@li Hard reset: full reset of all internal buffers and adaptive behavior. To be used for long

-interruption or discontinuity, e.g., before calling the LVVE_Rx_Process function after a long period of inactivity

-in between calls in case instance was not freed.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance or pResetParams is NULL

-@return LVVE_OUTOFRANGE       When content of pResetParams is invalid

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_ResetInstance Example:

-

-The following example shows how to use LVVE_Rx_ResetInstance.

-\code

-    LVVE_Status = LVVE_Rx_ResetInstance(hInstance, pResetParams);

-

-    if (LVVE_Status != LVVE_SUCCESS)

-    {

-        // Handle LVVE_Rx_ResetInstance errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_ResetInstance(  LVVE_Rx_Handle_t        hInstance,

-                                             LVVE_Rx_ResetParams_st *pResetParams  );

-

-/**

-@brief Processes a block of samples by the LVVE_Tx module.

-

-This function processes the block of samples as configured with the current

-parameter settings. If new parameters have been given since the last call to

-LVVE_Tx_Process then these will be applied at the beginning of this process call.

-

-@param hInstance      Instance Handle

-@param pInDataMic0    Pointer to the input speech sample buffer (pimary microphone).

-@param pInDataMic1    Pointer to the input speech sample buffer (secondary microphone).

-@param pRefData       Pointer to the input farend reference buffer.

-@param pNoiseData     Pointer to the output noise reference buffer.

-@param pOutData       Pointer to the output sample buffer.

-@param NumSamples     The number of samples to process should be integer multiple(n) of values in table.

-                      It is a frquency dependant paramter.

-<table border>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>nx80 for 8kHz</td>

-       <td>80 for 8kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx160 for 16kHz</td>

-       <td>160 for 16kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx240 for 24kHz</td>

-       <td>240 for 24kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx320 for 32kHz</td>

-       <td>320 for 32kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx480 for 48kHz</td>

-       <td>480 for 48kHz</td>

-   </tr>

-</table>

-

-@pre hInstance should be valid handle.

-@pre LVVE_Tx_SetControlParameters should be called successfully once before.

-the first call to LVVE_Tx_Process

-@pre pInData is filled with the input samples to process.

-

-@post pOutData contains the processed samples.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance, pInData or pOutData is NULL

-@return LVVE_INVALIDNUMSAMPLES When the NumSamples is outside the allowed

-range

-@return LVVE_INVALID_STATE_CONFIGURATION When invalid state of the algorithm found

-

-@ingroup LVVE_Tx

-

-LVVE_Tx_Process Example:

-

-The following example shows how to use LVVE_Tx_Process function call

-

-\code

-    // Tx Processing

-    LVVE_STATUS = LVVE_Tx_Process( hInstance_Tx,

-                                   pInData_Tx0,

-                                   pInData_Tx1,

-                                   pInData_Ref,

-                                   pNoiseData,

-                                   pOutData_Tx,

-                                   NumSamples );

-    if (LVVE_STATUS != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_Process(   LVVE_Tx_Handle_t    hInstance,

-                                        const LVM_INT16     *pInDataMic0,

-                                        const LVM_INT16     *pInDataMic1,

-                                        const LVM_INT16     *pRefData,

-                                        LVM_INT16           *pNoiseData,

-                                        LVM_INT16           *pOutData,

-                                        const LVM_UINT16    NumSamples);

-

-/**

-@brief Processes a block of samples by the LVVE_Rx module.

-

-This function processes the block of samples as configured with the current

-parameter settings. If new parameters have been given since the last call to

-LVVE_Rx_Process then these will be applied at the beginning of this process call.

-

-@param hInstance      Instance Handle

-@param pInData        Pointer to the input sample buffer

-@param pNoiseData     Pointer to the input noise buffer (for LVVC only). Pointer to the input noise reference buffer.

-                      The size of this buffer depends on the number of samples to process: NoiseDataBufferSize = 2 (size of the input buffer in ms) / 10ms

-                        i.e. for 20 ms input buffer, the NoiseData buffer size should be 4.

-

-@param pOutData       Pointer to the output sample buffer

-@param NumSamples     The number of samples to process should be integer multiple(n) of values in table.

-                      It is a frquency dependant paramter.

-<table border>

-   <tr>

-       <td><b>Unit</b></td>

-       <td><b>Q format</b></td>

-       <td><b>Data Range</b></td>

-       <td><b>Default Values</b></td>

-   </tr>

-   <tr>

-       <td><b>Samples</b></td>

-       <td><b>Q16.0</b></td>

-       <td>nx80 for 8kHz</td>

-       <td>80 for 8kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx160 for 16kHz</td>

-       <td>160 for 16kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx240 for 24kHz</td>

-       <td>240 for 24kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx320 for 32kHz</td>

-       <td>320 for 32kHz</td>

-   </tr>

-   <tr>

-       <td></td>

-       <td></td>

-       <td>nx480 for 48kHz</td>

-       <td>480 for 48kHz</td>

-   </tr>

-</table>

-

-@pre hInstance should be valid handle.

-@pre LVVE_Rx_SetControlParameters should be called successfully once before.

-the first call to LVVE_Rx_Process

-@pre pInData is filled with the input samples to process.

-

-@post pOutData contains the processed samples.

-

-@return LVVE_SUCCESS          Succeeded

-@return LVVE_NULLADDRESS      When hInstance, pInData or pOutData is NULL

-@return LVVE_INVALIDNUMSAMPLES When the NumSamples is outside the allowed

-range

-@return LVVE_INVALID_STATE_CONFIGURATION When invalid state of the algorithm found

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_Process Example:

-The following example shows how to use LVVE_Rx_Process function call.

-

-\code

-    // Rx Processing

-    LVVE_STATUS = LVVE_Rx_Process( hInstance_Rx,

-                                   pInData_Rx,

-                                   pNoiseData,

-                                   pOutData_Rx,

-                                   NumSamples );

-

-    if (LVVE_STATUS != LVVE_SUCCESS )

-    {

-       // Error Handling

-    }

-\endcode

-

-*/

-

-LVVE_ReturnStatus_en LVVE_Rx_Process(   LVVE_Rx_Handle_t    hInstance,

-                                        const LVM_INT16     *pInData,

-                                        const LVM_INT16     *pNoiseData,

-                                        LVM_INT16           *pOutData,

-                                        const LVM_UINT16    NumSamples);

-

-

-/**

-\brief get the version number of current of LVVE library.

-

-This function returns, to host, current version of the LVVE library

-@param  pVersion                version info

-

-@return  LVVE_SUCCESS           Succeeded

-@return  LVVE_NULLADDRESS       When one of hInstance, pInData or pOutData is NULL

-

-LVVE_GetVersionInfot Example:

-

-\code

-    //Get the version information

-    LVVE_VersionInfo     VersionInfo;

-    LVVE_GetVersionInfo(&VersionInfo);

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_GetVersionInfo( LVVE_VersionInfo *pVersion );

-

-/**

-@brief Sets or changes the LVVE_Tx module parameters through a Preset Buffer.

-

-Sets or changes the LVVE_Tx module parameters through a Preset Buffer. To set parameters using \"C\" structure see

-@ref LVVE_Tx_SetControlParameters

-This function takes the new set of parameters and makes a local copy within the

-LVVE_Tx module but the parameters are only applied on the next call of the LVVE_Tx_Process

-function. When no parameters are changed, no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Tx_Process function

-is running.

-The new parameters are supplied in the form a @ref LVVE_Tx_Preset_t (Byte array).

-The length of the byte array shall be a multiple of @ref LVVE_TX_PRESET_LENGTH.

-

-@param hInstance               Instance Handle

-@param pPreset                 Pointer to a Preset buffer

-@param PresetLength            Length in bytes of the Preset buffer

-@param VolumeIndex             Volume index to be selected from the Preset buffer

-

-@pre hInstance should be valid handle.

-

-@return @ref LVVE_SUCCESS          Succeeded

-@return @ref LVVE_NULLADDRESS      When hInstance or pPreset is NULL

-@return @ref LVVE_OUTOFRANGE       When PresetLength or any of the new parameters is out of range

-@return @ref LVVE_INVALID_ALGORITHM_CONFIGURATION When mutually exclusive algorithms are enabled in the parameters at the same time

-@return @ref LVVE_PRESET_INVALID_BUFFER_LENGTH When the length of the input buffer is smaller than LVVE_TX_PRESET_LENGTH

-@return @ref LVVE_PRESET_INVALID_VOLUME_INDEX When the volume index exceeds the buffer content

-@return @ref LVVE_PRESET_INVALID_BUFFER_VERSION When the version of the format of the preset buffer does not match the version of the library

-@return @ref LVVE_PRESET_INVALID_BASELINE_VERSION When the baseline version of the provided preset buffer and the baseline version of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_MASK When the algorithm mask of the provided preset buffer and the algorithm mask of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_SAMPLE_RATE When the sample rate @ref LVM_Fs_en of the preset does not match the sample rate of the hInstance

-@return @ref LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID  When the LVWireformat message id @ref LVVIDHeader_MessageID_en of the preset is not valid

-

-@note This function may be interrupted by the LVVE_Tx_Process function

-

-@ingroup LVVE_Tx

-LVVE_Tx_SetPreset: Setting Control Parameters using Preset Buffer Example:

-

-The following example shows how to set different control parameters for the LVVE_Tx instance using Preset Buffer.

-

-\code

-    LVM_CHAR LVVE_Tx_Preset_Buffer[LVVE_TX_PRESET_LENGTH];

-    LVVE_Tx_Preset_t const LVVE_Tx_Preset = LVVE_Tx_Preset_Buffer;

-

-    FILE *PRESETFILE_Tx;

-    LVM_INT32 ReadBytes = 0;

-

-    PRESETFILE_Tx=fopen(filename, "rb" );

-

-    // Read the preset buffer

-    ReadBytes = fread( LVVE_Tx_Preset_Buffer,

-                       sizeof(LVM_CHAR),

-                       (LVM_UINT32)LVVE_TX_PRESET_LENGTH,

-                       PRESETFILE_Tx );

-

-    fclose(PRESETFILE_Tx);

-

-     // Update instance with new preset buffer

-    LVVE_Status = LVVE_Tx_SetPreset( hInstance_Tx,

-                                     LVVE_Tx_Preset,

-                                     ReadBytes,

-                                     0);

-

-    if ( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-

-

-*/

-LVVE_ReturnStatus_en LVVE_Tx_SetPreset(LVVE_Tx_Handle_t hInstance,

-                                       const LVVE_Tx_Preset_t pPreset,

-                                       LVM_UINT32 PresetLength,

-                                       LVM_UINT16 VolumeIndex);

-

-/**

-@brief Sets or changes the LVVE_Rx module parameters through a Preset Buffer

-

-Sets or changes the LVVE_Rx module parameters through a Preset Buffer. To set parameters using \"C\" structure see

-@ref LVVE_Rx_SetControlParameters

-This function takes the new set of parameters and makes a local copy within the

-LVVE_Rx module but the parameters are only applied on the next call of the LVVE_Rx_Process

-function. When no parameters are changed, no action is taken. This function can

-be called at any time during the processing, even when the LVVE_Rx_Process function

-is running.

-The new parameters are supplied in the form a @ref LVVE_Rx_Preset_t (Byte array).

-The length of the byte array shall be a multiple of @ref LVVE_RX_PRESET_LENGTH.

-

-@param hInstance               Instance Handle

-@param pPreset                 Pointer to a Preset buffer

-@param PresetLength            Length in bytes of the Preset buffer

-@param VolumeIndex             Volume index to be selected from the Preset buffer

-

-@pre hInstance should be valid handle.

-

-@return @ref LVVE_SUCCESS          Succeeded

-@return @ref LVVE_NULLADDRESS      When hInstance or pPreset is NULL

-@return @ref LVVE_OUTOFRANGE       When PresetLength or any of the new parameters is out of range

-@return @ref LVVE_INVALID_ALGORITHM_CONFIGURATION When mutually exclusive algorithms are enabled in the parameters at the same time

-@return @ref LVVE_PRESET_INVALID_BUFFER_LENGTH When the length of the input buffer is smaller than LVVE_RX_PRESET_LENGTH

-@return @ref LVVE_PRESET_INVALID_VOLUME_INDEX When the volume index exceeds the buffer content

-@return @ref LVVE_PRESET_INVALID_BUFFER_VERSION When the version of the format of the preset buffer does not match the version of the library

-@return @ref LVVE_PRESET_INVALID_BASELINE_VERSION When the baseline version of the provided preset buffer and the baseline version of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_MASK When the algorithm mask of the provided preset buffer and the algorithm mask of the library do not match. Is the preset generated for this library ?

-@return @ref LVVE_PRESET_INVALID_SAMPLE_RATE When the sample rate @ref LVM_Fs_en of the preset does not match the sample rate of the hInstance

-@return @ref LVVE_PRESET_INVALID_LVWIREFORMAT_MESSAGEID  When the LVWireformat message id @ref LVVIDHeader_MessageID_en of the preset is not valid

-

-@note This function may be interrupted by the LVVE_Rx_Process function

-

-@ingroup LVVE_Rx

-

-LVVE_Rx_SetPreset: Setting Control Parameters using Preset Buffer Example:

-

-The following example shows how to set different control parameters for the LVVE_Rx instance using Preset Buffer.

-

-\code

-    #define NUM_VOLUMES (5)

-    LVM_CHAR LVVE_Rx_Preset_Buffer[NUM_VOLUMES*LVVE_RX_PRESET_LENGTH];

-    LVVE_Rx_Preset_t const LVVE_Rx_Preset = LVVE_Rx_Preset_Buffer;

-

-    FILE *PRESETFILE_Rx;

-    LVM_INT32 ReadBytes = 0;

-    LVM_UINT16 VolumeIndex = 3;

-

-    PRESETFILE_Rx=fopen(filename, "rb" );

-

-    // Read the preset buffer

-    ReadBytes = fread( LVVE_Rx_Preset_Buffer,

-                       sizeof(LVM_CHAR),

-                       (LVM_UINT32)(NUM_VOLUMES*LVVE_RX_PRESET_LENGTH),

-                       PRESETFILE_Rx );

-

-    fclose(PRESETFILE_Rx);

-

-     // Update instance with new preset buffer

-    LVVE_Status = LVVE_Rx_SetPreset( hInstance_Rx,

-                                     LVVE_Rx_Preset,

-                                     ReadBytes,

-                                     VolumeIndex);

-

-    if ( LVVE_Status != LVVE_SUCCESS )

-    {

-        // Handle Errors

-    }

-\endcode

-

-*/

-LVVE_ReturnStatus_en LVVE_Rx_SetPreset(LVVE_Rx_Handle_t hInstance,

-                                       const LVVE_Rx_Preset_t pPreset,

-                                       LVM_UINT32 PresetLength,

-                                       LVM_UINT16 VolumeIndex);

-

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif      /* __LVVE_H__ */

-

-/* End of file */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE_VID.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE_VID.h
deleted file mode 100755
index 79047a8..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/LVVE_VID.h
+++ /dev/null
@@ -1,8413 +0,0 @@
-/****************************************************************************************/

-/*  Copyright (c) 2004-2016 NXP Software. All rights are reserved.                      */

-/*  Reproduction in whole or in part is prohibited without the prior                    */

-/*  written consent of the copyright owner.                                             */

-/*                                                                                      */

-/*  This software and any compilation or derivative thereof is and                      */

-/*  shall remain the proprietary information of NXP Software and is                     */

-/*  highly confidential in nature. Any and all use hereof is restricted                 */

-/*  and is subject to the terms and conditions set forth in the                         */

-/*  software license agreement concluded with NXP Software.                             */

-/*                                                                                      */

-/*  Under no circumstances is this software or any derivative thereof                   */

-/*  to be combined with any Open Source Software in any way or                          */

-/*  licensed under any Open License Terms without the express prior                     */

-/*  written  permission of NXP Software.                                                */

-/*                                                                                      */

-/*  For the purpose of this clause, the term Open Source Software means                 */

-/*  any software that is licensed under Open License Terms. Open                        */

-/*  License Terms means terms in any license that require as a                          */

-/*  condition of use, modification and/or distribution of a work                        */

-/*                                                                                      */

-/*           1. the making available of source code or other materials                  */

-/*              preferred for modification, or                                          */

-/*                                                                                      */

-/*           2. the granting of permission for creating derivative                      */

-/*              works, or                                                               */

-/*                                                                                      */

-/*           3. the reproduction of certain notices or license terms                    */

-/*              in derivative works or accompanying documentation, or                   */

-/*                                                                                      */

-/*           4. the granting of a royalty-free license to any party                     */

-/*              under Intellectual Property Rights                                      */

-/*                                                                                      */

-/*  regarding the work and/or any work that contains, is combined with,                 */

-/*  requires or otherwise is based on the work.                                         */

-/*                                                                                      */

-/*  This software is provided for ease of recompilation only.                           */

-/*  Modification and reverse engineering of this software are strictly                  */

-/*  prohibited.                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-

-/****************************************************************************************/

-/*                                                                                      */

-/*     $Author: nxp65285 $*/

-/*     $Revision: 49390 $*/

-/*     $Date: 2013-10-16 18:34:35 +0530 (Wed, 16 Oct 2013) $*/

-/*                                                                                      */

-/****************************************************************************************/

-

-/** @file

- *  Header file for the application layer interface of the REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX module

- *

- *  The suffix VID in header file stands for Voice Interface Definition

- *  This files includes all definitions, types, and structures required by the calling

- *  layer. Public functions are defined in the protoypes header files.

- *  All other types, structures and functions are private.

- */

-

-#ifndef __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_VIDPP_H__

-#define __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_VIDPP_H__

-

-#ifdef __cplusplus

-extern "C" {

-#endif /* __cplusplus */

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Includes                                                                            */

-/*                                                                                      */

-/****************************************************************************************/

-#include "LVC_Types.h"

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Definitions                                                                         */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVFENS_MASK1</td>

-        <td>1</td>

-        <td>Far End Noise Suppression is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_HPF_MASK1</td>

-        <td>4</td>

-        <td>High Pass Filter is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVNG_MASK1</td>

-        <td>16</td>

-        <td>Noise Gate is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_EQ_MASK1</td>

-        <td>64</td>

-        <td>Equalizer is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_AGC_MASK1</td>

-        <td>128</td>

-        <td>Automatic Gain Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_DRC_MASK1</td>

-        <td>256</td>

-        <td>Dynamic Range Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_VOL_MASK1</td>

-        <td>512</td>

-        <td>Volume Control is present in the LVVE_Rx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_RX_LVVC_MASK1</td>

-        <td>1024</td>

-        <td>VoiceClarity is present in the LVVE_Rx</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Rx_Mask1_bm;

-/**

-* @def LVVIDHeader_LVVE_Rx_LVFENS_MASK1

-* Far End Noise Suppression is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVFENS_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)1)

-/**

-* @def LVVIDHeader_LVVE_Rx_HPF_MASK1

-* High Pass Filter is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_HPF_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)4)

-/**

-* @def LVVIDHeader_LVVE_Rx_LVNG_MASK1

-* Noise Gate is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVNG_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)16)

-/**

-* @def LVVIDHeader_LVVE_Rx_EQ_MASK1

-* Equalizer is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_EQ_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)64)

-/**

-* @def LVVIDHeader_LVVE_Rx_AGC_MASK1

-* Automatic Gain Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_AGC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)128)

-/**

-* @def LVVIDHeader_LVVE_Rx_DRC_MASK1

-* Dynamic Range Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_DRC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)256)

-/**

-* @def LVVIDHeader_LVVE_Rx_VOL_MASK1

-* Volume Control is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_VOL_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)512)

-/**

-* @def LVVIDHeader_LVVE_Rx_LVVC_MASK1

-* VoiceClarity is present in the LVVE_Rx

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVVC_MASK1 ((LVVIDHeader_LVVE_Rx_Mask1_bm)1024)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Rx_Mask1_bm

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK1_BM_MIN ((LVVIDHeader_LVVE_Rx_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Rx_Mask1_bm

-* @see LVVIDHeader_LVVE_Rx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_RX_LVFENS_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)1)

-#define LVVIDHEADER_LVVE_RX_HPF_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)4)

-#define LVVIDHEADER_LVVE_RX_LVNG_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)16)

-#define LVVIDHEADER_LVVE_RX_EQ_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)64)

-#define LVVIDHEADER_LVVE_RX_AGC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)128)

-#define LVVIDHEADER_LVVE_RX_DRC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)256)

-#define LVVIDHEADER_LVVE_RX_VOL_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)512)

-#define LVVIDHEADER_LVVE_RX_LVVC_MASK1_FORMAX ((LVVIDHeader_LVVE_Rx_Mask1_bm)1024)

-#define LVVIDHEADER_LVVE_RX_MASK1_BM_MAX (LVVIDHEADER_LVVE_RX_LVFENS_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_HPF_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_LVNG_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_EQ_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_AGC_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_DRC_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_VOL_MASK1_FORMAX | LVVIDHEADER_LVVE_RX_LVVC_MASK1_FORMAX | ((LVVIDHeader_LVVE_Rx_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Rx_Mask2_bm;

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Rx_Mask2_bm

-* @see LVVIDHeader_LVVE_Rx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK2_BM_MIN ((LVVIDHeader_LVVE_Rx_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_RX_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Rx_Mask2_bm

-* @see LVVIDHeader_LVVE_Rx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_RX_MASK2_BM_MAX (((LVVIDHeader_LVVE_Rx_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_LVHF_MASK1</td>

-        <td>1</td>

-        <td>HandsFree is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_EQ_MASK1</td>

-        <td>4</td>

-        <td>Equalizer is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_DRC_MASK1</td>

-        <td>16</td>

-        <td>Dynamic Range Control is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_VOL_MASK1</td>

-        <td>32</td>

-        <td>Volume Control is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_HPF_MASK1</td>

-        <td>128</td>

-        <td>HPF is present in the LVVE_Tx</td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_LVVE_TX_LVNV_01_MASK1</td>

-        <td>512</td>

-        <td>NoiseVoid is present in the LVVE_Tx</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Tx_Mask1_bm;

-/**

-* @def LVVIDHeader_LVVE_Tx_LVHF_MASK1

-* HandsFree is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVHF_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)1)

-/**

-* @def LVVIDHeader_LVVE_Tx_EQ_MASK1

-* Equalizer is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_EQ_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)4)

-/**

-* @def LVVIDHeader_LVVE_Tx_DRC_MASK1

-* Dynamic Range Control is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_DRC_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)16)

-/**

-* @def LVVIDHeader_LVVE_Tx_VOL_MASK1

-* Volume Control is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_VOL_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)32)

-/**

-* @def LVVIDHeader_LVVE_Tx_HPF_MASK1

-* HPF is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_HPF_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)128)

-/**

-* @def LVVIDHeader_LVVE_Tx_LVNV_01_MASK1

-* NoiseVoid is present in the LVVE_Tx

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVNV_01_MASK1 ((LVVIDHeader_LVVE_Tx_Mask1_bm)512)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Tx_Mask1_bm

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK1_BM_MIN ((LVVIDHeader_LVVE_Tx_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Tx_Mask1_bm

-* @see LVVIDHeader_LVVE_Tx_Mask1_bm

-*/

-#define LVVIDHEADER_LVVE_TX_LVHF_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)1)

-#define LVVIDHEADER_LVVE_TX_EQ_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)4)

-#define LVVIDHEADER_LVVE_TX_DRC_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)16)

-#define LVVIDHEADER_LVVE_TX_VOL_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)32)

-#define LVVIDHEADER_LVVE_TX_HPF_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)128)

-#define LVVIDHEADER_LVVE_TX_LVNV_01_MASK1_FORMAX ((LVVIDHeader_LVVE_Tx_Mask1_bm)512)

-#define LVVIDHEADER_LVVE_TX_MASK1_BM_MAX (LVVIDHEADER_LVVE_TX_LVHF_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_EQ_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_DRC_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_VOL_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_HPF_MASK1_FORMAX | LVVIDHEADER_LVVE_TX_LVNV_01_MASK1_FORMAX | ((LVVIDHeader_LVVE_Tx_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_LVVE_Tx_Mask2_bm;

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_LVVE_Tx_Mask2_bm

-* @see LVVIDHeader_LVVE_Tx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK2_BM_MIN ((LVVIDHeader_LVVE_Tx_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_LVVE_TX_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_LVVE_Tx_Mask2_bm

-* @see LVVIDHeader_LVVE_Tx_Mask2_bm

-*/

-#define LVVIDHEADER_LVVE_TX_MASK2_BM_MAX (((LVVIDHeader_LVVE_Tx_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVIDHEADER_CONFIGURATIONS_NARROWBAND_MASK1</td>

-        <td>1</td>

-        <td>NarrowBand configuration is present in the LVVE</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_Configurations_Mask1_bm;

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_NARROWBAND_MASK1

-* NarrowBand configuration is present in the LVVE

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_NARROWBAND_MASK1 ((LVVIDHeader_Configurations_Mask1_bm)1)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MIN

-* Minimal value for LVVIDHeader_Configurations_Mask1_bm

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MIN ((LVVIDHeader_Configurations_Mask1_bm)0)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX

-* Maximal value for LVVIDHeader_Configurations_Mask1_bm

-* @see LVVIDHeader_Configurations_Mask1_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_NARROWBAND_MASK1_FORMAX ((LVVIDHeader_Configurations_Mask1_bm)1)

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX (LVVIDHEADER_CONFIGURATIONS_NARROWBAND_MASK1_FORMAX | ((LVVIDHeader_Configurations_Mask1_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVIDHeader_Configurations_Mask2_bm;

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MIN

-* Minimal value for LVVIDHeader_Configurations_Mask2_bm

-* @see LVVIDHeader_Configurations_Mask2_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MIN ((LVVIDHeader_Configurations_Mask2_bm)0)

-/**

-* @def LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX

-* Maximal value for LVVIDHeader_Configurations_Mask2_bm

-* @see LVVIDHeader_Configurations_Mask2_bm

-*/

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX (((LVVIDHeader_Configurations_Mask2_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL</td>

-        <td>2</td>

-        <td>Turns on or off the AGC. If off both AGC and Limiter are bypassed.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL_ADAPT</td>

-        <td>4</td>

-        <td>Allows turning off the dependency of the AGC upon the nearend noise level. When turned off, the AGC uses the default parameters.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_AVL_SPDETECT</td>

-        <td>8</td>

-        <td>Allows disabling speech detection in the AGC. When turned off, the AGC adapts its gain all the time.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_LIMITER</td>

-        <td>16</td>

-        <td>Turns on or off the limiter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_LPF</td>

-        <td>32</td>

-        <td>Turns on or off the low-pass filter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_HPF</td>

-        <td>64</td>

-        <td>Turns on or off the high-pass filter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVVC_MODE_VC</td>

-        <td>128</td>

-        <td>Turns on or off the VoiceClarity gain.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVVC_ModeWord_bm;

-/**

-* @def LVVC_MODE_AVL

-* Turns on or off the AGC. If off both AGC and Limiter are bypassed.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL ((LVVC_ModeWord_bm)2)

-/**

-* @def LVVC_MODE_AVL_ADAPT

-* Allows turning off the dependency of the AGC upon the nearend noise level. When turned off, the AGC uses the default parameters.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_ADAPT ((LVVC_ModeWord_bm)4)

-/**

-* @def LVVC_MODE_AVL_SPDETECT

-* Allows disabling speech detection in the AGC. When turned off, the AGC adapts its gain all the time.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_SPDETECT ((LVVC_ModeWord_bm)8)

-/**

-* @def LVVC_MODE_LIMITER

-* Turns on or off the limiter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_LIMITER ((LVVC_ModeWord_bm)16)

-/**

-* @def LVVC_MODE_LPF

-* Turns on or off the low-pass filter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_LPF ((LVVC_ModeWord_bm)32)

-/**

-* @def LVVC_MODE_HPF

-* Turns on or off the high-pass filter.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_HPF ((LVVC_ModeWord_bm)64)

-/**

-* @def LVVC_MODE_VC

-* Turns on or off the VoiceClarity gain.

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_VC ((LVVC_ModeWord_bm)128)

-/**

-* @def LVVC_MODEWORD_BM_MIN

-* Minimal value for LVVC_ModeWord_bm

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODEWORD_BM_MIN ((LVVC_ModeWord_bm)0)

-/**

-* @def LVVC_MODEWORD_BM_MAX

-* Maximal value for LVVC_ModeWord_bm

-* @see LVVC_ModeWord_bm

-*/

-#define LVVC_MODE_AVL_FORMAX ((LVVC_ModeWord_bm)2)

-#define LVVC_MODE_AVL_ADAPT_FORMAX ((LVVC_ModeWord_bm)4)

-#define LVVC_MODE_AVL_SPDETECT_FORMAX ((LVVC_ModeWord_bm)8)

-#define LVVC_MODE_LIMITER_FORMAX ((LVVC_ModeWord_bm)16)

-#define LVVC_MODE_LPF_FORMAX ((LVVC_ModeWord_bm)32)

-#define LVVC_MODE_HPF_FORMAX ((LVVC_ModeWord_bm)64)

-#define LVVC_MODE_VC_FORMAX ((LVVC_ModeWord_bm)128)

-#define LVVC_MODEWORD_BM_MAX (LVVC_MODE_AVL_FORMAX | LVVC_MODE_AVL_ADAPT_FORMAX | LVVC_MODE_AVL_SPDETECT_FORMAX | LVVC_MODE_LIMITER_FORMAX | LVVC_MODE_LPF_FORMAX | LVVC_MODE_HPF_FORMAX | LVVC_MODE_VC_FORMAX | ((LVVC_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVFENS_MODE_HS</td>

-        <td>1</td>

-        <td>Switch ON and OFF Horn Suppressor. Currently Horn Suppressor is not supported.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVFENS_ModeWord_bm;

-/**

-* @def LVFENS_MODE_HS

-* Switch ON and OFF Horn Suppressor. Currently Horn Suppressor is not supported.

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODE_HS ((LVFENS_ModeWord_bm)1)

-/**

-* @def LVFENS_MODEWORD_BM_MIN

-* Minimal value for LVFENS_ModeWord_bm

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODEWORD_BM_MIN ((LVFENS_ModeWord_bm)0)

-/**

-* @def LVFENS_MODEWORD_BM_MAX

-* Maximal value for LVFENS_ModeWord_bm

-* @see LVFENS_ModeWord_bm

-*/

-#define LVFENS_MODE_HS_FORMAX ((LVFENS_ModeWord_bm)1)

-#define LVFENS_MODEWORD_BM_MAX (LVFENS_MODE_HS_FORMAX | ((LVFENS_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_AVL</td>

-        <td>1</td>

-        <td>Turns on or off the AVL. If off, both AGC and Limiter are bypassed</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_SPDETECT</td>

-        <td>2</td>

-        <td>Allows disabling speech detection in the AVL. When turned off, the AGC adapts its gain all the time.</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_LIMITER</td>

-        <td>4</td>

-        <td>Turns on or off the limiter.</td>

-    </tr>

-    <tr>

-        <td>@ref LVWM_MODE_EXT_SPDETECT</td>

-        <td>8</td>

-        <td>Used to tell the WhisperMode module if an external speech detection is available (If 0, there is no external speech detector).</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVWM_ModeWord_bm;

-/**

-* @def LVWM_MODE_AVL

-* Turns on or off the AVL. If off, both AGC and Limiter are bypassed

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_AVL ((LVWM_ModeWord_bm)1)

-/**

-* @def LVWM_MODE_SPDETECT

-* Allows disabling speech detection in the AVL. When turned off, the AGC adapts its gain all the time.

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_SPDETECT ((LVWM_ModeWord_bm)2)

-/**

-* @def LVWM_MODE_LIMITER

-* Turns on or off the limiter.

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_LIMITER ((LVWM_ModeWord_bm)4)

-/**

-* @def LVWM_MODE_EXT_SPDETECT

-* Used to tell the WhisperMode module if an external speech detection is available (If 0, there is no external speech detector).

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_EXT_SPDETECT ((LVWM_ModeWord_bm)8)

-/**

-* @def LVWM_MODEWORD_BM_MIN

-* Minimal value for LVWM_ModeWord_bm

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODEWORD_BM_MIN ((LVWM_ModeWord_bm)0)

-/**

-* @def LVWM_MODEWORD_BM_MAX

-* Maximal value for LVWM_ModeWord_bm

-* @see LVWM_ModeWord_bm

-*/

-#define LVWM_MODE_AVL_FORMAX ((LVWM_ModeWord_bm)1)

-#define LVWM_MODE_SPDETECT_FORMAX ((LVWM_ModeWord_bm)2)

-#define LVWM_MODE_LIMITER_FORMAX ((LVWM_ModeWord_bm)4)

-#define LVWM_MODE_EXT_SPDETECT_FORMAX ((LVWM_ModeWord_bm)8)

-#define LVWM_MODEWORD_BM_MAX (LVWM_MODE_AVL_FORMAX | LVWM_MODE_SPDETECT_FORMAX | LVWM_MODE_LIMITER_FORMAX | LVWM_MODE_EXT_SPDETECT_FORMAX | ((LVWM_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NLMS0</td>

-        <td>1</td>

-        <td>NLMS0 functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NLMS1</td>

-        <td>2</td>

-        <td>NLMS1 functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_BEAMFORMER</td>

-        <td>4</td>

-        <td>Fiter-and-Sum Beamformer functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_PCD</td>

-        <td>8</td>

-        <td>Switch between PCD (Path change detector) and BSD (Broadside detector)</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_GSC</td>

-        <td>16</td>

-        <td>Generalized Sidelobe Canceller functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_DNNS</td>

-        <td>32</td>

-        <td>Dynamic Non-stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_DES</td>

-        <td>64</td>

-        <td>Dynamic Echo Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NS</td>

-        <td>128</td>

-        <td>Stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_NS_N</td>

-        <td>256</td>

-        <td>Non-stationary Noise Suppression functionality</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_CAL</td>

-        <td>2048</td>

-        <td>Switch between initial or continuous calibration</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_HB</td>

-        <td>16384</td>

-        <td>High Band mute/activated</td>

-    </tr>

-    <tr>

-        <td>@ref MODE_HS</td>

-        <td>32768</td>

-        <td>Horn Suppressor functionality (if available)</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_ModeWord_bm;

-/**

-* @def MODE_NLMS0

-* NLMS0 functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS0 ((LVNV_ModeWord_bm)1)

-/**

-* @def MODE_NLMS1

-* NLMS1 functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS1 ((LVNV_ModeWord_bm)2)

-/**

-* @def MODE_BEAMFORMER

-* Fiter-and-Sum Beamformer functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_BEAMFORMER ((LVNV_ModeWord_bm)4)

-/**

-* @def MODE_PCD

-* Switch between PCD (Path change detector) and BSD (Broadside detector)

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_PCD ((LVNV_ModeWord_bm)8)

-/**

-* @def MODE_GSC

-* Generalized Sidelobe Canceller functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_GSC ((LVNV_ModeWord_bm)16)

-/**

-* @def MODE_DNNS

-* Dynamic Non-stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_DNNS ((LVNV_ModeWord_bm)32)

-/**

-* @def MODE_DES

-* Dynamic Echo Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_DES ((LVNV_ModeWord_bm)64)

-/**

-* @def MODE_NS

-* Stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NS ((LVNV_ModeWord_bm)128)

-/**

-* @def MODE_NS_N

-* Non-stationary Noise Suppression functionality

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NS_N ((LVNV_ModeWord_bm)256)

-/**

-* @def MODE_CAL

-* Switch between initial or continuous calibration

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_CAL ((LVNV_ModeWord_bm)2048)

-/**

-* @def MODE_HB

-* High Band mute/activated

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_HB ((LVNV_ModeWord_bm)16384)

-/**

-* @def MODE_HS

-* Horn Suppressor functionality (if available)

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_HS ((LVNV_ModeWord_bm)32768)

-/**

-* @def LVNV_MODEWORD_BM_MIN

-* Minimal value for LVNV_ModeWord_bm

-* @see LVNV_ModeWord_bm

-*/

-#define LVNV_MODEWORD_BM_MIN ((LVNV_ModeWord_bm)0)

-/**

-* @def LVNV_MODEWORD_BM_MAX

-* Maximal value for LVNV_ModeWord_bm

-* @see LVNV_ModeWord_bm

-*/

-#define MODE_NLMS0_FORMAX ((LVNV_ModeWord_bm)1)

-#define MODE_NLMS1_FORMAX ((LVNV_ModeWord_bm)2)

-#define MODE_BEAMFORMER_FORMAX ((LVNV_ModeWord_bm)4)

-#define MODE_PCD_FORMAX ((LVNV_ModeWord_bm)8)

-#define MODE_GSC_FORMAX ((LVNV_ModeWord_bm)16)

-#define MODE_DNNS_FORMAX ((LVNV_ModeWord_bm)32)

-#define MODE_DES_FORMAX ((LVNV_ModeWord_bm)64)

-#define MODE_NS_FORMAX ((LVNV_ModeWord_bm)128)

-#define MODE_NS_N_FORMAX ((LVNV_ModeWord_bm)256)

-#define MODE_CAL_FORMAX ((LVNV_ModeWord_bm)2048)

-#define MODE_HB_FORMAX ((LVNV_ModeWord_bm)16384)

-#define MODE_HS_FORMAX ((LVNV_ModeWord_bm)32768)

-#define LVNV_MODEWORD_BM_MAX (MODE_NLMS0_FORMAX | MODE_NLMS1_FORMAX | MODE_BEAMFORMER_FORMAX | MODE_PCD_FORMAX | MODE_GSC_FORMAX | MODE_DNNS_FORMAX | MODE_DES_FORMAX | MODE_NS_FORMAX | MODE_NS_N_FORMAX | MODE_CAL_FORMAX | MODE_HB_FORMAX | MODE_HS_FORMAX | ((LVNV_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_FSB_CARDIOID</td>

-        <td>1</td>

-        <td>FSB update based on speech detection in cardioid</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_FSB_WITHINBEAM</td>

-        <td>2</td>

-        <td>FSB update based on withinbeam detection</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_CAL_UPDATE</td>

-        <td>4</td>

-        <td>Switch for calibration functionality between updated or not-updated</td>

-    </tr>

-    <tr>

-        <td>@ref MODE2_BEAMDAMAGE</td>

-        <td>8</td>

-        <td>Microphone coverage protection</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_Mode2Word_bm;

-/**

-* @def MODE2_FSB_CARDIOID

-* FSB update based on speech detection in cardioid

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_CARDIOID ((LVNV_Mode2Word_bm)1)

-/**

-* @def MODE2_FSB_WITHINBEAM

-* FSB update based on withinbeam detection

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_WITHINBEAM ((LVNV_Mode2Word_bm)2)

-/**

-* @def MODE2_CAL_UPDATE

-* Switch for calibration functionality between updated or not-updated

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_CAL_UPDATE ((LVNV_Mode2Word_bm)4)

-/**

-* @def MODE2_BEAMDAMAGE

-* Microphone coverage protection

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_BEAMDAMAGE ((LVNV_Mode2Word_bm)8)

-/**

-* @def LVNV_MODE2WORD_BM_MIN

-* Minimal value for LVNV_Mode2Word_bm

-* @see LVNV_Mode2Word_bm

-*/

-#define LVNV_MODE2WORD_BM_MIN ((LVNV_Mode2Word_bm)0)

-/**

-* @def LVNV_MODE2WORD_BM_MAX

-* Maximal value for LVNV_Mode2Word_bm

-* @see LVNV_Mode2Word_bm

-*/

-#define MODE2_FSB_CARDIOID_FORMAX ((LVNV_Mode2Word_bm)1)

-#define MODE2_FSB_WITHINBEAM_FORMAX ((LVNV_Mode2Word_bm)2)

-#define MODE2_CAL_UPDATE_FORMAX ((LVNV_Mode2Word_bm)4)

-#define MODE2_BEAMDAMAGE_FORMAX ((LVNV_Mode2Word_bm)8)

-#define LVNV_MODE2WORD_BM_MAX (MODE2_FSB_CARDIOID_FORMAX | MODE2_FSB_WITHINBEAM_FORMAX | MODE2_CAL_UPDATE_FORMAX | MODE2_BEAMDAMAGE_FORMAX | ((LVNV_Mode2Word_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_NLMS1</td>

-        <td>1</td>

-        <td>NLMS1 output</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_FSB</td>

-        <td>2</td>

-        <td>FSB noise reference output</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_WITHINBEAM</td>

-        <td>8</td>

-        <td>Tuning beep when Withinbeam=1</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_UPDATEONOFF</td>

-        <td>16</td>

-        <td>Tuning beep when FSB is updated</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_CAL_MICPOW</td>

-        <td>64</td>

-        <td>Tuning beep when MicPow is lower than Cal_micPowFloorMin</td>

-    </tr>

-    <tr>

-        <td>@ref TUNING_MODE_BROADSIDE</td>

-        <td>128</td>

-        <td>Tuning beep when broadside is detected</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_TuningModeWord_bm;

-/**

-* @def TUNING_MODE_NLMS1

-* NLMS1 output

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_NLMS1 ((LVNV_TuningModeWord_bm)1)

-/**

-* @def TUNING_MODE_FSB

-* FSB noise reference output

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_FSB ((LVNV_TuningModeWord_bm)2)

-/**

-* @def TUNING_MODE_WITHINBEAM

-* Tuning beep when Withinbeam=1

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_WITHINBEAM ((LVNV_TuningModeWord_bm)8)

-/**

-* @def TUNING_MODE_UPDATEONOFF

-* Tuning beep when FSB is updated

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_UPDATEONOFF ((LVNV_TuningModeWord_bm)16)

-/**

-* @def TUNING_MODE_CAL_MICPOW

-* Tuning beep when MicPow is lower than Cal_micPowFloorMin

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_CAL_MICPOW ((LVNV_TuningModeWord_bm)64)

-/**

-* @def TUNING_MODE_BROADSIDE

-* Tuning beep when broadside is detected

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_BROADSIDE ((LVNV_TuningModeWord_bm)128)

-/**

-* @def LVNV_TUNINGMODEWORD_BM_MIN

-* Minimal value for LVNV_TuningModeWord_bm

-* @see LVNV_TuningModeWord_bm

-*/

-#define LVNV_TUNINGMODEWORD_BM_MIN ((LVNV_TuningModeWord_bm)0)

-/**

-* @def LVNV_TUNINGMODEWORD_BM_MAX

-* Maximal value for LVNV_TuningModeWord_bm

-* @see LVNV_TuningModeWord_bm

-*/

-#define TUNING_MODE_NLMS1_FORMAX ((LVNV_TuningModeWord_bm)1)

-#define TUNING_MODE_FSB_FORMAX ((LVNV_TuningModeWord_bm)2)

-#define TUNING_MODE_WITHINBEAM_FORMAX ((LVNV_TuningModeWord_bm)8)

-#define TUNING_MODE_UPDATEONOFF_FORMAX ((LVNV_TuningModeWord_bm)16)

-#define TUNING_MODE_CAL_MICPOW_FORMAX ((LVNV_TuningModeWord_bm)64)

-#define TUNING_MODE_BROADSIDE_FORMAX ((LVNV_TuningModeWord_bm)128)

-#define LVNV_TUNINGMODEWORD_BM_MAX (TUNING_MODE_NLMS1_FORMAX | TUNING_MODE_FSB_FORMAX | TUNING_MODE_WITHINBEAM_FORMAX | TUNING_MODE_UPDATEONOFF_FORMAX | TUNING_MODE_CAL_MICPOW_FORMAX | TUNING_MODE_BROADSIDE_FORMAX | ((LVNV_TuningModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_LOST_BEAM</td>

-        <td>1</td>

-        <td>LostBeam detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_MIC_COV</td>

-        <td>2</td>

-        <td>Microphone Coverage detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_FSB_UPDATE</td>

-        <td>4</td>

-        <td>FSB updates</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_BEAM_DAMAGE</td>

-        <td>8</td>

-        <td>BeamDamage detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_GSC_UPDATE</td>

-        <td>16</td>

-        <td>GSC updates</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_DNNS_WBEAM</td>

-        <td>32</td>

-        <td>DNNS WithinBeam detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_DNNS_ACTIVITY</td>

-        <td>64</td>

-        <td>DNNS activity detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_CAL_MICPOW</td>

-        <td>128</td>

-        <td>Calibration Microphone Power</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_MICPOWSP</td>

-        <td>256</td>

-        <td>(LV1008) MicPow Speech detections</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_BROADSIDE_FLAG</td>

-        <td>512</td>

-        <td>(LV2370) Broadside detection flag</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_CAL_UPDATED</td>

-        <td>1024</td>

-        <td>(LV8237) Calibration updated flag</td>

-    </tr>

-    <tr>

-        <td>@ref LVNV_STATUS_WBEAM_FIX</td>

-        <td>2048</td>

-        <td>WithinBeam detection for Fixed Beamformer (if available).</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVNV_StatusWord_bm;

-/**

-* @def LVNV_STATUS_LOST_BEAM

-* LostBeam detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_LOST_BEAM ((LVNV_StatusWord_bm)1)

-/**

-* @def LVNV_STATUS_MIC_COV

-* Microphone Coverage detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_MIC_COV ((LVNV_StatusWord_bm)2)

-/**

-* @def LVNV_STATUS_FSB_UPDATE

-* FSB updates

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_FSB_UPDATE ((LVNV_StatusWord_bm)4)

-/**

-* @def LVNV_STATUS_BEAM_DAMAGE

-* BeamDamage detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_BEAM_DAMAGE ((LVNV_StatusWord_bm)8)

-/**

-* @def LVNV_STATUS_GSC_UPDATE

-* GSC updates

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_GSC_UPDATE ((LVNV_StatusWord_bm)16)

-/**

-* @def LVNV_STATUS_DNNS_WBEAM

-* DNNS WithinBeam detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_DNNS_WBEAM ((LVNV_StatusWord_bm)32)

-/**

-* @def LVNV_STATUS_DNNS_ACTIVITY

-* DNNS activity detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_DNNS_ACTIVITY ((LVNV_StatusWord_bm)64)

-/**

-* @def LVNV_STATUS_CAL_MICPOW

-* Calibration Microphone Power

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_CAL_MICPOW ((LVNV_StatusWord_bm)128)

-/**

-* @def LVNV_STATUS_MICPOWSP

-* (LV1008) MicPow Speech detections

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_MICPOWSP ((LVNV_StatusWord_bm)256)

-/**

-* @def LVNV_STATUS_BROADSIDE_FLAG

-* (LV2370) Broadside detection flag

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_BROADSIDE_FLAG ((LVNV_StatusWord_bm)512)

-/**

-* @def LVNV_STATUS_CAL_UPDATED

-* (LV8237) Calibration updated flag

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_CAL_UPDATED ((LVNV_StatusWord_bm)1024)

-/**

-* @def LVNV_STATUS_WBEAM_fix

-* WithinBeam detection for Fixed Beamformer (if available).

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_WBEAM_FIX ((LVNV_StatusWord_bm)2048)

-/**

-* @def LVNV_STATUSWORD_BM_MIN

-* Minimal value for LVNV_StatusWord_bm

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUSWORD_BM_MIN ((LVNV_StatusWord_bm)0)

-/**

-* @def LVNV_STATUSWORD_BM_MAX

-* Maximal value for LVNV_StatusWord_bm

-* @see LVNV_StatusWord_bm

-*/

-#define LVNV_STATUS_LOST_BEAM_FORMAX ((LVNV_StatusWord_bm)1)

-#define LVNV_STATUS_MIC_COV_FORMAX ((LVNV_StatusWord_bm)2)

-#define LVNV_STATUS_FSB_UPDATE_FORMAX ((LVNV_StatusWord_bm)4)

-#define LVNV_STATUS_BEAM_DAMAGE_FORMAX ((LVNV_StatusWord_bm)8)

-#define LVNV_STATUS_GSC_UPDATE_FORMAX ((LVNV_StatusWord_bm)16)

-#define LVNV_STATUS_DNNS_WBEAM_FORMAX ((LVNV_StatusWord_bm)32)

-#define LVNV_STATUS_DNNS_ACTIVITY_FORMAX ((LVNV_StatusWord_bm)64)

-#define LVNV_STATUS_CAL_MICPOW_FORMAX ((LVNV_StatusWord_bm)128)

-#define LVNV_STATUS_MICPOWSP_FORMAX ((LVNV_StatusWord_bm)256)

-#define LVNV_STATUS_BROADSIDE_FLAG_FORMAX ((LVNV_StatusWord_bm)512)

-#define LVNV_STATUS_CAL_UPDATED_FORMAX ((LVNV_StatusWord_bm)1024)

-#define LVNV_STATUS_WBEAM_FIX_FORMAX ((LVNV_StatusWord_bm)2048)

-#define LVNV_STATUSWORD_BM_MAX (LVNV_STATUS_LOST_BEAM_FORMAX | LVNV_STATUS_MIC_COV_FORMAX | LVNV_STATUS_FSB_UPDATE_FORMAX | LVNV_STATUS_BEAM_DAMAGE_FORMAX | LVNV_STATUS_GSC_UPDATE_FORMAX | LVNV_STATUS_DNNS_WBEAM_FORMAX | LVNV_STATUS_DNNS_ACTIVITY_FORMAX | LVNV_STATUS_CAL_MICPOW_FORMAX | LVNV_STATUS_MICPOWSP_FORMAX | LVNV_STATUS_BROADSIDE_FLAG_FORMAX | LVNV_STATUS_CAL_UPDATED_FORMAX | LVNV_STATUS_WBEAM_FIX_FORMAX | ((LVNV_StatusWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_PATHCHANGE</td>

-        <td>1</td>

-        <td>PCD tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_CLIP</td>

-        <td>2</td>

-        <td>SPDET_x_clip tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_FAR_SPEAKS</td>

-        <td>4</td>

-        <td>SPDET_far tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_MIC_SPEAKS</td>

-        <td>8</td>

-        <td>SPDET_mic tuning beep</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_HB_MUTE</td>

-        <td>16</td>

-        <td>Mute high band (4kHz-8kHz). Should be disabled by default.</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_CONTROL_TUNE_TB_MUTE</td>

-        <td>32</td>

-        <td>Mute top band (above 8kHz). Should be disabled by default.</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_TuningModeWord;

-/**

-* @def LVHF_CONTROL_TUNE_PATHCHANGE

-* PCD tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_PATHCHANGE ((LVHF_TuningModeWord)1)

-/**

-* @def LVHF_CONTROL_TUNE_CLIP

-* SPDET_x_clip tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_CLIP ((LVHF_TuningModeWord)2)

-/**

-* @def LVHF_CONTROL_TUNE_FAR_SPEAKS

-* SPDET_far tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_FAR_SPEAKS ((LVHF_TuningModeWord)4)

-/**

-* @def LVHF_CONTROL_TUNE_MIC_SPEAKS

-* SPDET_mic tuning beep

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_MIC_SPEAKS ((LVHF_TuningModeWord)8)

-/**

-* @def LVHF_CONTROL_TUNE_HB_MUTE

-* Mute high band (4kHz-8kHz). Should be disabled by default.

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_HB_MUTE ((LVHF_TuningModeWord)16)

-/**

-* @def LVHF_CONTROL_TUNE_TB_MUTE

-* Mute top band (above 8kHz). Should be disabled by default.

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_TB_MUTE ((LVHF_TuningModeWord)32)

-/**

-* @def LVHF_TUNINGMODEWORD_MIN

-* Minimal value for LVHF_TuningModeWord

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_TUNINGMODEWORD_MIN ((LVHF_TuningModeWord)0)

-/**

-* @def LVHF_TUNINGMODEWORD_MAX

-* Maximal value for LVHF_TuningModeWord

-* @see LVHF_TuningModeWord

-*/

-#define LVHF_CONTROL_TUNE_PATHCHANGE_FORMAX ((LVHF_TuningModeWord)1)

-#define LVHF_CONTROL_TUNE_CLIP_FORMAX ((LVHF_TuningModeWord)2)

-#define LVHF_CONTROL_TUNE_FAR_SPEAKS_FORMAX ((LVHF_TuningModeWord)4)

-#define LVHF_CONTROL_TUNE_MIC_SPEAKS_FORMAX ((LVHF_TuningModeWord)8)

-#define LVHF_CONTROL_TUNE_HB_MUTE_FORMAX ((LVHF_TuningModeWord)16)

-#define LVHF_CONTROL_TUNE_TB_MUTE_FORMAX ((LVHF_TuningModeWord)32)

-#define LVHF_TUNINGMODEWORD_MAX (LVHF_CONTROL_TUNE_PATHCHANGE_FORMAX | LVHF_CONTROL_TUNE_CLIP_FORMAX | LVHF_CONTROL_TUNE_FAR_SPEAKS_FORMAX | LVHF_CONTROL_TUNE_MIC_SPEAKS_FORMAX | LVHF_CONTROL_TUNE_HB_MUTE_FORMAX | LVHF_CONTROL_TUNE_TB_MUTE_FORMAX | ((LVHF_TuningModeWord)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NLMS</td>

-        <td>1</td>

-        <td>NLMS functionality</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_DES</td>

-        <td>2</td>

-        <td>DES (Dynamic Echo Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NS</td>

-        <td>4</td>

-        <td>NS (Noise Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_CNI</td>

-        <td>8</td>

-        <td>CNI (Comfort Noise Injection)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_NLES</td>

-        <td>16</td>

-        <td>NLES (Non Linear Echo Suppression)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PCD_DT</td>

-        <td>64</td>

-        <td>DT (Double Talk) protection after PCD</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PCD</td>

-        <td>128</td>

-        <td>PCD (Path Change Detector)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_INIT_ES</td>

-        <td>256</td>

-        <td>Initial echo suppression setting by PCD_gamma_e_rescue</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_HS</td>

-        <td>512</td>

-        <td>HornSuppression (if available)</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_MODE_PRENLMS</td>

-        <td>4096</td>

-        <td>Pre-NLMS preprocessing</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_ModeWord_bm;

-/**

-* @def LVHF_MODE_NLMS

-* NLMS functionality

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLMS ((LVHF_ModeWord_bm)1)

-/**

-* @def LVHF_MODE_DES

-* DES (Dynamic Echo Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_DES ((LVHF_ModeWord_bm)2)

-/**

-* @def LVHF_MODE_NS

-* NS (Noise Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NS ((LVHF_ModeWord_bm)4)

-/**

-* @def LVHF_MODE_CNI

-* CNI (Comfort Noise Injection)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_CNI ((LVHF_ModeWord_bm)8)

-/**

-* @def LVHF_MODE_NLES

-* NLES (Non Linear Echo Suppression)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLES ((LVHF_ModeWord_bm)16)

-/**

-* @def LVHF_MODE_PCD_DT

-* DT (Double Talk) protection after PCD

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PCD_DT ((LVHF_ModeWord_bm)64)

-/**

-* @def LVHF_MODE_PCD

-* PCD (Path Change Detector)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PCD ((LVHF_ModeWord_bm)128)

-/**

-* @def LVHF_MODE_INIT_ES

-* Initial echo suppression setting by PCD_gamma_e_rescue

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_INIT_ES ((LVHF_ModeWord_bm)256)

-/**

-* @def LVHF_MODE_HS

-* HornSuppression (if available)

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_HS ((LVHF_ModeWord_bm)512)

-/**

-* @def LVHF_MODE_PRENLMS

-* Pre-NLMS preprocessing

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_PRENLMS ((LVHF_ModeWord_bm)4096)

-/**

-* @def LVHF_MODEWORD_BM_MIN

-* Minimal value for LVHF_ModeWord_bm

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODEWORD_BM_MIN ((LVHF_ModeWord_bm)0)

-/**

-* @def LVHF_MODEWORD_BM_MAX

-* Maximal value for LVHF_ModeWord_bm

-* @see LVHF_ModeWord_bm

-*/

-#define LVHF_MODE_NLMS_FORMAX ((LVHF_ModeWord_bm)1)

-#define LVHF_MODE_DES_FORMAX ((LVHF_ModeWord_bm)2)

-#define LVHF_MODE_NS_FORMAX ((LVHF_ModeWord_bm)4)

-#define LVHF_MODE_CNI_FORMAX ((LVHF_ModeWord_bm)8)

-#define LVHF_MODE_NLES_FORMAX ((LVHF_ModeWord_bm)16)

-#define LVHF_MODE_PCD_DT_FORMAX ((LVHF_ModeWord_bm)64)

-#define LVHF_MODE_PCD_FORMAX ((LVHF_ModeWord_bm)128)

-#define LVHF_MODE_INIT_ES_FORMAX ((LVHF_ModeWord_bm)256)

-#define LVHF_MODE_HS_FORMAX ((LVHF_ModeWord_bm)512)

-#define LVHF_MODE_PRENLMS_FORMAX ((LVHF_ModeWord_bm)4096)

-#define LVHF_MODEWORD_BM_MAX (LVHF_MODE_NLMS_FORMAX | LVHF_MODE_DES_FORMAX | LVHF_MODE_NS_FORMAX | LVHF_MODE_CNI_FORMAX | LVHF_MODE_NLES_FORMAX | LVHF_MODE_PCD_DT_FORMAX | LVHF_MODE_PCD_FORMAX | LVHF_MODE_INIT_ES_FORMAX | LVHF_MODE_HS_FORMAX | LVHF_MODE_PRENLMS_FORMAX | ((LVHF_ModeWord_bm)0))

-/**

-<table border>

-    <tr>

-        <td><b>Name</b></td>

-        <td><b>Value</b></td>

-        <td><b>Description</b></td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_FAR_SPEAKS</td>

-        <td>1</td>

-        <td>FarEnd is speaking</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_FAR_STARTS</td>

-        <td>2</td>

-        <td>FarEnd starts to speak</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_MIC_SPEAKS</td>

-        <td>4</td>

-        <td>Mic activity detected</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_CLIP</td>

-        <td>8</td>

-        <td>Clipping Detected</td>

-    </tr>

-    <tr>

-        <td>@ref LVHF_STATUS_PATHCHANGE</td>

-        <td>16</td>

-        <td>Path Change detected</td>

-    </tr>

-</table> */

-typedef LVM_UINT16 LVHF_StatusWord_bm;

-/**

-* @def LVHF_STATUS_FAR_SPEAKS

-* FarEnd is speaking

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_SPEAKS ((LVHF_StatusWord_bm)1)

-/**

-* @def LVHF_STATUS_FAR_STARTS

-* FarEnd starts to speak

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_STARTS ((LVHF_StatusWord_bm)2)

-/**

-* @def LVHF_STATUS_MIC_SPEAKS

-* Mic activity detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_MIC_SPEAKS ((LVHF_StatusWord_bm)4)

-/**

-* @def LVHF_STATUS_CLIP

-* Clipping Detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_CLIP ((LVHF_StatusWord_bm)8)

-/**

-* @def LVHF_STATUS_PATHCHANGE

-* Path Change detected

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_PATHCHANGE ((LVHF_StatusWord_bm)16)

-/**

-* @def LVHF_STATUSWORD_BM_MIN

-* Minimal value for LVHF_StatusWord_bm

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUSWORD_BM_MIN ((LVHF_StatusWord_bm)0)

-/**

-* @def LVHF_STATUSWORD_BM_MAX

-* Maximal value for LVHF_StatusWord_bm

-* @see LVHF_StatusWord_bm

-*/

-#define LVHF_STATUS_FAR_SPEAKS_FORMAX ((LVHF_StatusWord_bm)1)

-#define LVHF_STATUS_FAR_STARTS_FORMAX ((LVHF_StatusWord_bm)2)

-#define LVHF_STATUS_MIC_SPEAKS_FORMAX ((LVHF_StatusWord_bm)4)

-#define LVHF_STATUS_CLIP_FORMAX ((LVHF_StatusWord_bm)8)

-#define LVHF_STATUS_PATHCHANGE_FORMAX ((LVHF_StatusWord_bm)16)

-#define LVHF_STATUSWORD_BM_MAX (LVHF_STATUS_FAR_SPEAKS_FORMAX | LVHF_STATUS_FAR_STARTS_FORMAX | LVHF_STATUS_MIC_SPEAKS_FORMAX | LVHF_STATUS_CLIP_FORMAX | LVHF_STATUS_PATHCHANGE_FORMAX | ((LVHF_StatusWord_bm)0))

-

-#define LVVIDHEADER_LVVE_RX_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Rx_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_RX_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Rx_Mask2_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_TX_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Tx_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_LVVE_TX_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_LVVE_Tx_Mask2_bm in LVWireFormat.

-

-#define LVVIDHEADER_CONFIGURATIONS_MASK1_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_Configurations_Mask1_bm in LVWireFormat.

-

-#define LVVIDHEADER_CONFIGURATIONS_MASK2_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVIDHeader_Configurations_Mask2_bm in LVWireFormat.

-

-#define LVVC_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVVC_ModeWord_bm in LVWireFormat.

-

-#define LVFENS_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVFENS_ModeWord_bm in LVWireFormat.

-

-#define LVWM_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVWM_ModeWord_bm in LVWireFormat.

-

-#define LVNV_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_ModeWord_bm in LVWireFormat.

-

-#define LVNV_MODE2WORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_Mode2Word_bm in LVWireFormat.

-

-#define LVNV_TUNINGMODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_TuningModeWord_bm in LVWireFormat.

-

-#define LVNV_STATUSWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVNV_StatusWord_bm in LVWireFormat.

-

-#define LVHF_TUNINGMODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_TuningModeWord in LVWireFormat.

-

-#define LVHF_MODEWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_ModeWord_bm in LVWireFormat.

-

-#define LVHF_STATUSWORD_LVWIREFORMAT_LENGTH (2) ///< Number of bytes to encode @ref LVHF_StatusWord_bm in LVWireFormat.

-

-#define LVM_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Mode_en in LVWireFormat.

-

-#define LVM_CONFIG_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Config_en in LVWireFormat.

-

-#define LVM_FS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVM_Fs_en in LVWireFormat.

-

-#define LVVIDHEADER_MESSAGEID_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVIDHeader_MessageID_en in LVWireFormat.

-

-#define LVVIDHEADER_RETURNSTATUS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVIDHeader_ReturnStatus_en in LVWireFormat.

-

-#define LVVE_RX_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVE_Rx_Mode_en in LVWireFormat.

-

-#define LVVE_TX_MODE_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode @ref LVVE_Tx_Mode_en in LVWireFormat.

-

-#define LVVIDHEADER_CONTROLPARAMS_LVWIREFORMAT_LENGTH (7 \

- + LVVIDHEADER_LVVE_RX_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_RX_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_TX_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_LVVE_TX_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_CONFIGURATIONS_MASK1_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_CONFIGURATIONS_MASK2_LVWIREFORMAT_LENGTH \

- + LVVIDHEADER_MESSAGEID_LVWIREFORMAT_LENGTH \

- + LVM_FS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVIDHeader ControlParameters in LVWireFormat.

-

-#define LVVC_CONTROLPARAMS_LVWIREFORMAT_LENGTH (22 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVVC_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVC ControlParameters in LVWireFormat.

-

-#define LVFENS_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVFENS_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVFENS ControlParameters in LVWireFormat.

-

-#define LVWM_CONTROLPARAMS_LVWIREFORMAT_LENGTH (14 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVWM_MODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVWM ControlParameters in LVWireFormat.

-

-#define LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH (28 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVDRC ControlParameters in LVWireFormat.

-

-#define LVNG_CONTROLPARAMS_LVWIREFORMAT_LENGTH (26 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVNG ControlParameters in LVWireFormat.

-

-#define LVNLPP_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4) ///< Number of bytes to encode LVNLPP ControlParameters in LVWireFormat.

-

-#define LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH (66) ///< Number of bytes to encode LVEQ ControlParameters in LVWireFormat.

-

-#define LVVOL_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVOL ControlParameters in LVWireFormat.

-

-#define LVHPF_CONTROLPARAMS_LVWIREFORMAT_LENGTH (2 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVHPF ControlParameters in LVWireFormat.

-

-#define LVMUTE_CONTROLPARAMS_LVWIREFORMAT_LENGTH (LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVMUTE ControlParameters in LVWireFormat.

-

-#define LVVE_RX_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4 \

- + LVVE_RX_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVFENS_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVNLPP_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVVC_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVWM_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVNG_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVE_Rx ControlParameters in LVWireFormat.

-

-#define LVNV_CONTROLPARAMS_LVWIREFORMAT_LENGTH (122 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVNV_MODEWORD_LVWIREFORMAT_LENGTH \

- + LVNV_MODE2WORD_LVWIREFORMAT_LENGTH \

- + LVNV_TUNINGMODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVNV ControlParameters in LVWireFormat.

-

-#define LVHF_CONTROLPARAMS_LVWIREFORMAT_LENGTH (78 \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVHF_MODEWORD_LVWIREFORMAT_LENGTH \

- + LVHF_TUNINGMODEWORD_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVHF ControlParameters in LVWireFormat.

-

-#define LVBD_CONTROLPARAMS_LVWIREFORMAT_LENGTH (4 \

- + LVM_MODE_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVBD ControlParameters in LVWireFormat.

-

-#define LVVE_TX_CONTROLPARAMS_LVWIREFORMAT_LENGTH (8 \

- + LVVE_TX_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVHF_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVNV_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVM_MODE_LVWIREFORMAT_LENGTH \

- + LVEQ_CONTROLPARAMS_LVWIREFORMAT_LENGTH \

- + LVDRC_CONTROLPARAMS_LVWIREFORMAT_LENGTH) ///< Number of bytes to encode LVVE_Tx ControlParameters in LVWireFormat.

-

-/**

-* @def LVVIDHEADER_HEADERVERSION_DEFAULT

-* Default of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_DEFAULT (3)

-/**

-* @def LVVIDHEADER_HEADERVERSION_MIN

-* MinValue of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_MIN (0)

-/**

-* @def LVVIDHEADER_HEADERVERSION_MAX

-* MaxValue of HeaderVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_HEADERVERSION_MAX (255)

-

-/**

-* @def LVVIDHEADER_BASELINEVERSION_DEFAULT

-* Default of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_DEFAULT (51906816)

-/**

-* @def LVVIDHEADER_BASELINEVERSION_MIN

-* MinValue of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_MIN (1)

-/**

-* @def LVVIDHEADER_BASELINEVERSION_MAX

-* MaxValue of BaselineVersion

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_BASELINEVERSION_MAX (4294967295)

-

-/**

-* @def LVVIDHEADER_LVVE_RX_ALGOMASK1_DEFAULT

-* Default of LVVE_Rx_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_RX_ALGOMASK1_DEFAULT (LVVIDHEADER_LVVE_RX_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_RX_ALGOMASK2_DEFAULT

-* Default of LVVE_Rx_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_RX_ALGOMASK2_DEFAULT (LVVIDHEADER_LVVE_RX_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_TX_ALGOMASK1_DEFAULT

-* Default of LVVE_Tx_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_TX_ALGOMASK1_DEFAULT (LVVIDHEADER_LVVE_TX_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_TX_ALGOMASK2_DEFAULT

-* Default of LVVE_Tx_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_TX_ALGOMASK2_DEFAULT (LVVIDHEADER_LVVE_TX_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_CONFIG_ALGOMASK1_DEFAULT

-* Default of LVVE_Config_AlgoMask1

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_CONFIG_ALGOMASK1_DEFAULT (LVVIDHEADER_CONFIGURATIONS_MASK1_BM_MAX)

-

-/**

-* @def LVVIDHEADER_LVVE_CONFIG_ALGOMASK2_DEFAULT

-* Default of LVVE_Config_AlgoMask2

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_LVVE_CONFIG_ALGOMASK2_DEFAULT (LVVIDHEADER_CONFIGURATIONS_MASK2_BM_MAX)

-

-/**

-* @def LVVIDHEADER_MESSAGEID_DEFAULT

-* Default of MessageID

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_MESSAGEID_DEFAULT (LVVE_RX_PRESET)

-

-/**

-* @def LVVIDHEADER_SAMPLERATE_DEFAULT

-* Default of SampleRate

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_SAMPLERATE_DEFAULT (LVM_FS_8000)

-

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_DEFAULT

-* Default of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_DEFAULT (0)

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_MIN

-* MinValue of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_MIN (0)

-/**

-* @def LVVIDHEADER_VOLUMEINDEX_MAX

-* MaxValue of VolumeIndex

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_VOLUMEINDEX_MAX (255)

-

-/**

-* @def LVVIDHEADER_NUMVOLUMES_DEFAULT

-* Default of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_DEFAULT (1)

-/**

-* @def LVVIDHEADER_NUMVOLUMES_MIN

-* MinValue of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_MIN (0)

-/**

-* @def LVVIDHEADER_NUMVOLUMES_MAX

-* MaxValue of NumVolumes

-* @see LVVIDHeader_ControlParams_st

-*/

-#define LVVIDHEADER_NUMVOLUMES_MAX (255)

-

-/**

-* @def LVVC_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVC_MODE_DEFAULT

-* Default of mode

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_MODE_DEFAULT (0)

-

-/**

-* @def LVVC_GAIN_LIN_MAX_DEFAULT

-* Default of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_DEFAULT (1286)

-/**

-* @def LVVC_GAIN_LIN_MAX_MIN

-* MinValue of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_MIN (512)

-/**

-* @def LVVC_GAIN_LIN_MAX_MAX

-* MaxValue of Gain_Lin_Max

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_LIN_MAX_MAX (32767)

-

-/**

-* @def LVVC_NOISE_SENSITIVITY_DEFAULT

-* Default of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_DEFAULT (20000)

-/**

-* @def LVVC_NOISE_SENSITIVITY_MIN

-* MinValue of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_MIN (-6709)

-/**

-* @def LVVC_NOISE_SENSITIVITY_MAX

-* MaxValue of Noise_Sensitivity

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_NOISE_SENSITIVITY_MAX (32767)

-

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT

-* Default of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_MIN

-* MinValue of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_MIN (0)

-/**

-* @def LVVC_AVL_TARGET_LEVEL_LIN_MAX

-* MaxValue of AVL_Target_level_lin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_TARGET_LEVEL_LIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_MINGAINLIN_DEFAULT

-* Default of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_DEFAULT (256)

-/**

-* @def LVVC_AVL_MINGAINLIN_MIN

-* MinValue of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_MIN (0)

-/**

-* @def LVVC_AVL_MINGAINLIN_MAX

-* MaxValue of AVL_MinGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MINGAINLIN_MAX (512)

-

-/**

-* @def LVVC_AVL_MAXGAINLIN_DEFAULT

-* Default of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_DEFAULT (8192)

-/**

-* @def LVVC_AVL_MAXGAINLIN_MIN

-* MinValue of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_MIN (512)

-/**

-* @def LVVC_AVL_MAXGAINLIN_MAX

-* MaxValue of AVL_MaxGainLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_MAXGAINLIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_NOMINALGAIN_DEFAULT

-* Default of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_DEFAULT (512)

-/**

-* @def LVVC_AVL_NOMINALGAIN_MIN

-* MinValue of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_MIN (0)

-/**

-* @def LVVC_AVL_NOMINALGAIN_MAX

-* MaxValue of AVL_NominalGain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_NOMINALGAIN_MAX (32767)

-

-/**

-* @def LVVC_AVL_ATTACK_DEFAULT

-* Default of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_DEFAULT (12055)

-/**

-* @def LVVC_AVL_ATTACK_MIN

-* MinValue of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_MIN (0)

-/**

-* @def LVVC_AVL_ATTACK_MAX

-* MaxValue of AVL_Attack

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_ATTACK_MAX (32767)

-

-/**

-* @def LVVC_AVL_RELEASE_DEFAULT

-* Default of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_DEFAULT (32604)

-/**

-* @def LVVC_AVL_RELEASE_MIN

-* MinValue of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_MIN (0)

-/**

-* @def LVVC_AVL_RELEASE_MAX

-* MaxValue of AVL_Release

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASE_MAX (32767)

-

-/**

-* @def LVVC_AVL_RELEASEMAX_DEFAULT

-* Default of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_DEFAULT (32441)

-/**

-* @def LVVC_AVL_RELEASEMAX_MIN

-* MinValue of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_MIN (0)

-/**

-* @def LVVC_AVL_RELEASEMAX_MAX

-* MaxValue of AVL_ReleaseMax

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_RELEASEMAX_MAX (32767)

-

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT

-* Default of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23170)

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN

-* MinValue of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)

-/**

-* @def LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX

-* MaxValue of AVL_Limit_MaxOutputLin

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)

-

-/**

-* @def LVVC_SPDETECT_THRESHOLD_DEFAULT

-* Default of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_DEFAULT (1024)

-/**

-* @def LVVC_SPDETECT_THRESHOLD_MIN

-* MinValue of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_MIN (0)

-/**

-* @def LVVC_SPDETECT_THRESHOLD_MAX

-* MaxValue of SpDetect_Threshold

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECT_THRESHOLD_MAX (32767)

-

-/**

-* @def LVFENS_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVFENS_FENS_LIMIT_NS_DEFAULT

-* Default of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_DEFAULT (10976)

-/**

-* @def LVFENS_FENS_LIMIT_NS_MIN

-* MinValue of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_MIN (0)

-/**

-* @def LVFENS_FENS_LIMIT_NS_MAX

-* MaxValue of FENS_limit_NS

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_FENS_LIMIT_NS_MAX (32767)

-

-/**

-* @def LVFENS_MODE_DEFAULT

-* Default of Mode

-* @see LVFENS_ControlParams_st

-*/

-#define LVFENS_MODE_DEFAULT (0)

-

-/**

-* @def LVWM_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVWM_MODE_DEFAULT

-* Default of mode

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_MODE_DEFAULT (7)

-

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT

-* Default of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_MIN

-* MinValue of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_MIN (0)

-/**

-* @def LVWM_AVL_TARGET_LEVEL_LIN_MAX

-* MaxValue of AVL_Target_level_lin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_TARGET_LEVEL_LIN_MAX (32767)

-

-/**

-* @def LVWM_AVL_MINGAINLIN_DEFAULT

-* Default of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_DEFAULT (128)

-/**

-* @def LVWM_AVL_MINGAINLIN_MIN

-* MinValue of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_MIN (0)

-/**

-* @def LVWM_AVL_MINGAINLIN_MAX

-* MaxValue of AVL_MinGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MINGAINLIN_MAX (512)

-

-/**

-* @def LVWM_AVL_MAXGAINLIN_DEFAULT

-* Default of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_DEFAULT (8189)

-/**

-* @def LVWM_AVL_MAXGAINLIN_MIN

-* MinValue of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_MIN (512)

-/**

-* @def LVWM_AVL_MAXGAINLIN_MAX

-* MaxValue of AVL_MaxGainLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_MAXGAINLIN_MAX (32767)

-

-/**

-* @def LVWM_AVL_ATTACK_DEFAULT

-* Default of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_DEFAULT (25520)

-/**

-* @def LVWM_AVL_ATTACK_MIN

-* MinValue of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_MIN (0)

-/**

-* @def LVWM_AVL_ATTACK_MAX

-* MaxValue of AVL_Attack

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_ATTACK_MAX (32767)

-

-/**

-* @def LVWM_AVL_RELEASE_DEFAULT

-* Default of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_DEFAULT (32685)

-/**

-* @def LVWM_AVL_RELEASE_MIN

-* MinValue of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_MIN (0)

-/**

-* @def LVWM_AVL_RELEASE_MAX

-* MaxValue of AVL_Release

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_RELEASE_MAX (32767)

-

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT

-* Default of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23197)

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN

-* MinValue of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)

-/**

-* @def LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX

-* MaxValue of AVL_Limit_MaxOutputLin

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)

-

-/**

-* @def LVWM_SPDETECT_THRESHOLD_DEFAULT

-* Default of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_DEFAULT (9216)

-/**

-* @def LVWM_SPDETECT_THRESHOLD_MIN

-* MinValue of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_MIN (0)

-/**

-* @def LVWM_SPDETECT_THRESHOLD_MAX

-* MaxValue of SpDetect_Threshold

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_SPDETECT_THRESHOLD_MAX (32767)

-

-/**

-* @def LVDRC_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVDRC_NUMKNEES_DEFAULT

-* Default of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_DEFAULT (5)

-/**

-* @def LVDRC_NUMKNEES_MIN

-* MinValue of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_MIN (1)

-/**

-* @def LVDRC_NUMKNEES_MAX

-* MaxValue of NumKnees

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_NUMKNEES_MAX (5)

-

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT

-* Default of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-96,-70,-50, -24, 0}

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN

-* MinValue of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN (-96)

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX

-* MaxValue of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX (0)

-/**

-* @def LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH

-* Length of CompressorCurveInputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT

-* Default of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-70,-38,-12,0}

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN

-* MinValue of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX

-* MaxValue of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)

-/**

-* @def LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH

-* Length of CompressorCurveOutputLevels

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVDRC_ATTACKTIME_DEFAULT

-* Default of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_DEFAULT (50)

-/**

-* @def LVDRC_ATTACKTIME_MIN

-* MinValue of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_MIN (0)

-/**

-* @def LVDRC_ATTACKTIME_MAX

-* MaxValue of AttackTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_ATTACKTIME_MAX (32767)

-

-/**

-* @def LVDRC_RELEASETIME_DEFAULT

-* Default of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_DEFAULT (50)

-/**

-* @def LVDRC_RELEASETIME_MIN

-* MinValue of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_MIN (0)

-/**

-* @def LVDRC_RELEASETIME_MAX

-* MaxValue of ReleaseTime

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_RELEASETIME_MAX (32767)

-

-/**

-* @def LVDRC_LIMITEROPERATINGMODE_DEFAULT

-* Default of LimiterOperatingMode

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITEROPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVDRC_LIMITLEVEL_DEFAULT

-* Default of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_DEFAULT (0)

-/**

-* @def LVDRC_LIMITLEVEL_MIN

-* MinValue of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_MIN (-96)

-/**

-* @def LVDRC_LIMITLEVEL_MAX

-* MaxValue of LimitLevel

-* @see LVDRC_ControlParams_st

-*/

-#define LVDRC_LIMITLEVEL_MAX (0)

-

-/**

-* @def LVNG_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVNG_NUMKNEES_DEFAULT

-* Default of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_DEFAULT (5)

-/**

-* @def LVNG_NUMKNEES_MIN

-* MinValue of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_MIN (1)

-/**

-* @def LVNG_NUMKNEES_MAX

-* MaxValue of NumKnees

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_NUMKNEES_MAX (5)

-

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT

-* Default of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-80,-70,-50, -24, 0}

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_MIN

-* MinValue of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_MIN (-96)

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_MAX

-* MaxValue of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_MAX (0)

-/**

-* @def LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH

-* Length of CompressorCurveInputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT

-* Default of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-80,-50, -24, 0}

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN

-* MinValue of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX

-* MaxValue of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)

-/**

-* @def LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH

-* Length of CompressorCurveOutputLevels

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH (5)

-

-/**

-* @def LVNG_ATTACKTIME_DEFAULT

-* Default of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_DEFAULT (50)

-/**

-* @def LVNG_ATTACKTIME_MIN

-* MinValue of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_MIN (0)

-/**

-* @def LVNG_ATTACKTIME_MAX

-* MaxValue of AttackTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_ATTACKTIME_MAX (32767)

-

-/**

-* @def LVNG_RELEASETIME_DEFAULT

-* Default of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_DEFAULT (50)

-/**

-* @def LVNG_RELEASETIME_MIN

-* MinValue of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_MIN (0)

-/**

-* @def LVNG_RELEASETIME_MAX

-* MaxValue of ReleaseTime

-* @see LVNG_ControlParams_st

-*/

-#define LVNG_RELEASETIME_MAX (32767)

-

-/**

-* @def LVNLPP_NLPP_LIMIT_DEFAULT

-* Default of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_DEFAULT (0)

-/**

-* @def LVNLPP_NLPP_LIMIT_MIN

-* MinValue of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_MIN (-24)

-/**

-* @def LVNLPP_NLPP_LIMIT_MAX

-* MaxValue of NLPP_Limit

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_LIMIT_MAX (0)

-

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT

-* Default of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_MIN

-* MinValue of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVNLPP_NLPP_HPF_CORNERFREQ_MAX

-* MaxValue of NLPP_HPF_CornerFreq

-* @see LVNLPP_ControlParams_st

-*/

-#define LVNLPP_NLPP_HPF_CORNERFREQ_MAX (1000)

-

-/**

-* @def LVEQ_EQ_LENGTH_DEFAULT

-* Default of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_DEFAULT (32)

-/**

-* @def LVEQ_EQ_LENGTH_MIN

-* MinValue of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_MIN (8)

-/**

-* @def LVEQ_EQ_LENGTH_MAX

-* MaxValue of EQ_Length

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_LENGTH_MAX (32)

-

-/**

-* @def LVEQ_EQ_COEFS_DEFAULT

-* Default of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_DEFAULT {4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

-/**

-* @def LVEQ_EQ_COEFS_MIN

-* MinValue of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_MIN (-32768)

-/**

-* @def LVEQ_EQ_COEFS_MAX

-* MaxValue of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_MAX (32767)

-/**

-* @def LVEQ_EQ_COEFS_LENGTH

-* Length of EQ_Coefs

-* @see LVEQ_ControlParams_st

-*/

-#define LVEQ_EQ_COEFS_LENGTH (32)

-

-/**

-* @def LVVOL_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVOL_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVOL_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_MIN (-96)

-/**

-* @def LVVOL_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVOL_ControlParams_st

-*/

-#define LVVOL_VOL_GAIN_MAX (24)

-

-/**

-* @def LVHPF_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVHPF_HPF_CORNERFREQ_DEFAULT

-* Default of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVHPF_HPF_CORNERFREQ_MIN

-* MinValue of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVHPF_HPF_CORNERFREQ_MAX

-* MaxValue of HPF_CornerFreq

-* @see LVHPF_ControlParams_st

-*/

-#define LVHPF_HPF_CORNERFREQ_MAX (1500)

-

-/**

-* @def LVMUTE_MUTE_DEFAULT

-* Default of Mute

-* @see LVMUTE_ControlParams_st

-*/

-#define LVMUTE_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_OPERATINGMODE_DEFAULT (LVVE_RX_MODE_OFF)

-

-/**

-* @def LVVE_RX_MUTE_DEFAULT

-* Default of Mute

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVE_RX_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_MIN (-96)

-/**

-* @def LVVE_RX_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_VOL_GAIN_MAX (24)

-

-

-/**

-* @def LVVE_RX_NLPP_OPERATINGMODE_DEFAULT

-* Default of NLPP_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_NLPP_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-

-

-/**

-* @def LVVE_RX_EQ_OPERATINGMODE_DEFAULT

-* Default of EQ_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_EQ_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-

-

-/**

-* @def LVVE_RX_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_DEFAULT

-* Default of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_MIN

-* MinValue of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVVE_RX_HPF_CORNERFREQ_MAX

-* MaxValue of HPF_CornerFreq

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_HPF_CORNERFREQ_MAX (1500)

-

-

-

-/**

-* @def LVNV_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVNV_MODE_DEFAULT

-* Default of Mode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MODE_DEFAULT (18935)

-

-/**

-* @def LVNV_MODE2_DEFAULT

-* Default of Mode2

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MODE2_DEFAULT (14)

-

-/**

-* @def LVNV_TUNING_MODE_DEFAULT

-* Default of Tuning_mode

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_TUNING_MODE_DEFAULT (0)

-

-/**

-* @def LVNV_INPUT_GAIN_MIC0_DEFAULT

-* Default of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_DEFAULT (8192)

-/**

-* @def LVNV_INPUT_GAIN_MIC0_MIN

-* MinValue of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_MIN (0)

-/**

-* @def LVNV_INPUT_GAIN_MIC0_MAX

-* MaxValue of Input_Gain_Mic0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC0_MAX (32767)

-

-/**

-* @def LVNV_INPUT_GAIN_MIC1_DEFAULT

-* Default of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_DEFAULT (8192)

-/**

-* @def LVNV_INPUT_GAIN_MIC1_MIN

-* MinValue of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_MIN (0)

-/**

-* @def LVNV_INPUT_GAIN_MIC1_MAX

-* MaxValue of Input_Gain_Mic1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_INPUT_GAIN_MIC1_MAX (32767)

-

-/**

-* @def LVNV_OUTPUT_GAIN_DEFAULT

-* Default of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_DEFAULT (2048)

-/**

-* @def LVNV_OUTPUT_GAIN_MIN

-* MinValue of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_MIN (0)

-/**

-* @def LVNV_OUTPUT_GAIN_MAX

-* MaxValue of Output_Gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_OUTPUT_GAIN_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_LB_TAPS_DEFAULT

-* Default of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_DEFAULT (32)

-/**

-* @def LVNV_NLMS0_LB_TAPS_MIN

-* MinValue of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS0_LB_TAPS_MAX

-* MaxValue of NLMS0_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TAPS_MAX (64)

-

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_DEFAULT

-* Default of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_MIN

-* MinValue of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS0_LB_TWOALPHA_MAX

-* MaxValue of NLMS0_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_LB_ERL_DEFAULT

-* Default of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS0_LB_ERL_MIN

-* MinValue of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS0_LB_ERL_MAX

-* MaxValue of NLMS0_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_LB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_HB_TAPS_DEFAULT

-* Default of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_DEFAULT (24)

-/**

-* @def LVNV_NLMS0_HB_TAPS_MIN

-* MinValue of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS0_HB_TAPS_MAX

-* MaxValue of NLMS0_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TAPS_MAX (64)

-

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_DEFAULT

-* Default of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_MIN

-* MinValue of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS0_HB_TWOALPHA_MAX

-* MaxValue of NLMS0_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_HB_ERL_DEFAULT

-* Default of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS0_HB_ERL_MIN

-* MinValue of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS0_HB_ERL_MAX

-* MaxValue of NLMS0_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_HB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_DEFAULT

-* Default of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_DEFAULT (0)

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_MIN

-* MinValue of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_MIN (0)

-/**

-* @def LVNV_NLMS0_PRESET_COEFS_MAX

-* MaxValue of NLMS0_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVNV_NLMS0_OFFSET_DEFAULT

-* Default of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_DEFAULT (776)

-/**

-* @def LVNV_NLMS0_OFFSET_MIN

-* MinValue of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_MIN (0)

-/**

-* @def LVNV_NLMS0_OFFSET_MAX

-* MaxValue of NLMS0_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS0_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_LB_TAPS_DEFAULT

-* Default of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_DEFAULT (32)

-/**

-* @def LVNV_NLMS1_LB_TAPS_MIN

-* MinValue of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS1_LB_TAPS_MAX

-* MaxValue of NLMS1_LB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TAPS_MAX (32)

-

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_DEFAULT

-* Default of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_MIN

-* MinValue of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS1_LB_TWOALPHA_MAX

-* MaxValue of NLMS1_LB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_LB_ERL_DEFAULT

-* Default of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS1_LB_ERL_MIN

-* MinValue of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS1_LB_ERL_MAX

-* MaxValue of NLMS1_LB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_LB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_HB_TAPS_DEFAULT

-* Default of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_DEFAULT (24)

-/**

-* @def LVNV_NLMS1_HB_TAPS_MIN

-* MinValue of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_MIN (16)

-/**

-* @def LVNV_NLMS1_HB_TAPS_MAX

-* MaxValue of NLMS1_HB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TAPS_MAX (32)

-

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_DEFAULT

-* Default of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_DEFAULT (8192)

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_MIN

-* MinValue of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_NLMS1_HB_TWOALPHA_MAX

-* MaxValue of NLMS1_HB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_HB_ERL_DEFAULT

-* Default of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_DEFAULT (1000)

-/**

-* @def LVNV_NLMS1_HB_ERL_MIN

-* MinValue of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_MIN (64)

-/**

-* @def LVNV_NLMS1_HB_ERL_MAX

-* MaxValue of NLMS1_HB_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_HB_ERL_MAX (32767)

-

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_DEFAULT

-* Default of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_DEFAULT (0)

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_MIN

-* MinValue of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_MIN (0)

-/**

-* @def LVNV_NLMS1_PRESET_COEFS_MAX

-* MaxValue of NLMS1_preset_coefs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVNV_NLMS1_OFFSET_DEFAULT

-* Default of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_DEFAULT (776)

-/**

-* @def LVNV_NLMS1_OFFSET_MIN

-* MinValue of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_MIN (0)

-/**

-* @def LVNV_NLMS1_OFFSET_MAX

-* MaxValue of NLMS1_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_NLMS1_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_DEFAULT

-* Default of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_DEFAULT (150)

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_MIN

-* MinValue of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_MIN (0)

-/**

-* @def LVNV_CAL_MICPOWFLOORMIN_MAX

-* MaxValue of CAL_micPowFloorMin

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_CAL_MICPOWFLOORMIN_MAX (32767)

-

-/**

-* @def LVNV_WGTHRESHOLD_DEFAULT

-* Default of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_DEFAULT (32767)

-/**

-* @def LVNV_WGTHRESHOLD_MIN

-* MinValue of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_MIN (0)

-/**

-* @def LVNV_WGTHRESHOLD_MAX

-* MaxValue of WgThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_WGTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_MPTHRESHOLD_DEFAULT

-* Default of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_DEFAULT (6554)

-/**

-* @def LVNV_MPTHRESHOLD_MIN

-* MinValue of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_MIN (0)

-/**

-* @def LVNV_MPTHRESHOLD_MAX

-* MaxValue of MpThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_MPTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_FSB_INIT_TABLE0_DEFAULT

-* Default of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_DEFAULT {32767, 0, 0, 0, 0, 0, 0, 0}

-/**

-* @def LVNV_FSB_INIT_TABLE0_MIN

-* MinValue of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_MIN (-32768)

-/**

-* @def LVNV_FSB_INIT_TABLE0_MAX

-* MaxValue of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_MAX (32767)

-/**

-* @def LVNV_FSB_INIT_TABLE0_LENGTH

-* Length of FSB_init_table0

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE0_LENGTH (8)

-

-/**

-* @def LVNV_FSB_INIT_TABLE1_DEFAULT

-* Default of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_DEFAULT {0, 0, 0, 0, 0, 0, 0, 0}

-/**

-* @def LVNV_FSB_INIT_TABLE1_MIN

-* MinValue of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_MIN (-32768)

-/**

-* @def LVNV_FSB_INIT_TABLE1_MAX

-* MaxValue of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_MAX (32767)

-/**

-* @def LVNV_FSB_INIT_TABLE1_LENGTH

-* Length of FSB_init_table1

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_INIT_TABLE1_LENGTH (8)

-

-/**

-* @def LVNV_FSB_TAPS_DEFAULT

-* Default of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_DEFAULT (16)

-/**

-* @def LVNV_FSB_TAPS_MIN

-* MinValue of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_MIN (8)

-/**

-* @def LVNV_FSB_TAPS_MAX

-* MaxValue of FSB_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TAPS_MAX (16)

-

-/**

-* @def LVNV_FSB_TWOALPHA_DEFAULT

-* Default of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_DEFAULT (655)

-/**

-* @def LVNV_FSB_TWOALPHA_MIN

-* MinValue of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_MIN (0)

-/**

-* @def LVNV_FSB_TWOALPHA_MAX

-* MaxValue of FSB_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_FSB_REF_GAIN_DEFAULT

-* Default of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_DEFAULT (1024)

-/**

-* @def LVNV_FSB_REF_GAIN_MIN

-* MinValue of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_MIN (0)

-/**

-* @def LVNV_FSB_REF_GAIN_MAX

-* MaxValue of FSB_ref_gain

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_FSB_REF_GAIN_MAX (32767)

-

-/**

-* @def LVNV_GSC_TAPS_DEFAULT

-* Default of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_DEFAULT (16)

-/**

-* @def LVNV_GSC_TAPS_MIN

-* MinValue of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_MIN (8)

-/**

-* @def LVNV_GSC_TAPS_MAX

-* MaxValue of GSC_taps

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TAPS_MAX (48)

-

-/**

-* @def LVNV_GSC_TWOALPHA_DEFAULT

-* Default of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_DEFAULT (1638)

-/**

-* @def LVNV_GSC_TWOALPHA_MIN

-* MinValue of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_MIN (0)

-/**

-* @def LVNV_GSC_TWOALPHA_MAX

-* MaxValue of GSC_twoalpha

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_TWOALPHA_MAX (32767)

-

-/**

-* @def LVNV_GSC_ERL_DEFAULT

-* Default of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_DEFAULT (256)

-/**

-* @def LVNV_GSC_ERL_MIN

-* MinValue of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_MIN (64)

-/**

-* @def LVNV_GSC_ERL_MAX

-* MaxValue of GSC_erl

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_ERL_MAX (32767)

-

-/**

-* @def LVNV_GSC_OFFSET_DEFAULT

-* Default of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_DEFAULT (1638)

-/**

-* @def LVNV_GSC_OFFSET_MIN

-* MinValue of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_MIN (0)

-/**

-* @def LVNV_GSC_OFFSET_MAX

-* MaxValue of GSC_offset

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_GSC_OFFSET_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_DEFAULT

-* Default of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_DEFAULT (16384)

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_MIN

-* MinValue of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOGAMMAHI_MAX

-* MaxValue of DNNS_EchoGammaHi

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMAHI_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_DEFAULT

-* Default of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_DEFAULT (8192)

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_MIN

-* MinValue of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOGAMMALO_MAX

-* MaxValue of DNNS_EchoGammaLo

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOGAMMALO_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_DEFAULT

-* Default of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_DEFAULT (12000)

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_MIN

-* MinValue of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOALPHAREV_MAX

-* MaxValue of DNNS_EchoAlphaRev

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOALPHAREV_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_DEFAULT

-* Default of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_DEFAULT (7000)

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_MIN

-* MinValue of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_MIN (0)

-/**

-* @def LVNV_DNNS_ECHOTAILPORTION_MAX

-* MaxValue of DNNS_EchoTailPortion

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ECHOTAILPORTION_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NLATTEN_DEFAULT

-* Default of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_DEFAULT (256)

-/**

-* @def LVNV_DNNS_NLATTEN_MIN

-* MinValue of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_MIN (0)

-/**

-* @def LVNV_DNNS_NLATTEN_MAX

-* MaxValue of DNNS_NlAtten

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NLATTEN_MAX (2048)

-

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_DEFAULT

-* Default of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_DEFAULT (11470)

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_MIN

-* MinValue of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAMMAS_MAX

-* MaxValue of DNNS_NoiseGammaS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAS_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_DEFAULT

-* Default of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_DEFAULT (16384)

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_MIN

-* MinValue of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAMMAN_MAX

-* MaxValue of DNNS_NoiseGammaN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAMMAN_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_DEFAULT

-* Default of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_DEFAULT (11140)

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_MIN

-* MinValue of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAINMINS_MAX

-* MaxValue of DNNS_NoiseGainMinS

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINS_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_DEFAULT

-* Default of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_DEFAULT (6554)

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_MIN

-* MinValue of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEGAINMINN_MAX

-* MaxValue of DNNS_NoiseGainMinN

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEGAINMINN_MAX (32767)

-

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_DEFAULT

-* Default of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_DEFAULT (9830)

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_MIN

-* MinValue of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_MIN (0)

-/**

-* @def LVNV_DNNS_NOISEBIASCOMP_MAX

-* MaxValue of DNNS_NoiseBiasComp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_NOISEBIASCOMP_MAX (32767)

-

-/**

-* @def LVNV_DNNS_GAINETA_DEFAULT

-* Default of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_DEFAULT (256)

-/**

-* @def LVNV_DNNS_GAINETA_MIN

-* MinValue of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_MIN (0)

-/**

-* @def LVNV_DNNS_GAINETA_MAX

-* MaxValue of DNNS_GainEta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_GAINETA_MAX (32767)

-

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_DEFAULT

-* Default of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_DEFAULT (12288)

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_MIN

-* MinValue of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_ACTHRESHOLD_MAX

-* MaxValue of DNNS_AcThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_ACTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_DEFAULT

-* Default of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_DEFAULT (9216)

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_MIN

-* MinValue of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_WBTHRESHOLD_MAX

-* MaxValue of DNNS_WbThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_WBTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT

-* Default of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT (320)

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN

-* MinValue of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN (0)

-/**

-* @def LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX

-* MaxValue of DNNS_LostBeamThreshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX (32767)

-

-/**

-* @def LVNV_PCD_BETA_DEFAULT

-* Default of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_DEFAULT (230)

-/**

-* @def LVNV_PCD_BETA_MIN

-* MinValue of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_MIN (0)

-/**

-* @def LVNV_PCD_BETA_MAX

-* MaxValue of PCD_beta

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_BETA_MAX (32767)

-

-/**

-* @def LVNV_PCD_THRESHOLD_DEFAULT

-* Default of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_DEFAULT (26213)

-/**

-* @def LVNV_PCD_THRESHOLD_MIN

-* MinValue of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_MIN (0)

-/**

-* @def LVNV_PCD_THRESHOLD_MAX

-* MaxValue of PCD_Threshold

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCD_THRESHOLD_MAX (32767)

-

-/**

-* @def LVHF_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVHF_MODE_DEFAULT

-* Default of Mode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_MODE_DEFAULT (4607)

-

-/**

-* @def LVHF_TUNINGMODE_DEFAULT

-* Default of TuningMode

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_TUNINGMODE_DEFAULT (0)

-

-/**

-* @def LVHF_INPUTGAIN_DEFAULT

-* Default of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_DEFAULT (8192)

-/**

-* @def LVHF_INPUTGAIN_MIN

-* MinValue of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_MIN (0)

-/**

-* @def LVHF_INPUTGAIN_MAX

-* MaxValue of InputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_INPUTGAIN_MAX (32767)

-

-/**

-* @def LVHF_OUTPUTGAIN_DEFAULT

-* Default of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_DEFAULT (2048)

-/**

-* @def LVHF_OUTPUTGAIN_MIN

-* MinValue of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_MIN (0)

-/**

-* @def LVHF_OUTPUTGAIN_MAX

-* MaxValue of OutputGain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_OUTPUTGAIN_MAX (32767)

-

-/**

-* @def LVHF_NLMS_LIMIT_DEFAULT

-* Default of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_DEFAULT (0)

-/**

-* @def LVHF_NLMS_LIMIT_MIN

-* MinValue of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_MIN (-24)

-/**

-* @def LVHF_NLMS_LIMIT_MAX

-* MaxValue of NLMS_limit

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LIMIT_MAX (0)

-

-/**

-* @def LVHF_NLMS_LB_TAPS_DEFAULT

-* Default of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_DEFAULT (64)

-/**

-* @def LVHF_NLMS_LB_TAPS_MIN

-* MinValue of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_MIN (16)

-/**

-* @def LVHF_NLMS_LB_TAPS_MAX

-* MaxValue of NLMS_LB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TAPS_MAX (200)

-

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_DEFAULT

-* Default of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_DEFAULT (8192)

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_MIN

-* MinValue of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_MIN (0)

-/**

-* @def LVHF_NLMS_LB_TWO_ALPHA_MAX

-* MaxValue of NLMS_LB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_TWO_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_NLMS_LB_ERL_DEFAULT

-* Default of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_DEFAULT (128)

-/**

-* @def LVHF_NLMS_LB_ERL_MIN

-* MinValue of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_MIN (64)

-/**

-* @def LVHF_NLMS_LB_ERL_MAX

-* MaxValue of NLMS_LB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_LB_ERL_MAX (32767)

-

-/**

-* @def LVHF_NLMS_HB_TAPS_DEFAULT

-* Default of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_DEFAULT (64)

-/**

-* @def LVHF_NLMS_HB_TAPS_MIN

-* MinValue of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_MIN (16)

-/**

-* @def LVHF_NLMS_HB_TAPS_MAX

-* MaxValue of NLMS_HB_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TAPS_MAX (136)

-

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_DEFAULT

-* Default of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_DEFAULT (8192)

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_MIN

-* MinValue of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_MIN (0)

-/**

-* @def LVHF_NLMS_HB_TWO_ALPHA_MAX

-* MaxValue of NLMS_HB_two_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_TWO_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_NLMS_HB_ERL_DEFAULT

-* Default of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_DEFAULT (128)

-/**

-* @def LVHF_NLMS_HB_ERL_MIN

-* MinValue of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_MIN (64)

-/**

-* @def LVHF_NLMS_HB_ERL_MAX

-* MaxValue of NLMS_HB_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_HB_ERL_MAX (32767)

-

-/**

-* @def LVHF_NLMS_PRESET_COEFS_DEFAULT

-* Default of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_DEFAULT (1)

-/**

-* @def LVHF_NLMS_PRESET_COEFS_MIN

-* MinValue of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_MIN (0)

-/**

-* @def LVHF_NLMS_PRESET_COEFS_MAX

-* MaxValue of NLMS_preset_coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_PRESET_COEFS_MAX (2)

-

-/**

-* @def LVHF_NLMS_OFFSET_DEFAULT

-* Default of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_DEFAULT (767)

-/**

-* @def LVHF_NLMS_OFFSET_MIN

-* MinValue of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_MIN (0)

-/**

-* @def LVHF_NLMS_OFFSET_MAX

-* MaxValue of NLMS_offset

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_NLMS_OFFSET_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_DEFAULT

-* Default of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_DEFAULT (25395)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_MIN

-* MinValue of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_LB_MAX

-* MaxValue of DENS_tail_alpha_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_DEFAULT

-* Default of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_DEFAULT (29491)

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_MIN

-* MinValue of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_PORTION_LB_MAX

-* MaxValue of DENS_tail_portion_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT

-* Default of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT (512)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_MIN

-* MinValue of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_LB_MAX

-* MaxValue of DENS_gamma_e_high_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_DEFAULT

-* Default of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_MIN

-* MinValue of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_LB_MAX

-* MaxValue of DENS_gamma_e_dt_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT

-* Default of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_MIN

-* MinValue of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_LB_MAX

-* MaxValue of DENS_gamma_e_low_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_LB_MAX (32767)

-

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_DEFAULT

-* Default of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_DEFAULT (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_MIN

-* MinValue of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_MIN (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_LB_MAX

-* MaxValue of DENS_NL_atten_LB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_LB_MAX (2048)

-

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_DEFAULT

-* Default of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_DEFAULT (25395)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_MIN

-* MinValue of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_ALPHA_HB_MAX

-* MaxValue of DENS_tail_alpha_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_ALPHA_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_DEFAULT

-* Default of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_DEFAULT (29491)

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_MIN

-* MinValue of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_MIN (0)

-/**

-* @def LVHF_DENS_TAIL_PORTION_HB_MAX

-* MaxValue of DENS_tail_portion_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_TAIL_PORTION_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT

-* Default of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT (512)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_MIN

-* MinValue of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_HIGH_HB_MAX

-* MaxValue of DENS_gamma_e_high_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_HIGH_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_DEFAULT

-* Default of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_MIN

-* MinValue of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_DT_HB_MAX

-* MaxValue of DENS_gamma_e_dt_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_DT_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT

-* Default of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT (256)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_MIN

-* MinValue of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_LOW_HB_MAX

-* MaxValue of DENS_gamma_e_low_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_LOW_HB_MAX (32767)

-

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_DEFAULT

-* Default of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_DEFAULT (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_MIN

-* MinValue of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_MIN (0)

-/**

-* @def LVHF_DENS_NL_ATTEN_HB_MAX

-* MaxValue of DENS_NL_atten_HB

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NL_ATTEN_HB_MAX (2048)

-

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_DEFAULT

-* Default of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_DEFAULT (24000)

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_MIN

-* MinValue of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_E_ALPHA_MAX

-* MaxValue of DENS_gamma_e_alpha

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_E_ALPHA_MAX (32767)

-

-/**

-* @def LVHF_DENS_GAMMA_N_DEFAULT

-* Default of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_DEFAULT (280)

-/**

-* @def LVHF_DENS_GAMMA_N_MIN

-* MinValue of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_MIN (0)

-/**

-* @def LVHF_DENS_GAMMA_N_MAX

-* MaxValue of DENS_gamma_n

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_GAMMA_N_MAX (32767)

-

-/**

-* @def LVHF_DENS_SPDET_NEAR_DEFAULT

-* Default of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_DEFAULT (512)

-/**

-* @def LVHF_DENS_SPDET_NEAR_MIN

-* MinValue of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_MIN (0)

-/**

-* @def LVHF_DENS_SPDET_NEAR_MAX

-* MaxValue of DENS_spdet_near

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_NEAR_MAX (32767)

-

-/**

-* @def LVHF_DENS_SPDET_ACT_DEFAULT

-* Default of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_DEFAULT (768)

-/**

-* @def LVHF_DENS_SPDET_ACT_MIN

-* MinValue of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_MIN (0)

-/**

-* @def LVHF_DENS_SPDET_ACT_MAX

-* MaxValue of DENS_spdet_act

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_SPDET_ACT_MAX (32767)

-

-/**

-* @def LVHF_DENS_LIMIT_NS_DEFAULT

-* Default of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_DEFAULT (10361)

-/**

-* @def LVHF_DENS_LIMIT_NS_MIN

-* MinValue of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_MIN (0)

-/**

-* @def LVHF_DENS_LIMIT_NS_MAX

-* MaxValue of DENS_limit_ns

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_LIMIT_NS_MAX (32767)

-

-/**

-* @def LVHF_DENS_CNI_GAIN_DEFAULT

-* Default of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_DEFAULT (16384)

-/**

-* @def LVHF_DENS_CNI_GAIN_MIN

-* MinValue of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_MIN (0)

-/**

-* @def LVHF_DENS_CNI_GAIN_MAX

-* MaxValue of DENS_CNI_Gain

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_CNI_GAIN_MAX (32767)

-

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_DEFAULT

-* Default of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_DEFAULT (150)

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_MIN

-* MinValue of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_MIN (0)

-/**

-* @def LVHF_DENS_NFE_BLOCKSIZE_MAX

-* MaxValue of DENS_NFE_blocksize

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_DENS_NFE_BLOCKSIZE_MAX (32767)

-

-/**

-* @def LVHF_SPDET_FAR_DEFAULT

-* Default of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_DEFAULT (16384)

-/**

-* @def LVHF_SPDET_FAR_MIN

-* MinValue of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_MIN (0)

-/**

-* @def LVHF_SPDET_FAR_MAX

-* MaxValue of SPDET_far

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_FAR_MAX (32767)

-

-/**

-* @def LVHF_SPDET_MIC_DEFAULT

-* Default of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_DEFAULT (16384)

-/**

-* @def LVHF_SPDET_MIC_MIN

-* MinValue of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_MIN (0)

-/**

-* @def LVHF_SPDET_MIC_MAX

-* MaxValue of SPDET_mic

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_MIC_MAX (32767)

-

-/**

-* @def LVHF_SPDET_X_CLIP_DEFAULT

-* Default of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_DEFAULT (0)

-/**

-* @def LVHF_SPDET_X_CLIP_MIN

-* MinValue of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_MIN (0)

-/**

-* @def LVHF_SPDET_X_CLIP_MAX

-* MaxValue of SPDET_x_clip

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_SPDET_X_CLIP_MAX (32767)

-

-/**

-* @def LVHF_PCD_THRESHOLD_DEFAULT

-* Default of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_DEFAULT (20000)

-/**

-* @def LVHF_PCD_THRESHOLD_MIN

-* MinValue of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_MIN (0)

-/**

-* @def LVHF_PCD_THRESHOLD_MAX

-* MaxValue of PCD_threshold

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_THRESHOLD_MAX (32767)

-

-/**

-* @def LVHF_PCD_TAPS_DEFAULT

-* Default of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_DEFAULT (16)

-/**

-* @def LVHF_PCD_TAPS_MIN

-* MinValue of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_MIN (16)

-/**

-* @def LVHF_PCD_TAPS_MAX

-* MaxValue of PCD_taps

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_TAPS_MAX (64)

-

-/**

-* @def LVHF_PCD_ERL_DEFAULT

-* Default of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_DEFAULT (64)

-/**

-* @def LVHF_PCD_ERL_MIN

-* MinValue of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_MIN (64)

-/**

-* @def LVHF_PCD_ERL_MAX

-* MaxValue of PCD_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_MAX (32767)

-

-/**

-* @def LVHF_PCD_MINIMUM_ERL_DEFAULT

-* Default of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_DEFAULT (64)

-/**

-* @def LVHF_PCD_MINIMUM_ERL_MIN

-* MinValue of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_MIN (64)

-/**

-* @def LVHF_PCD_MINIMUM_ERL_MAX

-* MaxValue of PCD_minimum_erl

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_MINIMUM_ERL_MAX (32767)

-

-/**

-* @def LVHF_PCD_ERL_STEP_DEFAULT

-* Default of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_DEFAULT (16800)

-/**

-* @def LVHF_PCD_ERL_STEP_MIN

-* MinValue of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_MIN (16384)

-/**

-* @def LVHF_PCD_ERL_STEP_MAX

-* MaxValue of PCD_erl_step

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_ERL_STEP_MAX (32767)

-

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_DEFAULT

-* Default of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_DEFAULT (5000)

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_MIN

-* MinValue of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_MIN (0)

-/**

-* @def LVHF_PCD_GAMMA_E_RESCUE_MAX

-* MaxValue of PCD_gamma_e_rescue

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PCD_GAMMA_E_RESCUE_MAX (32767)

-

-/**

-* @def LVBD_BD_OPERATINGMODE_DEFAULT

-* Default of BD_OperatingMode

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVBD_BULKDELAY_DEFAULT

-* Default of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_DEFAULT (0)

-/**

-* @def LVBD_BULKDELAY_MIN

-* MinValue of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_MIN (0)

-/**

-* @def LVBD_BULKDELAY_MAX

-* MaxValue of BulkDelay

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BULKDELAY_MAX (6400)

-

-/**

-* @def LVBD_BD_GAIN_DEFAULT

-* Default of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_DEFAULT (8192)

-/**

-* @def LVBD_BD_GAIN_MIN

-* MinValue of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_MIN (0)

-/**

-* @def LVBD_BD_GAIN_MAX

-* MaxValue of BD_Gain

-* @see LVBD_ControlParams_st

-*/

-#define LVBD_BD_GAIN_MAX (32767)

-

-/**

-* @def LVVE_TX_OPERATINGMODE_DEFAULT

-* Default of OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_OPERATINGMODE_DEFAULT (LVVE_TX_MODE_OFF)

-

-/**

-* @def LVVE_TX_MUTE_DEFAULT

-* Default of Mute

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MUTE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_BD_OPERATINGMODE_DEFAULT

-* Default of BD_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_BULKDELAY_DEFAULT

-* Default of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_DEFAULT (0)

-/**

-* @def LVVE_TX_BULKDELAY_MIN

-* MinValue of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_MIN (0)

-/**

-* @def LVVE_TX_BULKDELAY_MAX

-* MaxValue of BulkDelay

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BULKDELAY_MAX (6400)

-

-/**

-* @def LVVE_TX_BD_GAIN_DEFAULT

-* Default of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_DEFAULT (8192)

-/**

-* @def LVVE_TX_BD_GAIN_MIN

-* MinValue of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_MIN (0)

-/**

-* @def LVVE_TX_BD_GAIN_MAX

-* MaxValue of BD_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_BD_GAIN_MAX (32767)

-

-/**

-* @def LVVE_TX_VOL_OPERATINGMODE_DEFAULT

-* Default of VOL_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_VOL_GAIN_DEFAULT

-* Default of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_DEFAULT (0)

-/**

-* @def LVVE_TX_VOL_GAIN_MIN

-* MinValue of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_MIN (-96)

-/**

-* @def LVVE_TX_VOL_GAIN_MAX

-* MaxValue of VOL_Gain

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_VOL_GAIN_MAX (24)

-

-/**

-* @def LVVE_TX_HPF_OPERATINGMODE_DEFAULT

-* Default of HPF_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_HPF_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT

-* Default of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT (50)

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_MIN

-* MinValue of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_MIN (50)

-/**

-* @def LVVE_TX_MIC_HPF_CORNERFREQ_MAX

-* MaxValue of MIC_HPF_CornerFreq

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_MIC_HPF_CORNERFREQ_MAX (1500)

-

-

-

-/**

-* @def LVVE_TX_EQ_OPERATINGMODE_DEFAULT

-* Default of EQ_OperatingMode

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_EQ_OPERATINGMODE_DEFAULT (LVM_MODE_OFF)

-

-

-

-/**

-* @def LVVC_GAIN_DEFAULT

-* Default of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_DEFAULT (0)

-/**

-* @def LVVC_GAIN_MIN

-* MinValue of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_MIN (0)

-/**

-* @def LVVC_GAIN_MAX

-* MaxValue of Gain

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_GAIN_MAX (32767)

-

-/**

-* @def LVVC_SPDETECTED_DEFAULT

-* Default of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_DEFAULT (0)

-/**

-* @def LVVC_SPDETECTED_MIN

-* MinValue of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_MIN (0)

-/**

-* @def LVVC_SPDETECTED_MAX

-* MaxValue of SpDetected

-* @see LVVC_ControlParams_st

-*/

-#define LVVC_SPDETECTED_MAX (1)

-

-/**

-* @def LVWM_AVL_GAIN_DEFAULT

-* Default of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_DEFAULT (0)

-/**

-* @def LVWM_AVL_GAIN_MIN

-* MinValue of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_MIN (0)

-/**

-* @def LVWM_AVL_GAIN_MAX

-* MaxValue of AVL_Gain

-* @see LVWM_ControlParams_st

-*/

-#define LVWM_AVL_GAIN_MAX (32767)

-

-

-

-/**

-* @def LVVE_RX_DUMMY_DEFAULT

-* Default of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_DEFAULT (0)

-/**

-* @def LVVE_RX_DUMMY_MIN

-* MinValue of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_MIN (-128)

-/**

-* @def LVVE_RX_DUMMY_MAX

-* MaxValue of dummy

-* @see LVVE_Rx_ControlParams_st

-*/

-#define LVVE_RX_DUMMY_MAX (127)

-

-/**

-* @def LVNV_STATUS_DEFAULT

-* Default of status

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_STATUS_DEFAULT (0)

-

-/**

-* @def LVNV_DUMMY_DEFAULT

-* Default of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_DEFAULT (0)

-/**

-* @def LVNV_DUMMY_MIN

-* MinValue of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_MIN (0)

-/**

-* @def LVNV_DUMMY_MAX

-* MaxValue of Dummy

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_DUMMY_MAX (0)

-

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_DEFAULT

-* Default of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_MIN

-* MinValue of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS0_LB_COEFFS_MAX

-* MaxValue of pNLMS0_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_LB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_DEFAULT

-* Default of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_MIN

-* MinValue of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS0_HB_COEFFS_MAX

-* MaxValue of pNLMS0_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS0_HB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_DEFAULT

-* Default of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_MIN

-* MinValue of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS1_LB_COEFFS_MAX

-* MaxValue of pNLMS1_LB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_LB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_DEFAULT

-* Default of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_MIN

-* MinValue of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PNLMS1_HB_COEFFS_MAX

-* MaxValue of pNLMS1_HB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PNLMS1_HB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PFSB_COEFFS_DEFAULT

-* Default of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PFSB_COEFFS_MIN

-* MinValue of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PFSB_COEFFS_MAX

-* MaxValue of pFSB_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PFSB_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PGSC_COEFFS_DEFAULT

-* Default of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_DEFAULT (0)

-/**

-* @def LVNV_PGSC_COEFFS_MIN

-* MinValue of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_MIN (-2147483648)

-/**

-* @def LVNV_PGSC_COEFFS_MAX

-* MaxValue of pGSC_Coeffs

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PGSC_COEFFS_MAX (2147483647)

-

-/**

-* @def LVNV_PMICPOWSP_DEFAULT

-* Default of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_DEFAULT (0)

-/**

-* @def LVNV_PMICPOWSP_MIN

-* MinValue of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_MIN (0)

-/**

-* @def LVNV_PMICPOWSP_MAX

-* MaxValue of pMicPowSp

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PMICPOWSP_MAX (1)

-

-/**

-* @def LVNV_PCALFACTOR_DEFAULT

-* Default of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_DEFAULT (0)

-/**

-* @def LVNV_PCALFACTOR_MIN

-* MinValue of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_MIN (0)

-/**

-* @def LVNV_PCALFACTOR_MAX

-* MaxValue of pCalFactor

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALFACTOR_MAX (32767)

-

-/**

-* @def LVNV_PCALREADY_DEFAULT

-* Default of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_DEFAULT (0)

-/**

-* @def LVNV_PCALREADY_MIN

-* MinValue of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_MIN (0)

-/**

-* @def LVNV_PCALREADY_MAX

-* MaxValue of pCalReady

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PCALREADY_MAX (2)

-

-/**

-* @def LVNV_PBROADSIDE_INTERCC_DEFAULT

-* Default of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_DEFAULT (0)

-/**

-* @def LVNV_PBROADSIDE_INTERCC_MIN

-* MinValue of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_MIN (0)

-/**

-* @def LVNV_PBROADSIDE_INTERCC_MAX

-* MaxValue of pBroadside_interCC

-* @see LVNV_ControlParams_st

-*/

-#define LVNV_PBROADSIDE_INTERCC_MAX (32767)

-

-/**

-* @def LVHF_GAMMAE_DEFAULT

-* Default of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_DEFAULT (0)

-/**

-* @def LVHF_GAMMAE_MIN

-* MinValue of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_MIN (0)

-/**

-* @def LVHF_GAMMAE_MAX

-* MaxValue of gammae

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_GAMMAE_MAX (32767)

-

-/**

-* @def LVHF_STATUS_DEFAULT

-* Default of status

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_STATUS_DEFAULT (0)

-

-/**

-* @def LVHF_PNLMS_LB_COEFS_DEFAULT

-* Default of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PNLMS_LB_COEFS_MIN

-* MinValue of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PNLMS_LB_COEFS_MAX

-* MaxValue of pNLMS_LB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_LB_COEFS_MAX (2147483647)

-

-/**

-* @def LVHF_PNLMS_HB_COEFS_DEFAULT

-* Default of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PNLMS_HB_COEFS_MIN

-* MinValue of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PNLMS_HB_COEFS_MAX

-* MaxValue of pNLMS_HB_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PNLMS_HB_COEFS_MAX (2147483647)

-

-/**

-* @def LVHF_PPCD_COEFS_DEFAULT

-* Default of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_DEFAULT (0)

-/**

-* @def LVHF_PPCD_COEFS_MIN

-* MinValue of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_MIN (-2147483648)

-/**

-* @def LVHF_PPCD_COEFS_MAX

-* MaxValue of pPCD_Coefs

-* @see LVHF_ControlParams_st

-*/

-#define LVHF_PPCD_COEFS_MAX (2147483647)

-

-

-

-/**

-* @def LVVE_TX_DUMMY_DEFAULT

-* Default of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_DEFAULT (0)

-/**

-* @def LVVE_TX_DUMMY_MIN

-* MinValue of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_MIN (-128)

-/**

-* @def LVVE_TX_DUMMY_MAX

-* MaxValue of dummy

-* @see LVVE_Tx_ControlParams_st

-*/

-#define LVVE_TX_DUMMY_MAX (127)

-

-/**

-* Enum type for LVVIDHeader_MessageID_en

-*/

-typedef enum

-{

-    LVVE_RX_PRESET = 0, ///< VID header Message ID for LVVE_Rx presets

-    LVVE_TX_PRESET = 1, ///< VID header Message ID for LVVE_Tx Presets

-    LVVIDHEADER_MESSAGEID_EN_DUMMY = LVM_MAXENUM

-} LVVIDHeader_MessageID_en;

-

-/**

-* Enum type for LVVIDHeader_ReturnStatus_en

-*/

-typedef enum

-{

-    LVVIDHEADER_NULLADDRESS = 0, ///< LVVIDHeader module returns NULL address error

-    LVVIDHEADER_SUCCESS = 1, ///< LVVIDHeader module returns with success

-    LVVIDHEADER_RETURNSTATUS_EN_DUMMY = LVM_MAXENUM

-} LVVIDHeader_ReturnStatus_en;

-

-/**

-* Enum type for LVVE_Rx_Mode_en

-*/

-typedef enum

-{

-    LVVE_RX_MODE_OFF = 0, ///< Rx voice engine is turned off

-    LVVE_RX_MODE_ON = 1, ///< Rx voice in will run

-    LVVE_RX_MODE_BYPASS = 2, ///< Rx voice engine will run but output will be ignored

-    LVVE_RX_MODE_EN_DUMMY = LVM_MAXENUM

-} LVVE_Rx_Mode_en;

-

-/**

-* Enum type for LVVE_Tx_Mode_en

-*/

-typedef enum

-{

-    LVVE_TX_MODE_OFF = 0, ///< Tx in LVVE engine is disabled

-    LVVE_TX_MODE_ON = 1, ///< TX in LVVE is enabled

-    LVVE_TX_MODE_BYPASS_MIC0 = 2, ///< TX in LVVE engine will run but output will be Mic0 signal

-    LVVE_TX_MODE_BYPASS_MIC1 = 3, ///< Tx in LVVE engine will run but output will be Mic1 signal

-    LVVE_TX_MODE_BYPASS_REF = 4, ///< Tx in LVVE engine will run but output will be Ref signal

-    LVVE_TX_MODE_EN_DUMMY = LVM_MAXENUM

-} LVVE_Tx_Mode_en;

-

-/****************************************************************************************/

-/*                                                                                      */

-/*  Structures                                                                          */

-/*                                                                                      */

-/****************************************************************************************/

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVC_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    The internal gain setting used by VoiceClarity.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_GAIN_MIN (0)</td>

-        <td>@ref LVVC_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVC_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Gain;          ///< Gain

-

-    /**

-    0 (no detection) or 1 (detection).

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVC_SPDETECTED_MIN (0)</td>

-        <td>@ref LVVC_SPDETECTED_DEFAULT (0)</td>

-        <td>@ref LVVC_SPDETECTED_MAX (1)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetected;          ///< The speech detector flag.

-

-} LVVC_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVWM_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    The internal gain setting used by WhisperMode in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_GAIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVWM_AVL_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Gain;          ///< gain (dB)

-

-} LVWM_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVE_Rx_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Voice Clarity Status Parameter Structure.

-    */

-    LVVC_StatusParams_st VC_StatusParams;          ///< Voice Clarity Status Parameter Structure

-

-    /**

-    Whisper Mode Status Parameter Structure.

-    */

-    LVWM_StatusParams_st WM_StatusParams;          ///< Whisper Mode Status Parameter Structure

-

-    /**

-    Dummy Param.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.7</td>

-        <td>@ref LVVE_RX_DUMMY_MIN (-128)</td>

-        <td>@ref LVVE_RX_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVVE_RX_DUMMY_MAX (127)</td>

-    </tr>

-    </table> */

-    LVM_INT8 dummy;          ///< Dummy Param

-

-} LVVE_Rx_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVNV_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Bit mask describing the current state of LVNV, used for debugging.

-    */

-    LVNV_StatusWord_bm status;          ///< current state

-

-    /**

-    To keep correct memory alignment. To be removed when LVNV_StatusWord_bm has

-    become int32 as it should.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DUMMY_MIN (0)</td>

-        <td>@ref LVNV_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVNV_DUMMY_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Dummy;          ///< Dummy for memory alignment.

-

-    /**

-    Pointer to the coefficients of the primary low-band (0-4kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS0_LB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS0_LB_Coeffs;          ///< NLMS0 lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the primary high-band (4-8kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS0_HB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS0_HB_Coeffs;          ///< NLMS0 highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the secondary low-band (0-4kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS1_LB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS1_LB_Coeffs;          ///< NLMS1 lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the secondary high-band (4-8kHz) NLMS filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PNLMS1_HB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS1_HB_Coeffs;          ///< NLMS1 highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the FSB0 and FSB1 filters

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.15</td>

-        <td>@ref LVNV_PFSB_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PFSB_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PFSB_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pFSB_Coeffs;          ///< FSB0 and FSB1 coefficients

-

-    /**

-    Pointer to the coefficients of the GSC filter

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVNV_PGSC_COEFFS_MIN (-2147483648)</td>

-        <td>@ref LVNV_PGSC_COEFFS_DEFAULT (0)</td>

-        <td>@ref LVNV_PGSC_COEFFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pGSC_Coeffs;          ///< GSC coefficients

-

-    /**

-    Pointer to the MicPowSp detection flag

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_PMICPOWSP_MIN (0)</td>

-        <td>@ref LVNV_PMICPOWSP_DEFAULT (0)</td>

-        <td>@ref LVNV_PMICPOWSP_MAX (1)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pMicPowSp;          ///< MicPow Speech detection flag

-

-    /**

-    Pointer to the variable of Calibration factor

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_PCALFACTOR_MIN (0)</td>

-        <td>@ref LVNV_PCALFACTOR_DEFAULT (0)</td>

-        <td>@ref LVNV_PCALFACTOR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pCalFactor;          ///< Calibration factor value

-

-    /**

-    Pointer to the variable of Calibration ready

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_PCALREADY_MIN (0)</td>

-        <td>@ref LVNV_PCALREADY_DEFAULT (0)</td>

-        <td>@ref LVNV_PCALREADY_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pCalReady;          ///< Calibration ready value

-

-    /**

-    Pointer to the inter-channel correlation value used in broadside detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_MIN (0)</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_DEFAULT (0)</td>

-        <td>@ref LVNV_PBROADSIDE_INTERCC_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16* pBroadside_interCC;          ///< Broadside correlation

-

-} LVNV_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVHF_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    Current value of the echo subtraction factor.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>5.10</td>

-        <td>@ref LVHF_GAMMAE_MIN (0)</td>

-        <td>@ref LVHF_GAMMAE_DEFAULT (0)</td>

-        <td>@ref LVHF_GAMMAE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 gammae;          ///< multiplicator factor of echo suppression

-

-    /**

-    Bit mask describing the current state of LVHF, used for debugging.

-    */

-    LVHF_StatusWord_bm status;          ///< current state

-

-    /**

-    Pointer to the coefficients of the LB NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PNLMS_LB_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS_LB_Coefs;          ///< NLMS lowband filter coefficients

-

-    /**

-    Pointer to the coefficients of the HB NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PNLMS_HB_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pNLMS_HB_Coefs;          ///< NLMS highband filter coefficients

-

-    /**

-    Pointer to the coefficients of the PCD NLMS.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.30</td>

-        <td>@ref LVHF_PPCD_COEFS_MIN (-2147483648)</td>

-        <td>@ref LVHF_PPCD_COEFS_DEFAULT (0)</td>

-        <td>@ref LVHF_PPCD_COEFS_MAX (2147483647)</td>

-    </tr>

-    </table> */

-    LVM_INT32* pPCD_Coefs;          ///< PCD NLMS filter coefficients

-

-} LVHF_StatusParams_st;

-

-/**

-* The status parameters are used to retrieve the status of the module.

-* @see LVVE_Tx_GetStatusParameters

-*/

-typedef struct

-{

-    /**

-    HandsFree Status Parameter Structure.

-    */

-    LVHF_StatusParams_st HF_StatusParams;          ///< HandsFree Status Parameters Structure

-

-    /**

-    NoiseVoid Status Parameter Structure.

-    */

-    LVNV_StatusParams_st NV_StatusParams;          ///< NoiseVoid Status Parameters Structrue

-

-    /**

-    Dummy Param.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.7</td>

-        <td>@ref LVVE_TX_DUMMY_MIN (-128)</td>

-        <td>@ref LVVE_TX_DUMMY_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_DUMMY_MAX (127)</td>

-    </tr>

-    </table> */

-    LVM_INT8 dummy;          ///< Dummy Param

-

-} LVVE_Tx_StatusParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVIDHeader_SetControlParameters function but they

-* will not take effect until the next call to the LVVIDHeader_Process function.

-*

-* @see LVVIDHeader_SetControlParameters

-* @see LVVIDHeader_Process

-*/

-typedef struct

-{

-    /**

-    This number always increments by one when there is change in the header format.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_MIN (0)</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_DEFAULT (3)</td>

-        <td>@ref LVVIDHEADER_HEADERVERSION_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 HeaderVersion;          ///< Header Format Version

-

-    /**

-    Initially This variable holds value of the baseline version. The value is in

-    format of xxyyzzpp where xx is major number of the library, yy is minor number,

-    zz is second minor number and pp is patch number of the baseline.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>32.0</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_MIN (1)</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_DEFAULT (51906816)</td>

-        <td>@ref LVVIDHEADER_BASELINEVERSION_MAX (4294967295)</td>

-    </tr>

-    </table> */

-    LVM_UINT32 BaselineVersion;          ///< This is LVVE tagged version name

-

-    /**

-    First LVVE_Rx algorithm mask which holds information of which LVVE_Rx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Rx_Mask1_bm LVVE_Rx_AlgoMask1;          ///< This variable forms first part of LVVE_Rx algorithm mask

-

-    /**

-    Second LVVE_Rx algorithm mask which holds information of which LVVE_Rx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Rx_Mask2_bm LVVE_Rx_AlgoMask2;          ///< This variable forms second part of LVVE_Rx algorithm mask

-

-    /**

-    First LVVE_Tx algorithm mask which holds information of which LVVE_Tx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Tx_Mask1_bm LVVE_Tx_AlgoMask1;          ///< This variable forms first part of LVVE_Tx mask

-

-    /**

-    Second LVVE_Tx algorithm mask which holds information of which LVVE_Tx

-    algorithms are present.

-    */

-    LVVIDHeader_LVVE_Tx_Mask2_bm LVVE_Tx_AlgoMask2;          ///< This variable forms second part of LVVE_Tx mask

-

-    /**

-    First LVVE configuration mask which holds information of which configurations

-    of LVVE_Tx and LVVE_Rx algorithm are present.

-    */

-    LVVIDHeader_Configurations_Mask1_bm LVVE_Config_AlgoMask1;          ///< This variable forms first part of common LVVE_Tx and LVVE_Rx configuration mask

-

-    /**

-    Second LVVE configuration mask which holds information of which configurations

-    of LVVE_Tx and LVVE_Rx algorithm are present.

-    */

-    LVVIDHeader_Configurations_Mask2_bm LVVE_Config_AlgoMask2;          ///< This variable forms second part of common LVVE_Tx and LVVE_Rx configuration mask

-

-    /**

-    Messge ID is used to identify stream

-    */

-    LVVIDHeader_MessageID_en MessageID;          ///< This param holds message ID of the buffer

-

-    /**

-    This parameter specifies the sample rate information of the buffer.

-    */

-    LVM_Fs_en SampleRate;          ///< Sample rate information of the buffer.

-

-    /**

-    This parameter specifies the volume index corresponding to the subsequent data.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_MIN (0)</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_DEFAULT (0)</td>

-        <td>@ref LVVIDHEADER_VOLUMEINDEX_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 VolumeIndex;          ///< Volume index corresponding to the subsequent data.

-

-    /**

-    This parameter specifies how many volumes are present in the binary file.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>8.0</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_MIN (0)</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_DEFAULT (1)</td>

-        <td>@ref LVVIDHEADER_NUMVOLUMES_MAX (255)</td>

-    </tr>

-    </table> */

-    LVM_UINT8 NumVolumes;          ///< Number of volumes present in the binary file.

-

-} LVVIDHeader_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVC_SetControlParameters function but they

-* will not take effect until the next call to the LVVC_Process function.

-*

-* @see LVVC_SetControlParameters

-* @see LVVC_Process

-*/

-typedef struct

-{

-    /**

-    Control the operating mode (ON/OFF) of the algorithm.

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of VoiceClarity.

-    */

-    LVVC_ModeWord_bm mode;          ///< Mode word

-

-    /**

-    Maximum Gain applied to the signal.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_MIN (512)</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_DEFAULT (1286)</td>

-        <td>@ref LVVC_GAIN_LIN_MAX_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Gain_Lin_Max;          ///< Maximum Gain.

-

-    /**

-    The Noise_Sensitivity parameter sets how sensitive VoiceClarity will be to the

-    background noise level. The Noise_Sensitivity parameter allows adjusting the

-    sensitivity of those processing blocks to the nearend noise level. For high

-    values of the Noise_Sensitivity the effect of the mentioned processing blocks

-    will be big, even at low to moderate nearend noise levels. For low values of

-    the Noise_Sensitivity the effect of the processing blocks will be smaller, even

-    for high nearend noise levels.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_MIN (-6709)</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_DEFAULT (20000)</td>

-        <td>@ref LVVC_NOISE_SENSITIVITY_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Noise_Sensitivity;          ///< Noise Sensitivity.

-

-    /**

-    The desired output level of the AGC. <br>

-    AVL_Target_level_lin = \f$32767*10^{Target_Level_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)</td>

-        <td>@ref LVVC_AVL_TARGET_LEVEL_LIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Target_level_lin;          ///< The desired output level of the AGC.

-

-    /**

-    The maximal attenuation of the AGC. <br>

-    AVL_MinGainLin = \f$512*10^{MinGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_DEFAULT (256)</td>

-        <td>@ref LVVC_AVL_MINGAINLIN_MAX (512)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MinGainLin;          ///< The maximal attenuation of the AGC.

-

-    /**

-    The maximal gain of the AGC. <br>

-    AVL_MaxGainLin = \f$512*10^{MaxGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_MIN (512)</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_DEFAULT (8192)</td>

-        <td>@ref LVVC_AVL_MAXGAINLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MaxGainLin;          ///< The maximal gain of the AGC.

-

-    /**

-    The nominal gain of the AGC.<br>

-    AVL_NominalGain = \f$512*10^{NominalGain_dB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_DEFAULT (512)</td>

-        <td>@ref LVVC_AVL_NOMINALGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_NominalGain;          ///< The nominal gain of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Attack = \f$32767*\exp(-1/(100*AttackTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_ATTACK_MIN (0)</td>

-        <td>@ref LVVC_AVL_ATTACK_DEFAULT (12055)</td>

-        <td>@ref LVVC_AVL_ATTACK_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Attack;          ///< The attack time of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Release = \f$32767*\exp(-1/(100*ReleaseTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_RELEASE_MIN (0)</td>

-        <td>@ref LVVC_AVL_RELEASE_DEFAULT (32604)</td>

-        <td>@ref LVVC_AVL_RELEASE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Release;          ///< The release time of the AGC.

-

-    /**

-    The release time at maximum noise level.<br>

-

-    AVL_ReleaseMax = \f$32767*\exp(-1/(100*ReleaseMaxTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_MIN (0)</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_DEFAULT (32441)</td>

-        <td>@ref LVVC_AVL_RELEASEMAX_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_ReleaseMax;          ///< The release time at maximum noise level.

-

-    /**

-    AVL_Limit_MaxOutputLin = \f$32767*10^{TargetLimiterLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23170)</td>

-        <td>@ref LVVC_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Limit_MaxOutputLin;          ///< The level to which the signal will be limited.

-

-    /**

-    The higher the value of the threshold, the less speech detections will occur.

-    <br>

-    SpDetect_Threshold = \f$512 * [0,64]\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_MIN (0)</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_DEFAULT (1024)</td>

-        <td>@ref LVVC_SPDETECT_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetect_Threshold;          ///< The threshold used in the speech detector of VoiceClarity.

-

-} LVVC_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVFENS_SetControlParameters function but they

-* will not take effect until the next call to the LVFENS_Process function.

-*

-* @see LVFENS_SetControlParameters

-* @see LVFENS_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The maximum amount of noise suppression. <br>

-    Unit: dB<br>

-    FENS_limit_ns = \f$32767*10^{-max noise reduction[dB]/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_MIN (0)</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_DEFAULT (10976)</td>

-        <td>@ref LVFENS_FENS_LIMIT_NS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FENS_limit_NS;          ///< FENS Noise Suppression Limit

-

-    /**

-    The mode word to control the internal operation of FENS.

-    */

-    LVFENS_ModeWord_bm Mode;          ///< Mode word

-

-} LVFENS_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVWM_SetControlParameters function but they

-* will not take effect until the next call to the LVWM_Process function.

-*

-* @see LVWM_SetControlParameters

-* @see LVWM_Process

-*/

-typedef struct

-{

-    /**

-    Control the operating mode (ON/OFF) of the algorithm.

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of WhisperMode.

-    */

-    LVWM_ModeWord_bm mode;          ///< Mode word

-

-    /**

-    The desired output level of the AGC. <br>

-    AVL_Target_level_lin = \f$32767*10^{TargetLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_DEFAULT (16384)</td>

-        <td>@ref LVWM_AVL_TARGET_LEVEL_LIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Target_level_lin;          ///< The desired output level of the AGC.

-

-    /**

-    The maximal attenuation of the AGC. <br>

-    AVL_MinGainLin = \f$512*10^{MinGaindB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_DEFAULT (128)</td>

-        <td>@ref LVWM_AVL_MINGAINLIN_MAX (512)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MinGainLin;          ///< The maximal attenuation of the AGC.

-

-    /**

-    The maximal gain of the AGC. <br>

-    AVL_MaxGainLin = \f$512*10^{MaxGaindB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_MIN (512)</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_DEFAULT (8189)</td>

-        <td>@ref LVWM_AVL_MAXGAINLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_MaxGainLin;          ///< The maximal gain of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Attack = \f$32767*\exp(-1/(100*AttackTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_ATTACK_MIN (0)</td>

-        <td>@ref LVWM_AVL_ATTACK_DEFAULT (25520)</td>

-        <td>@ref LVWM_AVL_ATTACK_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Attack;          ///< The attack time of the AGC.

-

-    /**

-    The gain of the AGC is smoothed across time. The time constant of the smoothing

-    depends on whether the gain is increasing or decreasing. When a sudden loud

-    signal is encountered (e.g. attack of speech), the attack time is used. When

-    the gain is increasing (e.g. long period of whispered speech), the release time

-    is used. <br>

-

-    AVL_Release = \f$32767*\exp(-1/(100*ReleasTimeSec))\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_RELEASE_MIN (0)</td>

-        <td>@ref LVWM_AVL_RELEASE_DEFAULT (32685)</td>

-        <td>@ref LVWM_AVL_RELEASE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Release;          ///< The release time of the AGC.

-

-    /**

-    AVL_Limit_MaxOutputLin = \f$32767*10^{TargetLimiterLeveldB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_MIN (0)</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_DEFAULT (23197)</td>

-        <td>@ref LVWM_AVL_LIMIT_MAXOUTPUTLIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AVL_Limit_MaxOutputLin;          ///< The level to which the signal will be limited.

-

-    /**

-    The higher the value of the threshold, the less speech detections will occur.

-    <br>

-    SpDetect_Threshold = \f$512 * [0,64]\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_MIN (0)</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_DEFAULT (9216)</td>

-        <td>@ref LVWM_SPDETECT_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SpDetect_Threshold;          ///< The threshold used in the speech detector of WhisperMode.

-

-} LVWM_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVDRC_SetControlParameters function but they

-* will not take effect until the next call to the LVDRC_Process function.

-*

-* @see LVDRC_SetControlParameters

-* @see LVDRC_Process

-*/

-typedef struct

-{

-    /**

-    Operating mode for DRC

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    Sets the number of sections (knee points) in the compressor curve

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVDRC_NUMKNEES_MIN (1)</td>

-        <td>@ref LVDRC_NUMKNEES_DEFAULT (5)</td>

-        <td>@ref LVDRC_NUMKNEES_MAX (5)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NumKnees;          ///< Number of Knee points in compressor curve

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. Th input level for the first knee should be equal to or

-    larger than -96dB, and the input level for the last knee should be 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-96,-70,-50, -24, 0}</td>

-        <td>@ref LVDRC_COMPRESSORCURVEINPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveInputLevels[LVDRC_COMPRESSORCURVEINPUTLEVELS_LENGTH];          ///< Compressor Curve Input Levels

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The output level for the first knee should be equal to or

-    larger than -96dB, and the output level for the last knee should be equal to or

-    smaller than 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-70,-38,-12,0}</td>

-        <td>@ref LVDRC_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveOutputLevels[LVDRC_COMPRESSORCURVEOUTPUTLEVELS_LENGTH];          ///< Compressor Curve Output Levels

-

-    /**

-    The AttackTime parameter is the time constant controlling the rate of reaction

-    to increase in signal level. The AttackTime is specified in increments of 100µs

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_ATTACKTIME_MIN (0)</td>

-        <td>@ref LVDRC_ATTACKTIME_DEFAULT (50)</td>

-        <td>@ref LVDRC_ATTACKTIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AttackTime;          ///< Attack Time

-

-    /**

-    The ReleaseTime parameter is the time constant controlling the rate of reaction

-    to decrease in signal level. The ReleaseTime is specified in increments of

-    100µs.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_RELEASETIME_MIN (0)</td>

-        <td>@ref LVDRC_RELEASETIME_DEFAULT (50)</td>

-        <td>@ref LVDRC_RELEASETIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 ReleaseTime;          ///< Release Time

-

-    /**

-    Enable or Disable limiter with soft clipping.

-    */

-    LVM_Mode_en LimiterOperatingMode;          ///< Enable or Disable limiter with soft clipping

-

-    /**

-    Sets the limit level of the compressor in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVDRC_LIMITLEVEL_MIN (-96)</td>

-        <td>@ref LVDRC_LIMITLEVEL_DEFAULT (0)</td>

-        <td>@ref LVDRC_LIMITLEVEL_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 LimitLevel;          ///< Sets the limit level of the compressor in dB

-

-} LVDRC_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNG_SetControlParameters function but they

-* will not take effect until the next call to the LVNG_Process function.

-*

-* @see LVNG_SetControlParameters

-* @see LVNG_Process

-*/

-typedef struct

-{

-    /**

-    Operating mode for Noise Gate

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating mode

-

-    /**

-    Sets the number of sections (knee points) in the compressor curve

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNG_NUMKNEES_MIN (1)</td>

-        <td>@ref LVNG_NUMKNEES_DEFAULT (5)</td>

-        <td>@ref LVNG_NUMKNEES_MAX (5)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NumKnees;          ///< Number of Knee points in compressor curve

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The input level for the first knee should be equal to or

-    larger than -96dB, and the input level for the last knee should be 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_DEFAULT {-80,-70,-50, -24, 0}</td>

-        <td>@ref LVNG_COMPRESSORCURVEINPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveInputLevels[LVNG_COMPRESSORCURVEINPUTLEVELS_LENGTH];          ///< Compressor Curve Input Levels

-

-    /**

-    An array of size 5(maximum) containing the knee points specified by the

-    compression curve in dBFs. The number of knee points in use is limited by the

-    NumKnees parameter. The output level for the first knee should be equal to or

-    larger than -96dB, and the output level for the last knee should be equal to or

-    smaller than 0dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_MIN (-96)</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_DEFAULT {-96,-80,-50, -24, 0}</td>

-        <td>@ref LVNG_COMPRESSORCURVEOUTPUTLEVELS_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CompressorCurveOutputLevels[LVNG_COMPRESSORCURVEOUTPUTLEVELS_LENGTH];          ///< Compressor Curve Output Levels

-

-    /**

-    The AttackTime parameter is the time constant controlling the rate of reaction

-    to increase in signal level. The AttackTime is specified in increments of 100µs

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_ATTACKTIME_MIN (0)</td>

-        <td>@ref LVNG_ATTACKTIME_DEFAULT (50)</td>

-        <td>@ref LVNG_ATTACKTIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 AttackTime;          ///< Attack Time

-

-    /**

-    The ReleaseTime parameter is the time constant controlling the rate of reaction

-    to decrease in signal level. The ReleaseTime is specified in increments of

-    100µs.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNG_RELEASETIME_MIN (0)</td>

-        <td>@ref LVNG_RELEASETIME_DEFAULT (50)</td>

-        <td>@ref LVNG_RELEASETIME_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 ReleaseTime;          ///< Release Time

-

-} LVNG_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNLPP_SetControlParameters function but they

-* will not take effect until the next call to the LVNLPP_Process function.

-*

-* @see LVNLPP_SetControlParameters

-* @see LVNLPP_Process

-*/

-typedef struct

-{

-    /**

-    Limits the signal level compared to digital full scale in dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_MIN (-24)</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_DEFAULT (0)</td>

-        <td>@ref LVNLPP_NLPP_LIMIT_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLPP_Limit;          ///< NLPP Limit

-

-    /**

-    Sets the -3dB corner frequency of the high-pass filter in Hz.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVNLPP_NLPP_HPF_CORNERFREQ_MAX (1000)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLPP_HPF_CornerFreq;          ///< NLPP HPF Corner Frequency

-

-} LVNLPP_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVEQ_SetControlParameters function but they

-* will not take effect until the next call to the LVEQ_Process function.

-*

-* @see LVEQ_SetControlParameters

-* @see LVEQ_Process

-*/

-typedef struct

-{

-    /**

-    Sets the length of the Equalizer impulse response. This must never be more than

-    the value of EQ_MaxLength set at initialization time. The EQ_Length must be a

-    multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVEQ_EQ_LENGTH_MIN (8)</td>

-        <td>@ref LVEQ_EQ_LENGTH_DEFAULT (32)</td>

-        <td>@ref LVEQ_EQ_LENGTH_MAX (32)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 EQ_Length;          ///< EQ Tap Length

-

-    /**

-    Pointer to an array containing the samples of the Equalizer impulse response.

-    The format of the array content is specified below. The samples of the

-    Equalizer impulse response must be in Q3.12 format.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVEQ_EQ_COEFS_MIN (-32768)</td>

-        <td>@ref LVEQ_EQ_COEFS_DEFAULT {4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}</td>

-        <td>@ref LVEQ_EQ_COEFS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 *pEQ_Coefs;          ///< Equalizer impulse response

-

-} LVEQ_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVOL_SetControlParameters function but they

-* will not take effect until the next call to the LVVOL_Process function.

-*

-* @see LVVOL_SetControlParameters

-* @see LVVOL_Process

-*/

-typedef struct

-{

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVOL_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVOL_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVOL_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-} LVVOL_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVHPF_SetControlParameters function but they

-* will not take effect until the next call to the LVHPF_Process function.

-*

-* @see LVHPF_SetControlParameters

-* @see LVHPF_Process

-*/

-typedef struct

-{

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVHPF_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-} LVHPF_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVMUTE_SetControlParameters function but they

-* will not take effect until the next call to the LVMUTE_Process function.

-*

-* @see LVMUTE_SetControlParameters

-* @see LVMUTE_Process

-*/

-typedef struct

-{

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-} LVMUTE_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVE_Rx_SetControlParameters function but they

-* will not take effect until the next call to the LVVE_Rx_Process function.

-*

-* @see LVVE_Rx_SetControlParameters

-* @see LVVE_Rx_Process

-*/

-typedef struct

-{

-    /**

-    This enumerated type is used to set the operating mode of the Rx path. The

-    processing can be separately set to enable all processing modules (i.e., ON),

-    to disable all processing modules (i.e., OFF) or to bypass all processing

-    modules (i.e., BYPASS). When bypassed, all processing modules keep on running,

-    but their output is not used.

-    */

-    LVVE_Rx_Mode_en OperatingMode;          ///< This param controls the on/off of RX voice engine.

-

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVE_RX_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVE_RX_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVE_RX_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-    /**

-    Far End Noise Suppression Control Parameter Structure.

-    */

-    LVFENS_ControlParams_st FENS_ControlParams;          ///< Far End Noise Suppression Control Parameter Structure

-

-    /**

-    Turns on/off NLPP.

-    */

-    LVM_Mode_en NLPP_OperatingMode;          ///< Turns on/off NLPP

-

-    /**

-    NLPP Control Parameter Structure.

-    */

-    LVNLPP_ControlParams_st NLPP_ControlParams;          ///< NLPP Control Parameter Structure

-

-    /**

-    Voice Clarity Control Parameter Structure.

-    */

-    LVVC_ControlParams_st VC_ControlParams;          ///< Voice Clarity Control Parameter Structure

-

-    /**

-    Equalizer Operating mode.

-    */

-    LVM_Mode_en EQ_OperatingMode;          ///< Equalizer Operating mode

-

-    /**

-    Equalizer Control Parameters Structure.

-    */

-    LVEQ_ControlParams_st EQ_ControlParams;          ///< Equalizer Control Parameters Structure

-

-    /**

-    DRC Control Parameter Strcuture.

-    */

-    LVDRC_ControlParams_st DRC_ControlParams;          ///< DRC Control Parameter Strcuture

-

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVVE_RX_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-    /**

-    Whisper Mode Control Parameter Strcuture.

-    */

-    LVWM_ControlParams_st WM_ControlParams;          ///< Whisper Mode Control Parameter Strcuture

-

-    /**

-    Noise Gate Control Parameter Structure.

-    */

-    LVNG_ControlParams_st NG_ControlParams;          ///< Noise Gate Control Parameter Structure

-

-} LVVE_Rx_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVNV_SetControlParameters function but they

-* will not take effect until the next call to the LVNV_Process function.

-*

-* @see LVNV_SetControlParameters

-* @see LVNV_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of LVNV.

-    */

-    LVNV_ModeWord_bm Mode;          ///< Mode word

-

-    /**

-    The mode2 word to allow switching or combining different blocks inside LVNV.

-    */

-    LVNV_Mode2Word_bm Mode2;          ///< Mode2 word

-

-    /**

-    The tuning mode word to enable/disable internal algorithm tuning capabilities

-    in the different blocks of LVNV. Only one bit is allowed to be enabled at a

-    time.

-    */

-    LVNV_TuningModeWord_bm Tuning_mode;          ///< Tuning mode word

-

-    /**

-    Gain applied at the primary channel in the Tx input. Used to scale the

-    microphone signal in order to give the NLMS0_LB and NLMS0_HB filters headroom

-    for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_MIN (0)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_DEFAULT (8192)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC0_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Input_Gain_Mic0;          ///< The primary input gain.

-

-    /**

-    Gain applied at the secondary channel in the Tx input. Used to scale the

-    microphone signal in order to give the NLMS1_LB and NLMS1_HB filters headroom

-    for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_MIN (0)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_DEFAULT (8192)</td>

-        <td>@ref LVNV_INPUT_GAIN_MIC1_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Input_Gain_Mic1;          ///< The secondary input gain.

-

-    /**

-    Gain applied at the Tx output of LVNV. Compensates the applied Input_Gain_Mic0

-    in order to preserve the overall Tx gain.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVNV_OUTPUT_GAIN_MIN (0)</td>

-        <td>@ref LVNV_OUTPUT_GAIN_DEFAULT (2048)</td>

-        <td>@ref LVNV_OUTPUT_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 Output_Gain;          ///< The output gain.

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter for the

-    primary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_DEFAULT (32)</td>

-        <td>@ref LVNV_NLMS0_LB_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS0_LB_taps;          ///< Number of NLMS0 low-band taps.

-

-    /**

-    Step size for the update of the low-band adaptive filter coefficients for the

-    primary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS0_LB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_LB_twoalpha;          ///< NLMS0 low-band step size

-

-    /**

-    Adaptive step-size control for the low-band adaptive echo cancellation filter

-    for the primary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS0_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_LB_erl;          ///< NLMS0 low-band erl

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter for the

-    primary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_DEFAULT (24)</td>

-        <td>@ref LVNV_NLMS0_HB_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS0_HB_taps;          ///< Number of NLMS0 high-band taps.

-

-    /**

-    Step size for the update of the high-band adaptive filter coefficients for the

-    primary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS0_HB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_HB_twoalpha;          ///< NLMS0 high-band step size

-

-    /**

-    Adaptive step-size control for the high-band adaptive echo cancellation filter

-    for the primary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS0_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_HB_erl;          ///< NLMS0 high-band erl

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done.<br>

-    0 = No preset (coefficients as they are).<br>

-    1 = Preset with internally calculated coefficients.<br>

-    2 = Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_DEFAULT (0)</td>

-        <td>@ref LVNV_NLMS0_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_preset_coefs;          ///< NLMS0 preset

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS0_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_NLMS0_OFFSET_DEFAULT (776)</td>

-        <td>@ref LVNV_NLMS0_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS0_offset;          ///< NLMS0 offset

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter for the

-    secondary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_DEFAULT (32)</td>

-        <td>@ref LVNV_NLMS1_LB_TAPS_MAX (32)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS1_LB_taps;          ///< Number of NLMS1 low-band taps.

-

-    /**

-    Step size for the update of the low-band adaptive filter coefficients for the

-    secondary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS1_LB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_LB_twoalpha;          ///< NLMS1 low-band step size

-

-    /**

-    Adaptive step-size control for the low-band adaptive echo cancellation filter

-    for the secondary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS1_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_LB_erl;          ///< NLMS1 low-band erl

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter for the

-    secondary channel. The Length should be chosen such that most of the energy of

-    the impulse response is covered by the filter. The length should be a multiple

-    of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_MIN (16)</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_DEFAULT (24)</td>

-        <td>@ref LVNV_NLMS1_HB_TAPS_MAX (32)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS1_HB_taps;          ///< Number of NLMS1 high-band taps.

-

-    /**

-    Step size for the update of the high-band adaptive filter coefficients for the

-    secondary channel. It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_DEFAULT (8192)</td>

-        <td>@ref LVNV_NLMS1_HB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_HB_twoalpha;          ///< NLMS1 high-band step size

-

-    /**

-    Adaptive step-size control for the high-band adaptive echo cancellation filter

-    for the secondary channel. This parameter is used to slow down the update speed

-    of the adaptive filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_MIN (64)</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_DEFAULT (1000)</td>

-        <td>@ref LVNV_NLMS1_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_HB_erl;          ///< NLMS1 high-band erl

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done.<br>

-    0 = No preset (coefficients as they are).<br>

-    1 = Preset with internally calculated coefficients.<br>

-    2 = Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_DEFAULT (0)</td>

-        <td>@ref LVNV_NLMS1_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_preset_coefs;          ///< NLMS1 preset

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_NLMS1_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_NLMS1_OFFSET_DEFAULT (776)</td>

-        <td>@ref LVNV_NLMS1_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS1_offset;          ///< NLMS1 offset

-

-    /**

-    A parameter representing a threshold for the detection of instrumental noise.

-    The higher the value for this parameter, the lower noise suppression

-    performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_MIN (0)</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_DEFAULT (150)</td>

-        <td>@ref LVNV_CAL_MICPOWFLOORMIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 CAL_micPowFloorMin;          ///< Instrumental noise threshold

-

-    /**

-    Threshold for Windgush detector. The higher the value, the less sensitive the

-    detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>6.9</td>

-        <td>@ref LVNV_WGTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_WGTHRESHOLD_DEFAULT (32767)</td>

-        <td>@ref LVNV_WGTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 WgThreshold;          ///< Windgush threshold

-

-    /**

-    Threshold for speech detector based on power comparison between primary and

-    secondary microphones. The higher the value, the less sensitive the detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_MPTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_MPTHRESHOLD_DEFAULT (6554)</td>

-        <td>@ref LVNV_MPTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 MpThreshold;          ///< MicPow threshold

-

-    /**

-    Set of first 8 coefficients for adaptive filter FSB0. These values should be

-    determined for the given microphone configuration

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_MIN (-32768)</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_DEFAULT {32767, 0, 0, 0, 0, 0, 0, 0}</td>

-        <td>@ref LVNV_FSB_INIT_TABLE0_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_init_table0[LVNV_FSB_INIT_TABLE0_LENGTH];          ///< FSB0 initial coefficients.

-

-    /**

-    Set of first 8 coefficients for adaptive filter FSB1. These values should be

-    determined for the given microphone configuration

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_MIN (-32768)</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_DEFAULT {0, 0, 0, 0, 0, 0, 0, 0}</td>

-        <td>@ref LVNV_FSB_INIT_TABLE1_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_init_table1[LVNV_FSB_INIT_TABLE1_LENGTH];          ///< FSB1 initial coefficients.

-

-    /**

-    Length of the FSB to model the acoustical paths between the speech source and

-    two microphones. The length must be equal to 16 for the handset application.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_FSB_TAPS_MIN (8)</td>

-        <td>@ref LVNV_FSB_TAPS_DEFAULT (16)</td>

-        <td>@ref LVNV_FSB_TAPS_MAX (16)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 FSB_taps;          ///< Number of FSB taps

-

-    /**

-    Step-size to update the coefficients of the adaptive filters. A higher value

-    leads to a faster speed of the adaptation, while a lower value provides more

-    stability, but a slow adaption speed.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_FSB_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_FSB_TWOALPHA_DEFAULT (655)</td>

-        <td>@ref LVNV_FSB_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_twoalpha;          ///< FSB step size control

-

-    /**

-    Gain applied on the samples of the second FSB reference signal (fsbref[1]).

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>5.10</td>

-        <td>@ref LVNV_FSB_REF_GAIN_MIN (0)</td>

-        <td>@ref LVNV_FSB_REF_GAIN_DEFAULT (1024)</td>

-        <td>@ref LVNV_FSB_REF_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 FSB_ref_gain;          ///< FSB ref gain

-

-    /**

-    Length of the GSC to model the transfer function between the noise reference

-    and the residual signal, in order to reduce the noise and interfering sounds

-    from the desired signal. This number should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVNV_GSC_TAPS_MIN (8)</td>

-        <td>@ref LVNV_GSC_TAPS_DEFAULT (16)</td>

-        <td>@ref LVNV_GSC_TAPS_MAX (48)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 GSC_taps;          ///< Number of GSC taps

-

-    /**

-    Step-size to update the coefficients of the adaptive filter. A higher value

-    leads to a faster speed of the adaptation, while a lower value provides more

-    stability, but a slow adaption speed.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_GSC_TWOALPHA_MIN (0)</td>

-        <td>@ref LVNV_GSC_TWOALPHA_DEFAULT (1638)</td>

-        <td>@ref LVNV_GSC_TWOALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_twoalpha;          ///< GSC step size control

-

-    /**

-    Adaptive step-size control for GSC to avoid divergence of the adaptive filter

-    during desired speech. In general, GSC_erl is lower than NLMS_erl and ranges

-    between 0 and 30 dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_GSC_ERL_MIN (64)</td>

-        <td>@ref LVNV_GSC_ERL_DEFAULT (256)</td>

-        <td>@ref LVNV_GSC_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_erl;          ///< GSC erl

-

-    /**

-    Offset added to the computation of the power of the noise reference to avoid

-    that the power converges towards zero when the input is low.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_GSC_OFFSET_MIN (0)</td>

-        <td>@ref LVNV_GSC_OFFSET_DEFAULT (1638)</td>

-        <td>@ref LVNV_GSC_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 GSC_offset;          ///< GSC offset

-

-    /**

-    Echo subtraction factor applied during farend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_DEFAULT (16384)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMAHI_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoGammaHi;          ///< High echo subtraction factor

-

-    /**

-    Echo subtraction factor applied during double talk and nearend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_DEFAULT (8192)</td>

-        <td>@ref LVNV_DNNS_ECHOGAMMALO_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoGammaLo;          ///< Low echo subtraction factor

-

-    /**

-    Parameter related to the reverberation time of the acoustical environment,

-    which represents the decay in energy over time of the echo tail of the impulse

-    response.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_DEFAULT (12000)</td>

-        <td>@ref LVNV_DNNS_ECHOALPHAREV_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoAlphaRev;          ///< Echo reverberation factor

-

-    /**

-    Parameter representing the portion of the echo tail (estimated by the NLMS

-    filter) that has to be extrapolated in time.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_DEFAULT (7000)</td>

-        <td>@ref LVNV_DNNS_ECHOTAILPORTION_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_EchoTailPortion;          ///< Echo tail portion

-

-    /**

-    Non-linear echo subtraction factor applied during double talk and nearend-only.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVNV_DNNS_NLATTEN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NLATTEN_DEFAULT (256)</td>

-        <td>@ref LVNV_DNNS_NLATTEN_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NlAtten;          ///< Non-linear echo subtraction factor

-

-    /**

-    Gain factor for stationary noise oversubtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_DEFAULT (11470)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGammaS;          ///< Stationary noise oversubtraction factor

-

-    /**

-    Gain factor for non-stationary noise oversubtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_DEFAULT (16384)</td>

-        <td>@ref LVNV_DNNS_NOISEGAMMAN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGammaN;          ///< Non-stationary noise oversubtraction factor

-

-    /**

-    The maximum amount of stationary noise suppression.<br>

-    DNNS_NoiseGainMinS = \f$2*32767*10^{MaxNoiseReductiondB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>-1.16</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_DEFAULT (11140)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGainMinS;          ///< Maximum stationary noise suppression.

-

-    /**

-    The maximum amount of non-stationary noise suppression.<br>

-    DNNS_NoiseGainMinN = \f$2*32767*10^{MaxNoiseReductiondB/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>-1.16</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_DEFAULT (6554)</td>

-        <td>@ref LVNV_DNNS_NOISEGAINMINN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseGainMinN;          ///< Maximum non-stationary noise suppression.

-

-    /**

-    Bias compensation factor for stationary noise estimation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_MIN (0)</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_DEFAULT (9830)</td>

-        <td>@ref LVNV_DNNS_NOISEBIASCOMP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_NoiseBiasComp;          ///< Bias compensation factor.

-

-    /**

-    Echo oversubtraction factor applied to the estimated non-stationary noise

-    floor.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_GAINETA_MIN (0)</td>

-        <td>@ref LVNV_DNNS_GAINETA_DEFAULT (256)</td>

-        <td>@ref LVNV_DNNS_GAINETA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_GainEta;          ///< Echo oversubtraction factor.

-

-    /**

-    Detection threshold for microphone activity.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_DEFAULT (12288)</td>

-        <td>@ref LVNV_DNNS_ACTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_AcThreshold;          ///< Activity threshold.

-

-    /**

-    Detection threshold for activity within the beam of FSB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>3.12</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_DEFAULT (9216)</td>

-        <td>@ref LVNV_DNNS_WBTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_WbThreshold;          ///< WithinBeam threshold.

-

-    /**

-    Detection threshold for lost beam where the nearend speaker is speaking outside

-    the beam of the FSB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_DEFAULT (320)</td>

-        <td>@ref LVNV_DNNS_LOSTBEAMTHRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DNNS_LostBeamThreshold;          ///< Lost beam threshold.

-

-    /**

-    Smoothing factor applied to get a smoothed value of the inter-channel

-    correlation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_PCD_BETA_MIN (0)</td>

-        <td>@ref LVNV_PCD_BETA_DEFAULT (230)</td>

-        <td>@ref LVNV_PCD_BETA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_beta;          ///< ICC smoothing factor.

-

-    /**

-    Detection threshold for broadside when the nearend speaker is not in end-fire

-    position with respect to the microphone configuration.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVNV_PCD_THRESHOLD_MIN (0)</td>

-        <td>@ref LVNV_PCD_THRESHOLD_DEFAULT (26213)</td>

-        <td>@ref LVNV_PCD_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_Threshold;          ///< Broadside detection threshold.

-

-} LVNV_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVHF_SetControlParameters function but they

-* will not take effect until the next call to the LVHF_Process function.

-*

-* @see LVHF_SetControlParameters

-* @see LVHF_Process

-*/

-typedef struct

-{

-    /**

-    */

-    LVM_Mode_en OperatingMode;          ///< Operating Mode

-

-    /**

-    The mode word to enable/disable internal algorithm blocks of HandsFree

-    */

-    LVHF_ModeWord_bm Mode;          ///< Mode Word

-

-    /**

-    The tuning mode is used to enable/disable internal algorithm tuning

-    capabilities in the different blocks of HandsFree. Only one bit allowed to be

-    enabled at a time.

-    */

-    LVHF_TuningModeWord TuningMode;          ///< Tuning Mode

-

-    /**

-    Gain applied at the Tx input of LVHF. Used to scale the microphone signal in

-    order to give the NLMS filter headroom for correct operation.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVHF_INPUTGAIN_MIN (0)</td>

-        <td>@ref LVHF_INPUTGAIN_DEFAULT (8192)</td>

-        <td>@ref LVHF_INPUTGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 InputGain;          ///< Input Gain

-

-    /**

-    Gain applied at the Tx output of LVHF. Compensates the applied InputGain in

-    order to preserve the overall Tx gain.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_OUTPUTGAIN_MIN (0)</td>

-        <td>@ref LVHF_OUTPUTGAIN_DEFAULT (2048)</td>

-        <td>@ref LVHF_OUTPUTGAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 OutputGain;          ///< Output Gain

-

-    /**

-    Limit the NLMS reference signal. Value in dB Full Scale.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVHF_NLMS_LIMIT_MIN (-24)</td>

-        <td>@ref LVHF_NLMS_LIMIT_DEFAULT (0)</td>

-        <td>@ref LVHF_NLMS_LIMIT_MAX (0)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_limit;          ///< Limit the NLMS reference signal.

-

-    /**

-    Length of the low-band (0-4kHz) adaptive echo cancellation filter. The Length

-    should be chosen such that most of the energy of the impulse response is

-    covered by the filter. The length should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_MIN (16)</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_DEFAULT (64)</td>

-        <td>@ref LVHF_NLMS_LB_TAPS_MAX (200)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS_LB_taps;          ///< Number of taps for LB NLMS.

-

-    /**

-    Step size for the update of the low-band (0-4kHz) adaptive filter coefficients.

-    It is recommended not to change the default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_DEFAULT (8192)</td>

-        <td>@ref LVHF_NLMS_LB_TWO_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_LB_two_alpha;          ///< Step Size of LB NLMS

-

-    /**

-    Adaptive step size control for the low-band (0-4kHz) adaptive echo cancellation

-    filter. This parameter is used to slow down the update speed of the adaptive

-    filter during double talk situations.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_NLMS_LB_ERL_MIN (64)</td>

-        <td>@ref LVHF_NLMS_LB_ERL_DEFAULT (128)</td>

-        <td>@ref LVHF_NLMS_LB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_LB_erl;          ///< ERL of LB NLMS

-

-    /**

-    Length of the high-band (4-8kHz) adaptive echo cancellation filter. The Length

-    should be chosen such that most of the energy of the impulse response is

-    covered by the filter. The length should be a multiple of 8. In case of

-    narrowband processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_MIN (16)</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_DEFAULT (64)</td>

-        <td>@ref LVHF_NLMS_HB_TAPS_MAX (136)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 NLMS_HB_taps;          ///< Number of taps for HB NLMS.

-

-    /**

-    Step size for the update of the high-band (4-8kHz) adaptive filter

-    coefficients. It is recommended not to change the default value. In case of

-    narrowband processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_DEFAULT (8192)</td>

-        <td>@ref LVHF_NLMS_HB_TWO_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_HB_two_alpha;          ///< Step Size of HB NLMS

-

-    /**

-    Adaptive step size control for the high-band (4-8kHz) adaptive echo

-    cancellation filter. This parameter is used to slow down the update speed of

-    the adaptive filter during double talk situations. In case of narrowband

-    processing, this parameter has no effect.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_NLMS_HB_ERL_MIN (64)</td>

-        <td>@ref LVHF_NLMS_HB_ERL_DEFAULT (128)</td>

-        <td>@ref LVHF_NLMS_HB_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_HB_erl;          ///< ERL of HB NLMS

-

-    /**

-    Indicates whether a preset of adaptive filter coefficients should be done. <br>

-    0 = No preset (Coefficients as they are)<br>

-    1= Preset with internally calculated coefficients.<br>

-    2= Preset with zero coefficients.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_MIN (0)</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_DEFAULT (1)</td>

-        <td>@ref LVHF_NLMS_PRESET_COEFS_MAX (2)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_preset_coefs;          ///< Coefficient preset.

-

-    /**

-    Offset added to the normalization of the adaptation of the filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_NLMS_OFFSET_MIN (0)</td>

-        <td>@ref LVHF_NLMS_OFFSET_DEFAULT (767)</td>

-        <td>@ref LVHF_NLMS_OFFSET_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 NLMS_offset;          ///< NLMS offset

-

-    /**

-    Parameter related to the reverberation of the acoustic environment. It

-    represents the decay in time of the energy of the echo tail of the impulse

-    response for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_DEFAULT (25395)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_alpha_LB;

-    /**

-    Parameter related to the portion of the echo tail that has to be extrapolated

-    in time for LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_DEFAULT (29491)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_portion_LB;

-    /**

-    Echo subtraction factor applied during farend-only for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_high_LB;          ///< FE Echo subtraction LB

-

-    /**

-    Echo subtraction factor applied during double talk for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_dt_LB;          ///< DT Echo subtraction factor LB

-

-    /**

-    Echo subtraction factor applied during nearend-only for the LB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_LB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_low_LB;          ///< NE Echo subtraction factor LB

-

-    /**

-    The amount of extra non-linear suppression relative to the maximum linear echo

-    suppression for the LB. The use of these non-linear echo suppression mechanisms

-    should be avoided as much as possible since it affects the double talk

-    performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_MIN (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_DEFAULT (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_LB_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NL_atten_LB;          ///< LB Non linear attenuation

-

-    /**

-    Parameter related to the reverberation of the acoustic environment. It

-    represents the decay in time of the energy of the echo tail of the impulse

-    response for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_DEFAULT (25395)</td>

-        <td>@ref LVHF_DENS_TAIL_ALPHA_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_alpha_HB;

-    /**

-    Parameter related to the portion of the echo tail that has to be extrapolated

-    in time for HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_DEFAULT (29491)</td>

-        <td>@ref LVHF_DENS_TAIL_PORTION_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_tail_portion_HB;

-    /**

-    Echo subtraction factor applied during farend-only for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_HIGH_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_high_HB;          ///< FE Echo subtraction HB

-

-    /**

-    Echo subtraction factor applied during double talk for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_DT_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_dt_HB;          ///< DT Echo subtraction factor HB

-

-    /**

-    Echo subtraction factor applied during nearend-only for the HB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_DEFAULT (256)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_LOW_HB_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_low_HB;          ///< NE Echo subtraction factor HB

-

-    /**

-    The amount of extra non-linear suppression relative to the maximum linear echo

-    suppression. for the HB. The use of these non-linear echo suppression

-    mechanisms should be avoided as much as possible since it affects the double

-    talk performance.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>4.11</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_MIN (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_DEFAULT (0)</td>

-        <td>@ref LVHF_DENS_NL_ATTEN_HB_MAX (2048)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NL_atten_HB;          ///< NE Echo subtraction factor HB

-

-    /**

-    Smoothing factor applied when switching between gamma_e values.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_DEFAULT (24000)</td>

-        <td>@ref LVHF_DENS_GAMMA_E_ALPHA_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_e_alpha;          ///< Smoothing factor for gamma_e

-

-    /**

-    Gain factor for Noise subtraction.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_GAMMA_N_MIN (0)</td>

-        <td>@ref LVHF_DENS_GAMMA_N_DEFAULT (280)</td>

-        <td>@ref LVHF_DENS_GAMMA_N_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_gamma_n;          ///< Gain factor

-

-    /**

-    Threshold for nearend activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_MIN (0)</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_DEFAULT (512)</td>

-        <td>@ref LVHF_DENS_SPDET_NEAR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_spdet_near;

-    /**

-    Threshold for microphone activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_MIN (0)</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_DEFAULT (768)</td>

-        <td>@ref LVHF_DENS_SPDET_ACT_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_spdet_act;

-    /**

-    The maximum amount of noise suppression. <br>

-    DENS_limit_ns = \f$32767*10^{-MaxNoiseReduction[dB]/20}\f$

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_MIN (0)</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_DEFAULT (10361)</td>

-        <td>@ref LVHF_DENS_LIMIT_NS_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_limit_ns;          ///< Maximum noise suppression.

-

-    /**

-    The amount of comfort noise insertion.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.14</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_MIN (0)</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_DEFAULT (16384)</td>

-        <td>@ref LVHF_DENS_CNI_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_CNI_Gain;          ///< CNI gain

-

-    /**

-    The window length (expressed in integer multiples of 10ms) for the estimation

-    of the noise components. It is recommended to keep this parameter at its

-    default value.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_MIN (0)</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_DEFAULT (150)</td>

-        <td>@ref LVHF_DENS_NFE_BLOCKSIZE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 DENS_NFE_blocksize;          ///< NFE blocksize

-

-    /**

-    Threshold for farend activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_FAR_MIN (0)</td>

-        <td>@ref LVHF_SPDET_FAR_DEFAULT (16384)</td>

-        <td>@ref LVHF_SPDET_FAR_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_far;

-    /**

-    Threshold for microphone activity detection.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_MIC_MIN (0)</td>

-        <td>@ref LVHF_SPDET_MIC_DEFAULT (16384)</td>

-        <td>@ref LVHF_SPDET_MIC_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_mic;

-    /**

-    Threshold to activate the non-linear echo-suppression.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_SPDET_X_CLIP_MIN (0)</td>

-        <td>@ref LVHF_SPDET_X_CLIP_DEFAULT (0)</td>

-        <td>@ref LVHF_SPDET_X_CLIP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 SPDET_x_clip;

-    /**

-    Threshold to detect acoustical path changes.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>0.15</td>

-        <td>@ref LVHF_PCD_THRESHOLD_MIN (0)</td>

-        <td>@ref LVHF_PCD_THRESHOLD_DEFAULT (20000)</td>

-        <td>@ref LVHF_PCD_THRESHOLD_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_threshold;          ///< PCD threshold

-

-    /**

-    Length of the background adaptive filter. The length should be chosen such that

-    only the main peak of the impulse response is covered by the filter. The length

-    should be a multiple of 8.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVHF_PCD_TAPS_MIN (16)</td>

-        <td>@ref LVHF_PCD_TAPS_DEFAULT (16)</td>

-        <td>@ref LVHF_PCD_TAPS_MAX (64)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_taps;          ///< Number of taps of background NLMS.

-

-    /**

-    Adaptive step size control for the background adaptive filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_PCD_ERL_MIN (64)</td>

-        <td>@ref LVHF_PCD_ERL_DEFAULT (64)</td>

-        <td>@ref LVHF_PCD_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_erl;          ///< Step size of background NLMS.

-

-    /**

-    If a path change is detected, NLMS_erl of the NLMS is set to this value, to

-    ensure a fast adapting filter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>9.6</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_MIN (64)</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_DEFAULT (64)</td>

-        <td>@ref LVHF_PCD_MINIMUM_ERL_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_minimum_erl;          ///< Step size of NLMS after PCD.

-

-    /**

-    After a path change the NLMS_erl of the NLMS increases back to the nominal

-    value. The speed to increase can be controlled by this parameter.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>1.14</td>

-        <td>@ref LVHF_PCD_ERL_STEP_MIN (16384)</td>

-        <td>@ref LVHF_PCD_ERL_STEP_DEFAULT (16800)</td>

-        <td>@ref LVHF_PCD_ERL_STEP_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_erl_step;          ///< Step of ERL increase after PCD.

-

-    /**

-    Gain factor applied to the echo subtraction during acoustical path change.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>7.8</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_MIN (0)</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_DEFAULT (5000)</td>

-        <td>@ref LVHF_PCD_GAMMA_E_RESCUE_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 PCD_gamma_e_rescue;          ///< gamma_e after PCD

-

-} LVHF_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVBD_SetControlParameters function but they

-* will not take effect until the next call to the LVBD_Process function.

-*

-* @see LVBD_SetControlParameters

-* @see LVBD_Process

-*/

-typedef struct

-{

-    /**

-    Set Bulk Delay operating mode on/off.

-    */

-    LVM_Mode_en BD_OperatingMode;          ///< Set Bulk Delay operating mode on/off

-

-    /**

-    This parameter compensates for the fixed delay in the echo path and can be

-    measured in advance. This delay is caused by the audio I/O buffering, AD/DA

-    converter and propagation time between the loudspeaker and microphone. The unit

-    of 'BulkDelay' is [number of samples] at the respective sampling rate.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVBD_BULKDELAY_MIN (0)</td>

-        <td>@ref LVBD_BULKDELAY_DEFAULT (0)</td>

-        <td>@ref LVBD_BULKDELAY_MAX (6400)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 BulkDelay;          ///< Sets Bulk Delay

-

-    /**

-    This param sets the gain for the Echo reference signal. Value 8192 belong to

-    0dB

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVBD_BD_GAIN_MIN (0)</td>

-        <td>@ref LVBD_BD_GAIN_DEFAULT (8192)</td>

-        <td>@ref LVBD_BD_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 BD_Gain;          ///< Apply Gain to Echo reference signal

-

-} LVBD_ControlParams_st;

-

-/**

-* The control parameters are used to control the overall module behavior. These parameters may

-* be changed at any time during processing using the LVVE_Tx_SetControlParameters function but they

-* will not take effect until the next call to the LVVE_Tx_Process function.

-*

-* @see LVVE_Tx_SetControlParameters

-* @see LVVE_Tx_Process

-*/

-typedef struct

-{

-    /**

-    This enumerated type is used to set the operating mode of the Tx path. The

-    processing can be separately set to enable all processing modules (i.e., ON),

-    to disable all processing modules (i.e., OFF) or to bypass all processing

-    modules (i.e., BYPASS). When bypassed, all processing modules keep on running,

-    but their output is not used. When bypassing the Tx processing, the user can

-    select which buffer should be copied to the output buffer, if required: @li

-    Input microphone signal (or secondary microphone signal in case of

-    two-microphone setups); @li Rx reference signal; These operations ensure that

-    the input data is correctly transferred to the output buffer for all

-    combinations of input and output buffer types and input format. When OFF, the

-    input is copied to the output and the LVVE can be provided with invalid

-    parameters for modules. The sub module functions are not executed in this

-    scenario. Their combined functionality is summarized in follwoing table. <br>

-    <div align="center"> <table cellspacing="1" cellpadding="4" border="3">

-    <caption>LVVE Tx operating mode in combination with LVVE microphone routing

-    mode</caption> <tr> <th></th> <th colspan="2">MICROUTING_MODE_DEFAULT</th> <th

-    colspan="2">MICROUTING_MODE_SWAPPED</th> </tr> <tr> <th width="70"></th> <th

-    width="70">Process</th> <th width="70">Output</th> <th width="70">Process</th>

-    <th width="70">Output</th> </tr> <tr align="left"> <td>LVVE_TX_MODE_OFF</td>

-    <td>None</td> <td>Tx input 0</td> <td>None</td> <td>Tx input 1</td> </tr> <tr

-    align="left"> <td>LVVE_TX_MODE_ON</td> <td>Tx input 0</td> <td>Tx output</td>

-    <td>Tx input 1</td> <td>Tx output</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_MIC0</td> <td>Tx input 0</td> <td>Tx input 0</td>

-    <td>Tx input 1</td> <td>Tx input 1</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_MIC1</td> <td>Tx input 0</td> <td>Tx input 1</td>

-    <td>Tx input 1</td> <td>Tx input 0</td> </tr> <tr align="left">

-    <td>LVVE_TX_MODE_BYPASS_REF</td> <td>Tx input 0</td> <td>Tx ref input</td>

-    <td>Tx input 1</td> <td>Tx ref input</td> </tr> </table> </div>

-    */

-    LVVE_Tx_Mode_en OperatingMode;          ///< TX Operating mode

-

-    /**

-    This param can mute unmute the Rx/Tx engine output.

-    */

-    LVM_Mode_en Mute;          ///< This param can mute unmute the Rx/Tx engine output

-

-    /**

-    Set Bulk Delay operating mode on/off.

-    */

-    LVM_Mode_en BD_OperatingMode;          ///< Set Bulk Delay operating mode on/off

-

-    /**

-    This parameter compensates for the fixed delay in the echo path and can be

-    measured in advance. This delay is caused by the audio I/O buffering, AD/DA

-    converter and propagation time between the loudspeaker and microphone. The unit

-    of 'BulkDelay' is [number of samples] at the respective sampling rate.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_TX_BULKDELAY_MIN (0)</td>

-        <td>@ref LVVE_TX_BULKDELAY_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_BULKDELAY_MAX (6400)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 BulkDelay;          ///< Sets Bulk Delay

-

-    /**

-    This param sets the gain for the Echo reference signal. Value 8192 belong to

-    0dB

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>2.13</td>

-        <td>@ref LVVE_TX_BD_GAIN_MIN (0)</td>

-        <td>@ref LVVE_TX_BD_GAIN_DEFAULT (8192)</td>

-        <td>@ref LVVE_TX_BD_GAIN_MAX (32767)</td>

-    </tr>

-    </table> */

-    LVM_INT16 BD_Gain;          ///< Apply Gain to Echo reference signal

-

-    /**

-    Turns on/off VOL_Gain.

-    */

-    LVM_Mode_en VOL_OperatingMode;          ///< Turns on/off VOL_Gain

-

-    /**

-    The volume control gain can be used to set the overall volume level of the

-    signal. The gain is set in dB with steps of 1dB.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>15.0</td>

-        <td>@ref LVVE_TX_VOL_GAIN_MIN (-96)</td>

-        <td>@ref LVVE_TX_VOL_GAIN_DEFAULT (0)</td>

-        <td>@ref LVVE_TX_VOL_GAIN_MAX (24)</td>

-    </tr>

-    </table> */

-    LVM_INT16 VOL_Gain;          ///< Apply Gain to Input signal

-

-    /**

-    Turns on/off High Pass filter.

-    */

-    LVM_Mode_en HPF_OperatingMode;          ///< Turns on/off High Pass filter

-

-    /**

-    Sets the 3dB corner frequency of the high-pass filter. In case NoiseVoid is

-    enabled, the same high-pass filter will be applied to the second microphone

-    channel.

-    <table border>

-    <tr>

-        <td><b>Q-format</b></td>

-        <td><b>Min</b></td>

-        <td><b>Default</b></td>

-        <td><b>Max</b></td>

-    </tr>

-    <tr>

-        <td>16.0</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_MIN (50)</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_DEFAULT (50)</td>

-        <td>@ref LVVE_TX_MIC_HPF_CORNERFREQ_MAX (1500)</td>

-    </tr>

-    </table> */

-    LVM_UINT16 MIC_HPF_CornerFreq;          ///< High Pass Filter Corner Frequency in Hz

-

-    /**

-    HandsFree Control Parameter Strcuture.

-    */

-    LVHF_ControlParams_st HF_ControlParams;          ///< HandsFree Control Parameter Structure

-

-    /**

-    NoiseVoid Control Parameter Structure.

-    */

-    LVNV_ControlParams_st NV_ControlParams;          ///< NoiseVoid Control Parameter Structure

-

-    /**

-    Equalizer Operating mode.

-    */

-    LVM_Mode_en EQ_OperatingMode;          ///< Equalizer Operating mode

-

-    /**

-    Equalizer Control Parameter Structure.

-    */

-    LVEQ_ControlParams_st EQ_ControlParams;          ///< Equalizer Control Parameters Structure

-

-    /**

-    DRC Control Parameter Structure.

-    */

-    LVDRC_ControlParams_st DRC_ControlParams;          ///< DRC Control Parameter Structure

-

-} LVVE_Tx_ControlParams_st;

-

-//adb by xuxinqiang  20150519

-#define LVVE_MAX_EQ_LENGTH_NB                32           /* Maximum equaliser length for narrowband configuration */

-#define LVVE_MAX_EQ_LENGTH_WB                64           /* Maximum equaliser length for wideband configuration */

-/*[Begin] [lvwenhua-2013/10/21]*/

-typedef struct

-{

-    LVM_INT16                     EqCoefs[LVVE_MAX_EQ_LENGTH_NB];

-} LVEQ_Coefs_st;

-/*[End] [lvwenhua-2013/10/21]*/

-/*[Begin] [lvwenhua-2012/3/12]*/

-#define LVVC_VOLUME_NUM             12

-

-typedef struct

-{

-    LVM_INT16                   NoiseSensitivity[LVVC_VOLUME_NUM];

-} LVVC_NoiseSens_st;

-/*[End] [lvwenhua-2012/3/12]*/

-

-/*[Begin] [lvwenhua-2011/8/23]*/

-typedef struct

-{

-    LVVE_Tx_ControlParams_st    Tx_ControlParams;

-    LVVE_Rx_ControlParams_st    Rx_ControlParams;

-    LVEQ_Coefs_st TxEqCoefs;

-    LVEQ_Coefs_st RxEqCoefs;

-    /*[Begin] [lvwenhua-2012/3/12]*/

-    LVVC_NoiseSens_st RxVcNoiseSens;

-    /*[End] [lvwenhua-2012/3/12]*/

-} LVVE_ControlParams_st;

-typedef struct

-{

-    LVM_UINT32 isVpParamInNv;

-    LVVE_ControlParams_st    Handset_ControlParams;

-    LVVE_ControlParams_st    Handsfree_ControlParams;

-    LVVE_ControlParams_st    Headset_ControlParams;

-    LVVE_ControlParams_st    Bluetooth_ControlParams;

-} LVVE_ControlParams_All_st;

-/*[End] [lvwenhua-2011/8/23]*/

-

-

-

-#ifdef __cplusplus

-}

-#endif /* __cplusplus */

-

-#endif      /* __REL_LVVE_HF_NV1_VC_AGC_RX_DRC_RX_VIDPP_H__ */

-

-/* End of file */

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/PARAM_Default.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/PARAM_Default.h
deleted file mode 100755
index 0153e82..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/PARAM_Default.h
+++ /dev/null
@@ -1,178 +0,0 @@
-static LVM_CHAR LVVE_Tx_Preset_Buffer_Voice_Tool[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

-};

-static LVM_CHAR LVVE_Rx_Preset_Buffer_Voice_Tool []={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 

-0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 

-0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 

-0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 

-0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 

-0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 

-0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 

-0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 

-0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 

-0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 

-0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 

-0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 

-0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 

-0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 

-0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 

-0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 

-0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 

-0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 

-0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 

-0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 

-0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 

-0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 

-0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 

-0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 

-0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 

-0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 

-0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 

-0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 

-0x00, 0x32, 0x00, 0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 

-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0xE0, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x06, 0x05, 0x20, 0x4E, 0x00, 0x40, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x17, 0x2F, 

-0x5C, 0x7F, 0xB9, 0x7E, 0x82, 0x5A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 

-0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 

-0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 

-0x05, 0x00, 0xB0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xB0, 0xFF, 

-0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00

-};

-const static LVM_CHAR LVVE_Tx_Mute_File_Buffer[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xB5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xA0, 0xFF, 0xBA, 

-0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 0xFF, 0xF4, 0xFF, 0x00, 

-0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

-};

-const static LVM_CHAR LVVE_Tx_Wb_Mute_File_Buffer[] ={

-0x03, 0x00, 0x09, 0x18, 0x03, 0xD5, 0x07, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 

-0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x11, 0x00, 0x00, 0x00, 

-0x20, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 0x00, 0x40, 0x00, 0x00, 0x20, 0x80, 

-0x00, 0x01, 0x00, 0xFF, 0x02, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 

-0x00, 0x33, 0x63, 0x33, 0x73, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x5D, 0x18, 

-0x01, 0x00, 0x02, 0x00, 0x03, 0x79, 0x28, 0x00, 0x40, 0x96, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 

-0x00, 0x20, 0x4E, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0xA0, 0x41, 0x88, 0x13, 0x00, 0x00, 0x00, 

-0x00, 0xF7, 0x49, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x20, 0x00, 0x00, 

-0x20, 0xE8, 0x03, 0x18, 0x00, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x00, 0x08, 0x03, 0x96, 0x00, 0xFF, 

-0x7F, 0x9A, 0x19, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x10, 0x00, 0x8F, 0x02, 0x00, 0x04, 0x10, 0x00, 0x66, 0x06, 0x00, 0x01, 0x66, 

-0x06, 0x00, 0x40, 0x00, 0x20, 0xE0, 0x2E, 0x58, 0x1B, 0x00, 0x01, 0xCE, 0x2C, 0x00, 0x40, 0x84, 

-0x2B, 0x9A, 0x19, 0x66, 0x26, 0x00, 0x01, 0x00, 0x30, 0x00, 0x24, 0x40, 0x01, 0xE6, 0x00, 0x65, 

-0x66, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x80, 0x00, 0xFD, 0x1F, 0xB0, 0x63, 0xAD, 

-0x7F, 0x9D, 0x5A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 

-0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xCE, 0xFF, 0xE8, 0xFF, 0x00, 0x00, 0xA0, 0xFF, 0xBA, 0xFF, 0xDA, 

-0xFF, 0xF4, 0xFF, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 

-};

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/audio_process.a b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/audio_process.a
deleted file mode 100755
index 449febf..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/audio_process.a
+++ /dev/null
Binary files differ
diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/nxp_DrvNvData.h b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/nxp_DrvNvData.h
deleted file mode 100755
index ce95a87..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/nxp/uclinux/nxp_DrvNvData.h
+++ /dev/null
@@ -1,10 +0,0 @@
-//6 level volume

-//#define LVWM_TX_FILE_SIZE    463     //×Ö½ÚÊý

-//#define LVWM_RX_FILE_SIZE     1866

-//uc actual size

-//#define LVWM_TX_FILE_SIZE    379     //×Ö½ÚÊý

-//#define LVWM_RX_FILE_SIZE    1482

-

-

-

-//const static LVM_CHAR LVVE_Param_Test[] ={};

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/tdm/hal_tdm.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/tdm/hal_tdm.c
index 50e28da..322aea4 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/tdm/hal_tdm.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/tdm/hal_tdm.c
@@ -54,7 +54,6 @@
 #define TDM_DRIVER_VERSION          1

 

 //#define ARM_TDM_LOOP_SET	*((volatile unsigned int *)(ZX_SOC_SYS_BASE + 0x60))

-#define ARM_TDM_LOOP_CFG	*((volatile UINT32 *)(SOC_SYS_REG_BASE+0x60))

 

 /* version register */

 #define TDM_VERSION     				0x0104	/*TDM Version V1.4*/

@@ -2416,12 +2415,7 @@
 	memset(temp, 0, sizeof(temp));

 	tdmDmaState[TDM_RX].channel = DMA_CH_TDM_RX0;

 	tdmDmaState[TDM_RX].ch = dma_request_channel(mask, zx29_dma_filter_fn, (void*)(tdmDmaState[TDM_RX].channel));

-	if(!tdmDmaState[TDM_RX].ch){

-		

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"%s: dma_request_channel fail,  dma_id(%d).\n",__func__,tdmDmaState[TDM_RX].channel);

-		return DRV_ERR_BUSY;

-

-	}	

+	

 	for (i = 0; i < TDM_OUT_BUF_NUM; i++) {

 		temp[i].dest_addr 	= tdmDmaState[TDM_RX].dma_phyaddr  + (tdmStream->rxLen) * i;

 		temp[i].src_addr	= ZX29_TDM_PHYS + 0x24;

@@ -2490,12 +2484,6 @@
 	memset(temp, 0, sizeof(temp));

 	tdmDmaState[TDM_TX].channel = DMA_CH_TDM_TX0;	

 	tdmDmaState[TDM_TX].ch = dma_request_channel(mask, zx29_dma_filter_fn, (void*)(tdmDmaState[TDM_TX].channel));

-	if(!tdmDmaState[TDM_TX].ch){

-		

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"%s: dma_request_channel fail,  dma_id(%d).\n",__func__,tdmDmaState[TDM_TX].channel);

-		return DRV_ERR_BUSY;

-

-	}

 	

 	for (i = 0; i < TDM_OUT_BUF_NUM; i++) {

 		temp[i].src_addr 	= tdmDmaState[TDM_TX].dma_phyaddr + (txStream->txLen) * i;

@@ -2852,7 +2840,6 @@
 	SINT32 ret = DRV_SUCCESS;

 

 	ret = tdm_Reset();

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvTDM_Reset , ret=%d",ret);

 	

 	return ret;

 }

@@ -3764,21 +3751,6 @@
 

 VOID vp_SetTopTdmConfig(VOID)

 {

-    UINT32 AmrRegBit = 0;

-

-	/* inter loop */

-	AmrRegBit = ARM_TDM_LOOP_CFG;

-	

-	AmrRegBit &= 0xfffffe07;

-	AmrRegBit |= 0x000000a8; /* 0x000000a8 loop dsp afe(loop i2s1)--arm i2s2(loop i2s2) 0x00000150 loop dsp arm(loop i2s1)--afe i2s2(loop i2s2)*/

-

-	ARM_TDM_LOOP_CFG = AmrRegBit;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_SetTopTDMConfig ARM_TDM_LOOP_CFG=0x%x\n", ARM_TDM_LOOP_CFG);

-	

-

-

-

 #if 0

     UINT32 AmrRegBit = 0;

 	int ret = 0;

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voicebuffer.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voicebuffer.c
deleted file mode 100755
index 8d0e5f7..0000000
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voicebuffer.c
+++ /dev/null
@@ -1,1065 +0,0 @@
-/*******************************************************************************

- * Copyright (C) 2007, ZTE Corporation.

- *

- * File Name:hal_voicebuffer.c

- * File Mark:

- * Description: voice buffer function.

- * Others:

- * Version:

- * Author:        xxq

- * Date:          2024-07-03

- * History 1:

- *     Date: 

- *     Version:

- *     Author:

- *     Modification: edit for union version

- * History 2:

-  ********************************************************************************/

-

-/****************************************************************************

-* 	                                           Include files

-****************************************************************************/

-#include "drvs_general.h"

-#include "drvs_volte.h"

-#include "drvs_i2s.h"

-#include "drvs_voiceprocess.h"

-#include "hal_voiceprocess.h"

-#include "drvs_voice_config.h"

-//#include "hal_pcmmixer.h"

-#include "NvParam_drv.h"

-#include "drvs_io_voice.h"

-#include "hal_ringdata.h"

-#include "drvs_tdm.h"

-#include "hal_dtmf_detect.h"

-#include "hal_audio_data.h"

-//#define TEST_WHITE_NOISE

-

-//#define  VB_DATA_LOSS_TEST

-#ifdef TEST_WHITE_NOISE

-#include "Fs8000_WhiteNoise_Mon.h"

-//#include "Fs8000_Sine_440Hz_Mon.h"

-#endif

-

-#include "drvs_icp.h"

-#include "drvs_rpmsg.h"

-//#include <linux/completion.h>

-#include "hal_voicebuffer.h"

-

-/****************************************************************************

-* 	                                           Local Macros

-****************************************************************************/

-//#define USE_AUDIO_RING

-//#define VP_GET_TX_ALL_DATA

-

-

-/****************************************************************************

-* 	                                           Local Types

-****************************************************************************/

-

-

-/****************************************************************************

-* 	                                           Local Constants

-****************************************************************************/

-static SINT32 vp_Get_Add_RpMsg_Vbuffer(VOID);

-

-/****************************************************************************

-* 	                                           Local Function Prototypes

-****************************************************************************/

-

-/****************************************************************************

-* 	                                          Global Constants

-****************************************************************************/

-

-

-/****************************************************************************

-* 	                                          Global Variables

-****************************************************************************/

-//static T_zDrvVp_SpeechState *s_pSpeechState = NULL;

-extern T_zDrvVp_SpeechState s_speechState;  //104 bytes

-extern T_zDrvVoice_GbVar g_voiceVar;

-extern T_zDrvVp_State s_vpState;

-

-

-#ifdef ECALL_SUPPORT

-extern int eWrErr;

-extern UINT8 e_reg_flag;

-

-#endif

-

-//for test whiteNoise

-#ifdef TEST_WHITE_NOISE

-extern UINT32 tempCount;

-extern UINT8 *pVoiceTempBuf;

-#endif

-

-

-extern T_ZDrv_VpInOutBuffer vpInOutBuffer;

-

-extern T_HalMixerToneInfo mixerToneInfo;

-

-static int vbuffer_init_flag = 0;

-

-/****************************************************************************

-* 	                                          Global Function Prototypes

-****************************************************************************/

-//aduvoice config code

-

-

-

-

-

-

-extern SINT32 voice_ToneMixerData(UINT8 *pvdata, UINT32 size, UINT8 *pmixdata);//xiu gai chu sheng ming

-extern SINT32 zDrvI2S_Read_Start(T_ZDrvI2S_Id tId, T_ZDrvI2s_Params *params, T_ZDrvI2S_Cfg *ptCfg);//xiu gai chu sheng ming

-extern SINT32 zDrvI2S_Write_Start(T_ZDrvI2S_Id tId, T_ZDrvI2s_Params *params, T_ZDrvI2S_Cfg *ptCfg);//xiu gai chu sheng ming

-

-

-

-/****************************************************************************

-* 	                                          Function Definitions

-****************************************************************************/

-ZOSS_TIMER_ID s_voiceTimerId ;

-ZOSS_SEMAPHORE_ID s_voiceRdSema;

-ZOSS_SEMAPHORE_ID s_voiceWrSema;

-

-//#ifdef CONFIG_VOICE_BUFFER_DRV  

-//#ifdef _VBUFF_IN_MULTI_CORE

-//voice buffer use in multi core 

-//#define RPMSG_CAP_ID 1

-

-

-

-int timer_cb_count = 0;

-int first_full_flag = 0;

-int first_empty_flag = 0;

-

-int vb_read_count = 0;

-int vb_write_count = 0;

-

-

-

-struct voice_ring_buffer *voice_buff[2] = {NULL,NULL};

-

-

-

-static bool voice_buff_is_full(int read_pos, int write_pos)

-{

-

-

-	if ((write_pos - read_pos) >= 20000000) {

-		write_pos = write_pos - 20000000;

-		//voice_buff[UP_LINK]->write_pos = write_pos;

-		voice_buff[DOWN_LINK]->write_pos = write_pos;

-	}

-	return ((write_pos - read_pos) == MAX_BUF_NUM);

-}

-static bool voice_buff_is_empty(int read_pos, int write_pos)

-{

-	

-	return (write_pos == read_pos);

-}

-static int voice_buffer_write( char *buf, int count)

-{

-	int read_pos, write_pos;	

-

-

-	read_pos = voice_buff[DOWN_LINK]->read_pos;

-	write_pos = voice_buff[DOWN_LINK]->write_pos;	

-	if(vb_write_count == 0){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"%s: first read_pos=%d write_pos=%d \n",__FUNCTION__,read_pos,write_pos);

-	}

-

-	

-	if(voice_buff_is_full(read_pos, write_pos)){

-		//zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice_buffer_read readbuffer is full \n");

-   		 first_full_flag++;

-		VB_INT_OVERFLOW(first_full_flag);

-		if(first_full_flag == 1)

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: writebuffer is full  read_pos %d,write_pos %d,vb_write_count %d,count %d\n",__FUNCTION__,read_pos,write_pos,vb_write_count,count);

-		return DRV_ERROR_FULL;

-	}

-	else {

-		vb_write_count++;	

-		

-		VB_INT_OVERFLOW(vb_write_count);

-		first_full_flag = 0;

-		zOss_Memcpy(&(voice_buff[DOWN_LINK]->data[(write_pos%MAX_BUF_NUM)*MAX_BUF_SIZE]), buf, count);

-	

-		write_pos++;

-

-		voice_buff[DOWN_LINK]->write_pos = write_pos;

-

-	}

-	

-	return DRV_SUCCESS;

-}

-static int voice_buffer_read(char *buf, size_t count)

-{

-	int read_pos, write_pos;

-	int* buf_int;

-	int i;

-	

-	read_pos = voice_buff[UP_LINK]->read_pos;

-	write_pos = voice_buff[UP_LINK]->write_pos;

-	if(vb_read_count == 0){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"%s: first read_pos=%d write_pos=%d \n",__FUNCTION__,read_pos,write_pos);

-	}

-

-	if ((count > 0) && (count <= MAX_BUF_SIZE))  {

-		if(voice_buff_is_empty(read_pos, write_pos)){

-			first_empty_flag++;

-			VB_INT_OVERFLOW(first_empty_flag);

-			if(first_empty_flag ==1)

-				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"%s: readbuffer is empty,read_pos %d,write_pos %d,vb_read_count %d,count %d\n",__FUNCTION__,read_pos,write_pos,vb_read_count,count);

-			//add memset,del return . edit for  far end hear near end repreat voice pcm, FROM MBB TEST

-			

-		#ifndef  VB_DATA_LOSS_TEST

-			zOss_Memset(&(voice_buff[UP_LINK]->data[(read_pos%MAX_BUF_NUM)*MAX_BUF_SIZE]),0, count);

-			zOss_Memset(buf,0, count);

-		#endif			

-			//return DRV_ERROR_EMPTY;

-			

-

-		}

-		else {

-			

-		    vb_read_count++; 			

-			VB_INT_OVERFLOW(vb_read_count);		

-			first_empty_flag = 0;

-			

-			zOss_Memcpy(buf, &(voice_buff[UP_LINK]->data[(read_pos%MAX_BUF_NUM)*MAX_BUF_SIZE]), count);

-			//zOss_Memset(&(voice_buff[UP_LINK]->data[(read_pos%MAX_BUF_NUM)*MAX_BUF_SIZE]),0, count);

-

-#ifdef VB_DATA_LOSS_TEST

-

-			

-			if(vb_read_count < 5){

-				pr_info("ps :count=%d vb_read_count=%d,read_pos=%d,write_pos=%d\n",count,vb_read_count,read_pos,write_pos);

-

-			

-				buf_int =( int*) &voice_buff[UP_LINK]->data[(write_pos%MAX_BUF_NUM)*MAX_BUF_SIZE];

-				

-				for(i=0;i<(count/4);i++){

-				   //*(buf_int+i) = i;

-				   //buf_int[i] = i;

-				 if(i>0x1f)  

-					zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,"ps: *(buf_int+%d)=%d\n",i,*(buf_int+i));

-				}

-			

-			}

-#endif

-			read_pos++;

-			if(read_pos == 20000000)

-				read_pos = 0;

-			voice_buff[UP_LINK]->read_pos = read_pos;

-		}

-

-

-	}

-		

-	

-	return DRV_SUCCESS;

-}

-

-

-//voice buffer use in single core 

-extern int voicebuffer_ulqueue_read(void *buf, unsigned int size);

-extern int voicebuffer_dlqueue_write(void  *buf, unsigned int  size);

-extern void voice_inform_to_app(void);

-//static DECLARE_COMPLETION(s_voice_completion);

-//ZOSS_TIMER_ID s_voiceTimerId ;

-//ZOSS_SEMAPHORE_ID s_voiceRdSema;

-//ZOSS_SEMAPHORE_ID s_voiceWrSema;

-static void voiceTimerCallBack(SINT32 para)

-{

-

-

-	if (g_voiceVar.voiceBufferType == 1)//multi core

-	{	

-

-

-		T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

-		

-		UINT8 s = 1;

-		icp_pMsg.actorID = RPMSG_CAP_ID;

-

-		icp_pMsg.chID = channel_41;

-		icp_pMsg.flag |= RPMSG_WRITE_INT;

-		icp_pMsg.buf = (void *)&s;

-		icp_pMsg.len = 1;

-

-

-		zOss_PutSemaphore(s_voiceWrSema);

-		zOss_PutSemaphore(s_voiceRdSema);

-		//zDrvRpMsg_Write(&icp_pMsg); 

-#ifdef _USE_VEHICLE_DC	

-		zDrvRpMsg_Write_Cap(&icp_pMsg);

-#endif

-		timer_cb_count++;

-		VB_INT_OVERFLOW(timer_cb_count);

-#ifdef VB_DATA_LOSS_TEST

-

-		if((timer_cb_count%1000 ) == 0){

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s:timer_cb_count(%d)\n",__FUNCTION__,timer_cb_count);

-			if(timer_cb_count> 10000000) 

-				timer_cb_count=0;

-		}

-

-#endif

-	

-

-	}

-	else{

-

-

-

-	//	complete_all(&s_voice_completion);

-		zOss_PutSemaphore(s_voiceWrSema);

-		zOss_PutSemaphore(s_voiceRdSema);

-		voice_inform_to_app();

-	//	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voiceTimerCallBack timer=%u\n", cpu_clock(0)>>10);

-	}

-

-

-}

-

-

-

-

-

-static SINT32 vp_rxsem_count_Init(void)

-{

-	UINT32 i = 0;

-	UINT32 semCount = 0;

-	SINT32 Count = 0;

-

-	semCount = zOss_GetSemaphoreCount(s_voiceRdSema);

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_rxsem_count_Init rxSem count=%d\n",  semCount);

-

-	Count = semCount;

-	if(Count > 0)  {

-		for(i = 0; i < Count; i++) {

-			zOss_GetSemaphore(s_voiceRdSema, ZOSS_NO_WAIT);

-		}

-	}

-

-	return DRV_SUCCESS;

-}

-

-static SINT32 vp_txsem_count_Init(void)

-{

-	UINT32 i = 0;

-	UINT32 semCount = 0;

-	SINT32 Count = 0;

-

-	semCount = zOss_GetSemaphoreCount(s_voiceWrSema);

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_txsem_count_Init txSem count=%d \n",  semCount);

-

-	Count = 3 - semCount;

-	if(Count > 0) {

-		for(i = 0; i < Count; i++) {

-			zOss_PutSemaphore(s_voiceWrSema);

-		}

-	} else if(Count < 0) {

-		Count = 0 - Count;

-		for(i = 0; i < Count; i++) {

-			zOss_GetSemaphore(s_voiceWrSema, ZOSS_NO_WAIT);

-		}

-	}

-	

-	return DRV_SUCCESS;

-}

-

-

-

-

-

-SINT32 vp_Open_Vbuffer(void)

-{

-	SINT32 ret = DRV_SUCCESS;

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s:  start \n", __func__);

-	if (g_voiceVar.voiceBufferType == 1)//multi core

-	{

- 		vp_Get_Add_RpMsg_Vbuffer();	

-		

-		vp_rxsem_count_Init();

-		vp_txsem_count_Init();

-		voice_buff[UP_LINK]->read_pos = 0;

-		voice_buff[UP_LINK]->write_pos = 0; 

-		voice_buff[DOWN_LINK]->read_pos = 0;

-		voice_buff[DOWN_LINK]->write_pos = 0; 

-		zOss_Memset(&(voice_buff[DOWN_LINK]->data[0]),0, MAX_BUF_NUM*MAX_BUF_SIZE);

-		zOss_Memset(&(voice_buff[UP_LINK]->data[0]),0, MAX_BUF_NUM*MAX_BUF_SIZE);

-		//for debug

-		timer_cb_count = 0;

-		first_full_flag = 0;

-		first_empty_flag = 0;

-

-		vb_read_count = 0;

-		vb_write_count = 0;	

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_Open_Vbuffer  init voice buffer val!\n");

-

-		

-	}else{

-

-	//	INIT_COMPLETION(s_voice_copletion);

-		vp_rxsem_count_Init();

-		vp_txsem_count_Init();

-	}

-

-	return DRV_SUCCESS;

-

-}

-

-

-SINT32 vp_Close_Vbuffer(void)

-{

-	SINT32 ret = DRV_SUCCESS;

-    

-	if (g_voiceVar.voiceBufferType == 1)//multi core

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: timer_cb_count %d,first_full_flag %d,first_empty_flag %d,vb_read_count %d,vb_write_count %d!\n",__FUNCTION__,timer_cb_count,first_full_flag,first_empty_flag,vb_read_count,vb_write_count);

-	}

-

-	return DRV_SUCCESS;

-}

-

-SINT32 vp_VoiceI2sStart_Vbuffer(VOID)

-{

-	SINT32 ret = DRV_SUCCESS;

-

-	UINT8 *read_buf = NULL;

-	UINT8 *write_buf = NULL;

-	UINT32 read_len = 0;

-	UINT32 write_len = 0;

-

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: start.\n",__func__);

-

-

-	ret = zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer failed ret is %d .\n", ret);

-		return DRV_ERROR;

-	}

-

-	zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

-

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer VB zOss_StartTimer\n");

-

-	ret = zDrvI2S_Write_Start(I2S_2, &s_speechState.i2sWriteParam, s_vpState.pVpInnerI2sCfg);

-

-	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer error7:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-		return DRV_ERROR;

-	}

-	zOss_Memset(write_buf, 0, write_len);

-	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer error12:zDrvI2S_Write I2S_2 ret=%d", ret);

-	}

-	

-	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer error13:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-		return DRV_ERROR;

-	}

-	zOss_Memset(write_buf, 0, write_len);

-	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart_Vbuffer error14:zDrvI2S_Write I2S_2 ret=%d", ret);

-	}

-    

-	if (g_voiceVar.voiceBufferType == 1)//multi core

-	{

-

-		voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-

-	}else{

-		voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: end.\n",__func__);

-	return ret;

-}

-VOID vp_VoiceI2sStop_Vbuffer(VOID)

-{

-	SINT32 ret = DRV_SUCCESS;

-    return ret;

-}

-

-

-

-SINT32 zDrvVp_VoiceWorkStop_Vbuffer(VOID)

-{

-	SINT32  ret = DRV_SUCCESS;

-

-	//complete_all(&s_voice_completion);

-	zOss_PutSemaphore(s_voiceRdSema);

-	zOss_PutSemaphore(s_voiceWrSema);

-	zOss_StopTimer(s_voiceTimerId);

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: zOss_StopTimer\n",__func__);

-

-

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: success",__func__);

-	return DRV_SUCCESS;

-}

-

-

-SINT32 vp_VolteReadStart_Vbuffer(VOID)

-{

-	SINT32 ret = DRV_SUCCESS;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteReadStart_Vbuffer start\n");

-    

-	zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteReadStart_Vbuffer zOss_StartTimer start\n");

-

-	return DRV_SUCCESS;

-}

-//whole replace 

-SINT32 vp_VolteReadStop_Vbuffer(VOID)

-{

-	SINT32  ret = DRV_SUCCESS;

-

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		zOss_PutSemaphore(s_voiceRdSema);

-	

-	}

-	else

-	{

-

-#ifdef  CONFIG_VOICE_BUFFER_DRV  

-		zOss_PutSemaphore(s_voiceRdSema);

-#else

-

-		//zDrvI2s_RxRlsSemaBeforeStop(I2S_1);

-		zDrvExtAudio_RxRlsSemaBeforeStop();

-

-#if 0//move to close lvwenhua 20150910

-		ret = zDrvExtAudio_Read_Stop();

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvVolte_ReadStop I2S1 Stop wrong  ret=%d", ret);

-		}

-#endif

-#endif

-

-	}

-

-	if (s_speechState.volteVpCfgEnFlag == 1)

-	{

-		ret = halVpCfg_Disable();

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: halVpCfg_Enable err ret=%x !\n",__func__, ret);

-		}

-		else

-		{

-			s_speechState.volteVpCfgEnFlag = 0;

-		}

-	}

-

-	s_speechState.volteVpReadStopFlag = 1;//together control vp s_speechState

-	if ((s_speechState.volteVpWriteStopFlag == 1) && (s_speechState.volteVpReadStopFlag == 1))

-	{

-		g_voiceVar.vpI2sStatus = VP_I2S_OPEN;

-		

-		if (g_voiceVar.useVoiceBuffer == 1)

-		{

-			zOss_StopTimer(s_voiceTimerId);

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: zOss_StopTimer\n",__func__);

-		

-		}

-		else

-		{

-#ifdef  CONFIG_VOICE_BUFFER_DRV  	

-			zOss_StopTimer(s_voiceTimerId);

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteReadStop_Vbuffer zOss_StopTimer\n");

-#endif

-	}

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: end\n",__func__);

-	return ret;

-}

-

-SINT32 vp_VolteWriteStart_Vbuffer(VOID)

-{

-	SINT32 ret = DRV_SUCCESS;

-

-	//???? for check

-	if (g_voiceVar.voiceBufferType == 1)//multi core

-	{

-		voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	else

-	{

-		voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,  "%s:end \n",__func__);

-

-	return ret;

-}

-//whole replace

-SINT32 vp_VolteWriteStop_Vbuffer(VOID)

-{

-	SINT32  ret = DRV_SUCCESS;

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		zOss_PutSemaphore(s_voiceWrSema);

-	

-	}

-	else

-	{

-

-#ifdef  CONFIG_VOICE_BUFFER_DRV  

-		//complete_all(&s_voice_completion);

-		zOss_PutSemaphore(s_voiceWrSema);

-#else

-		//zDrvI2s_TxRlsSemaBeforeStop(I2S_1);

-		zDrvExtAudio_TxRlsSemaBeforeStop();

-#endif

-	}

-#if 0//move to close lvwenhua 20150910

-	//wait for write drain semaphore

-#ifdef VOICE_TONE_MIXER_FUNCTION

-	voice_ToneMixerStop();

-#endif

-

-	ret = zDrvExtAudio_Write_Stop();

-	if (ret != DRV_SUCCESS)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvVolte_WriteStop I2S1 Stop wrong  ret=%d", ret);

-	}

-

-	//s_VolteWriteSema = 0;

-#endif

-

-	if (s_speechState.volteVpCfgEnFlag == 1)

-	{

-		ret = halVpCfg_Disable();

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStop_Vbuffer halVpCfg_Enable err ret=%x !\n", ret);

-		}

-		else

-		{

-			s_speechState.volteVpCfgEnFlag = 0;

-		}

-	}

-

-	s_speechState.volteVpWriteStopFlag = 1;//together control vp s_speechState

-	if ((s_speechState.volteVpWriteStopFlag == 1) && (s_speechState.volteVpReadStopFlag == 1))

-	{

-		g_voiceVar.vpI2sStatus = VP_I2S_OPEN;

-		

-		if (g_voiceVar.useVoiceBuffer == 1)

-		{

-

-			zOss_StopTimer(s_voiceTimerId);

-				

-		}

-		else

-		{

-			

-#ifdef  CONFIG_VOICE_BUFFER_DRV 

-			zOss_StopTimer(s_voiceTimerId);

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStop_Vbuffer zOss_StopTimer\n");

-#endif

-		}

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStop_Vbuffer \n");

-	return ret;

-}

-

-

-/*******************************************************************************

- * For union version

- * Others:

- ********************************************************************************/

-SINT32 vp_WriteDataToCodec_Vbuffer(UINT8 *pBuf, UINT32 count)

-{

-	SINT32  ret = DRV_SUCCESS;

-	SINT32  e_ret = DRV_SUCCESS;	

-	UINT8 *write_buf = NULL;

-	UINT32 write_len = 0;

-	UINT8 *e_write_buf = NULL;

-	UINT32 e_write_len = 0;

-	UINT32 i = 0, j = 0;

-#ifdef TEST_WHITE_NOISE

-	// UINT32 tempCount = 0;

-	//zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "test the white noise");

-	//UINT8 *pVoiceTempBuf = s_voiceTempBuffer;

-#endif

-

-

-

-	if (pBuf == NULL)

-	{

-		return DRV_ERR_INVALID_PARAM;

-	}

-

-	if (count != s_speechState.i2sWriteParam.buffersize)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_WriteDataToCodec_Vbuffer write data length err,count=%d,writebuffersize=%d \n", count, s_speechState.i2sWriteParam.buffersize);

-		return DRV_ERR_INVALID_PARAM;

-	}

-	#ifdef ECALL_SUPPORT	

-

-	if(e_reg_flag == 1)

-	{		

-		e_ret = update_ecall_state(DIR_RX); 

-		if (e_ret == DRV_ERR_NOT_SUPPORTED)

-		{

-			zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "vp_WriteDataToCodec_Vbuffer get__ecall_state fun not register or invalid para,e_ret=%d !\n",e_ret);

-	

-		}	

-	}	

-	#endif

-

-

-

-	#ifdef TEST_WHITE_NOISE

-

-	zOss_Memcpy(s_speechState.pVpTempRxInBuffer, pVoiceTempBuf, s_speechState.totalFrameBufSize);

-

-	pVoiceTempBuf += s_speechState.totalFrameBufSize;

-	tempCount += s_speechState.totalFrameBufSize;

-	if (tempCount >= 0x4df80)   //307200

-		//if(tempCount >= 0x4e200)   //320000

-	{

-		pVoiceTempBuf = s_voiceTempBuffer;

-		tempCount = 0;

-	}

-	#endif

-

-	#ifdef VOICE_TONE_MIXER_FUNCTION

-

-	if (mixerToneInfo.StartMixer == TRUE) 

-	{

-		//voice_ToneMixerData( s_speechState.pVpTempRxInBuffer);

-		if ((g_voiceVar.voiceInVolteMode == 1) && (g_voiceVar.volteIsWb == 1)) 

-		{

-			voice_ToneMixerData(s_speechState.pVpTempRxInBuffer, 640,  s_speechState.pVpTempRxInBuffer);

-		} 

-		else 

-		{

-			voice_ToneMixerData(s_speechState.pVpTempRxInBuffer, 320,  s_speechState.pVpTempRxInBuffer);

-		}

-

-	}

-

-	#endif

-	if (pBuf !=  s_speechState.pVpTempRxInBuffer)

-	{

-		zOss_Memcpy(s_speechState.pVpTempRxInBuffer, pBuf, s_speechState.totalFrameBufSize);

-	}

-    

-	if (g_voiceVar.vProcIsNormal == TRUE)

-	{

-		VoiceProc_RxProcess(& s_speechState.pVpTempRxInBuffer, & s_speechState.pVpTempRxOutPutBuffer, s_speechState.frameCount);

-	}

-	else

-	{

-		zOss_Memcpy((VOID *)(s_speechState.pVpTempRxOutPutBuffer), (VOID *) s_speechState.pVpTempRxInBuffer, s_speechState.totalFrameBufSize);

-	}

-	//wait_for_completion_timeout(&s_voice_completion, 60);

-	zOss_GetSemaphore(s_voiceWrSema,  60);

-	//#ifdef _VBUFF_IN_MULTI_CORE

-	if (g_voiceVar.voiceBufferType == 1)

-	{

-		voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	else

-	{			

-		voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	if (g_voiceVar.voiceInVolteMode == 1)

-	{

-		s_speechState.rxSaveLen += s_speechState.totalFrameBufSize;

-		if (s_speechState.rxSaveLen >= s_speechState.inOutBufUseSize)

-		{

-			s_speechState.rxSaveLen = 0;

-		}

-		s_speechState.pVpTempRxInBuffer = s_vpState.pVpRxInBuffer + s_speechState.rxSaveLen;

-		#ifdef _USE_VP_OUTPUT_RXOUT_DATA

-        s_speechState.pVpTempRxOutPutBuffer = s_vpState.pVpRxOutPutBuffer + s_speechState.rxSaveLen;

-		#else

-		s_speechState.pVpTempRxOutPutBuffer = s_vpState.pVpRxOutPutBuffer;

-		#endif

-	}

-

-	

-	if (s_speechState.firstWriteDataFlag == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_WriteDataToCodec_Vbuffer first write ret=%d,tick=%d.\n", ret, zOss_GetTickCount());

-		s_speechState.firstWriteDataFlag = TRUE;

-	}

-

-	return ret;

-}

-

-

-

-SINT32 vp_ReadDataFromCodec_Vbuffer(UINT8 *pBuf, UINT32 count)

-{

-	SINT32  ret = DRV_SUCCESS;

-	UINT8 *read_buf = NULL;

-	UINT32 read_len = 0;

-

-	UINT32 i = 0, j = 0;

-#ifdef CONFIG_ARCH_ZX297520V3_CPE_SWITCH

-	UINT8 temp8bit = 0;

-	UINT8 *ptemp8bit = NULL;

-#endif

-

-	if (pBuf == NULL)

-	{

-		return DRV_ERR_INVALID_PARAM;

-	}

-

-	if (count != s_speechState.i2sReadParam.buffersize)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: read data length err,count=%d,readbuffersize=%d \n",__func__, count, s_speechState.i2sReadParam.buffersize);

-		return DRV_ERR_INVALID_PARAM;

-	}

-#ifdef ECALL_SUPPORT

-

-	if(e_reg_flag == 1)

-	{		

-		ret = update_ecall_state(DIR_TX); 

-		if (ret == DRV_ERR_NOT_SUPPORTED)

-		{

-			zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "vp_ReadDataFromCodecvp_ReadDataFromCodec get__ecall_state fun not register,ret=%d !\n",ret);

-	

-		}	

-	}	

-#endif

-	

-

-//	wait_for_completion_timeout(&s_voice_completion, 60);

-	zOss_GetSemaphore(s_voiceRdSema,  60);

-	if (g_voiceVar.voiceBufferType == 1)

-	{

-		voice_buffer_read(s_speechState.pVpTempTxInBuffer,  s_speechState.totalFrameBufSize);

-

-	}

-	else

-	{

-		voicebuffer_ulqueue_read(s_speechState.pVpTempTxInBuffer,  s_speechState.totalFrameBufSize);

-	}

-	if (g_voiceVar.vProcIsNormal == TRUE)

-	{

-		VoiceProc_TxProcess(&s_speechState.pVpTempTxInBuffer, NULL, &s_speechState.pVpTempTxOutPutBuffer, s_speechState.frameCount);	

-	}

-	else

-	{

-		zOss_Memcpy((VOID *)(s_speechState.pVpTempTxOutPutBuffer), (VOID *) s_speechState.pVpTempTxInBuffer, s_speechState.totalFrameBufSize);

-	}

-

-	if (pBuf !=  s_speechState.pVpTempTxOutPutBuffer)

-	{

-		zOss_Memcpy(pBuf, s_speechState.pVpTempTxOutPutBuffer, s_speechState.totalFrameBufSize);

-	}

-	

-	if (g_voiceVar.voiceInVolteMode == 1)

-	{

-		// s_speechState.txSaveLen += VP_FRAME_BUFFER_SIZE;

-		s_speechState.txSaveLen += s_speechState.totalFrameBufSize;

-		if (s_speechState.txSaveLen >= s_speechState.inOutBufUseSize)

-		{

-			s_speechState.txSaveLen = 0;

-		}

-		s_speechState.pVpTempTxInBuffer = s_vpState.pVpTxInBuffer + s_speechState.txSaveLen;

-		s_speechState.pVpTempTxOutPutBuffer = s_vpState.pVpTxOutPutBuffer + s_speechState.txSaveLen;

-	}

-	

-	

-	if (s_speechState.firstReadDataFlag == FALSE)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_ReadDataFromCodec first read tick=%d.\n", zOss_GetTickCount());

-		s_speechState.firstReadDataFlag = TRUE;

-	}

-

-	return ret;

-}

-

-

-

-

-SINT32 vp_CreateThreadSemaph_Vbuffer(VOID)

-{

-	SINT32 ret = 0;

-//#ifdef CONFIG_VOICE_BUFFER_DRV  	

-//	init_completion(&s_voice_completion);

-    /*

-	if(vbuffer_init_flag == 1){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vbuffer already init,return! \n");

-		return DRV_SUCCESS;

-

-	}

-	*/

-	s_voiceRdSema = zOss_CreateSemaphore("voice_rx_sem", 0);

-	if(NULL == s_voiceRdSema) {

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create voice_rx_sem err \n");

-		return DRV_ERROR;

-	}

-

-	s_voiceWrSema  = zOss_CreateSemaphore("voice_tx_sem", 0);

-	if(NULL == s_voiceWrSema) {

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create voice_tx_sem err \n");

-		return DRV_ERROR;

-	}

-

-	

- 

-	s_voiceTimerId	= zOss_CreateTimer("voice_frameTimer", voiceTimerCallBack, 0, TRUE);	 

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "s_voiceTimerId=%p\n", s_voiceTimerId);

-	if(!s_voiceTimerId)

-	{

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice_frameTimer  failed\n");

-		return DRV_ERROR;

-	}

-

-

-

-

-	//ret = zDrvRpMsg_CreateChannel(IPC_MSG_ACTOR_A9,channel_41,0x10);

-#ifdef _USE_VEHICLE_DC		

-	ret = zDrvRpMsg_CreateChannel_Cap(RPMSG_CAP_ID,channel_41,0x10);

-

-	if(DRV_SUCCESS != ret) {

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create rpmsg err(%d) \n",ret);

-		return DRV_ERROR;

-	}

-/*	

-	volatile T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

-	volatile unsigned int rpMsgBuf[2] = {0,0}; 

-	//printk( "vir_buf1:0x%x, vir_buf2:0x%x, phy_buf1:0x%x, phy_buf2:0x%x,\n",voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1]);

-	icp_pMsg.actorID = RPMSG_CAP_ID;

-	icp_pMsg.chID = channel_41;

-	icp_pMsg.flag &= ~RPMSG_READ_POLL;

-	icp_pMsg.buf = rpMsgBuf;

-	icp_pMsg.len = 8;

-

-	

-	ret = zDrvRpMsg_Read_Cap(&icp_pMsg);

-	if(ret <= 0){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

-		

-

-	}

-	else{

-		#if 0

-

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[0]);

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[1]);	

-		#else

-

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[0], (sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));	

-		#endif

-

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps rpmsg voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

-		,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

-			,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-	}

-*/	

-

-	

-#endif

-	//vbuffer_init_flag = 1;

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_CreateThreadSemaph success. \r\n");

-	return DRV_SUCCESS;

-}

-

-

-

-

-static SINT32 vp_Get_Add_RpMsg_Vbuffer(VOID)

-{

-	SINT32 ret = 0;

-//#ifdef CONFIG_VOICE_BUFFER_DRV  	

-//	init_completion(&s_voice_completion);

-    

-	if(vbuffer_init_flag == 1){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vbuffer already init,return! \n");

-		return DRV_SUCCESS;

-

-	}

-

-	//ret = zDrvRpMsg_CreateChannel(IPC_MSG_ACTOR_A9,channel_41,0x10);

-#ifdef _USE_VEHICLE_DC		

-

-	volatile T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

-	volatile unsigned int rpMsgBuf[2] = {0,0}; 

-	//printk( "vir_buf1:0x%x, vir_buf2:0x%x, phy_buf1:0x%x, phy_buf2:0x%x,\n",voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1]);

-	icp_pMsg.actorID = RPMSG_CAP_ID;

-	icp_pMsg.chID = channel_41;

-	icp_pMsg.flag &= ~RPMSG_READ_POLL;

-	icp_pMsg.buf = rpMsgBuf;

-	icp_pMsg.len = 8;

-

-	

-	ret = zDrvRpMsg_Read_Cap(&icp_pMsg);

-	if(ret <= 0){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

-		

-

-	}

-	else{

-		#if 0

-

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[0]);

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[1]);	

-		#else

-

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[0], (sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));	

-		#endif

-

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps rpmsg voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

-		,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

-			,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-

-		vbuffer_init_flag = 1;

-

-	}

-	

-

-	

-#endif

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: success. \r\n",__func__);

-	return DRV_SUCCESS;

-}

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

diff --git a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voiceprocess.c b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voiceprocess.c
index 3296dad..f34d0b7 100755
--- a/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voiceprocess.c
+++ b/Uboot/cp/ps/driver/src/chipsets/src/audio_base/voiceprocess/hal_voiceprocess.c
@@ -34,7 +34,9 @@
 #include "drvs_tdm.h"

 #include "hal_dtmf_detect.h"

 #include "hal_audio_data.h"

+//#define TEST_WHITE_NOISE

 

+//#define  VB_DATA_LOSS_TEST

 #ifdef TEST_WHITE_NOISE

 #include "Fs8000_WhiteNoise_Mon.h"

 //#include "Fs8000_Sine_440Hz_Mon.h"

@@ -43,19 +45,40 @@
 #include "drvs_icp.h"

 #include "drvs_rpmsg.h"

 //#include <linux/completion.h>

-

-#include "hal_voicebuffer.h"

-

 /****************************************************************************

 * 	                                           Local Macros

 ****************************************************************************/

 //#define USE_AUDIO_RING

 //#define VP_GET_TX_ALL_DATA

 

+#define VP_BUF_LENGTH  0x7FF80 //0xFFD80   //0x7FE40  //0x4df80// (0.5M  0x80000)

+#define VP_FRAME_BUFFER_SIZE 320 //20ms 800KHZ

+#define VP_I2S_BUFFER_SIZE 320

+#define VOICE_SYNC_TIMEOUT_TIME 100

+

+#define VP_INOUT_BAK_BUFFER_SIZE 0x30000  // 0x60000

+#define VP_INOUT_NOBAK_BUFSIZE  640

+#define VB_MAX_INT	     0x7fffffff

+#define VB_MIN_INT        0 //(0-2<<31)//0x80000000

+

+#define VB_INT_OVERFLOW(x) if((x < VB_MIN_INT)||(x > VB_MAX_INT))  x = 0;

 /****************************************************************************

 * 	                                           Local Types

 ****************************************************************************/

+	typedef enum

+	{

+		VBUF_SEM = 0,//voice buffer

+		ECALL_SEM,		

+		SEM_MAX

+	} T_Sem_Owner;

 

+	typedef enum

+	{

+		DIR_RX,

+		DIR_TX, 	

+		DIR_ALL,

+		DIR_MAX

+	} T_Data_Dir_Type;

 

 /****************************************************************************

 * 	                                           Local Constants

@@ -81,46 +104,7 @@
 * 	                                          Global Variables

 ****************************************************************************/

 //static T_zDrvVp_SpeechState *s_pSpeechState = NULL;

-#if 0

 static T_zDrvVp_SpeechState s_speechState = {0};  //104 bytes

-#else

-T_zDrvVp_SpeechState s_speechState = {

-		//use for vp data process

-	.pVpTempRxInBuffer = NULL,	

-	.pVpTempTxInBuffer = NULL,	

-	.pVpTempRxOutPutBuffer = NULL,	

-	.pVpTempTxOutPutBuffer = NULL,	

-		

-	.pVpI2sCfg = NULL,	

-		

-	.vpCfgParam = {0},

-		

-	.i2sWriteParam = {0},

-	.i2sReadParam = {0},

-		

-	.frameCount = 0,

-	.totalFrameBufSize = 0,

-	.inOutBufUseSize = 0,

-	.rxSaveLen = 0,

-	.txSaveLen = 0,

-	.saveLen = 0,

-		

-	.pcmSlotNum = 0,

-	.pcmWbSecDataPosition = 0,

-		

-	.volteVpWriteStopFlag = 0,

-	.volteVpReadStopFlag = 0,

-	. volteVpCfgEnFlag = 0,

-	.firstWriteDataFlag = FALSE,

-	.firstReadDataFlag = FALSE,

-	.i2sIsRstFlag = FALSE,

-

-};

-

-

-#endif

-

-#if 0

 

 T_zDrvVoice_GbVar g_voiceVar =

 {

@@ -154,104 +138,32 @@
 #endif

     0 //27 voice_nv_update

 };

-#else

-T_zDrvVoice_GbVar g_voiceVar =

-{

-	.volteIsWb = 0,					//volteIsWb

-	.isUseSlicCodec = 0,					//isUseSlicCodec

-	.g_isUseTdm = 0,					//g_isUseTdm

-	.voiceInGsmTdMode = 0,					//voiceInGsmTdMode

-	.voiceInVolteMode = 0,					//voiceInVolteMode

-	.innerI2sIsMaster = FALSE,				//innerI2sIsMaster

-	.innerI2sIsI2sMode = TRUE,				//innerI2sIsI2sMode

-	.vpLoopRuning = FALSE,				//vpLoopRunning

-	.muteEn = FALSE,				//muteEn

-	.vProcIsNormal = FALSE,				//vProcIsNormal

-	.vpI2sStatus = VP_I2S_IDLE,		//vpI2sStatus

-	.vpPath = VP_PATH_HANDSET,	//vpPath

-	.vpLoopPath = VP_PATH_HANDSET,	//vpLoopPath

-	.vpVol = VP_VOL_3,			//vpVol

-	.voiceMode = MAX_VOICE_MODE,		//voiceMode

-	.vpInitGain = -1,					//vpInitGain

-	.audio_ctrlFlag = {0},				//audio_ctrlFlag

-	

-    .dtmfDirSel = DTMF_IDLE,			//dtmfDirSel

-    .sample_rate = 0,					//sample_rate

-    .useDtmfLoop = 0,					//useDtmfLoop

-    .muteCount = 0,					//muteCount

-    .vpLoopBkRunning = FALSE,				//vpLoopBkRunning

-	.rxMuteEn = FALSE,              //rxMuteEn

-	.firstRegZCATFlag = FALSE,

-#ifdef ECALL_SUPPORT	

-    .ecallData = {0},			    //ecallData

-#endif

-	.voice_nv_update = 0, // voice_nv_update

-	.useVoiceBuffer = 0,// 0 not use,1 use

-	.voiceBufferType = 0, //0 single core, 1 dual core

-	

-};

-

-#endif

-

-#if 0

-

 

 static T_zDrvVp_State s_vpState =

 {

-	NULL,//1 pVpRxInBuffer

-	NULL,//2 pVpTxInBuffer

-	NULL,//3 pVpRxOutPutBuffer

-	NULL,//4 pVpTxOutPutBuffer

-	0,//5 inOutBufSize

-	NULL,//6 pVpInnerI2sCfg

-	NULL,//7 pVpExtI2sCfg

-	NULL,//8 pVpExtI2sWbCfg

-	NULL,//9 s_pVpTdmCfg

-	NULL,//10 s_pVpTdmWbCfg

-	NULL,//11 pVpTdmCfg

-	{0},//12 pMsg

-	{0},//13 pMsgBuf[2]

-	//0,//14

-	NULL,//15 vpThread

-	NULL,//16 rcvDtmfThread

-	NULL,//17 vpSemaphore

-	NULL,//18 vpThreadQuitSema

-	NULL,//19 vpLoopThread

-	NULL,//20 vpLoopSemaphore

-	NULL//21 vpState

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	0,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	{0},

+	{0},

+	0,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	NULL,

+	NULL

 //	{0}

 };

-#else

-T_zDrvVp_State s_vpState =

-{

-	.pVpRxInBuffer = NULL,//1

-	.pVpTxInBuffer = NULL,//2

-	.pVpRxOutPutBuffer = NULL,//3

-	.pVpTxOutPutBuffer = NULL,//4

-	.inOutBufSize = 0,//5

-	.pVpInnerI2sCfg = NULL,//6

-	.pVpExtI2sCfg = NULL,//7

-	.pVpExtI2sWbCfg = NULL,//8

-	.s_pVpTdmCfg = NULL,//9

-	.s_pVpTdmWbCfg = NULL,//10

-	.pVpTdmCfg = NULL,//11

-	.pMsg = {0},//12

-	.pMsgBuf = {0},//13

-	.vpThread = NULL,//14

-	.rcvDtmfThread = NULL,//15

-	.vpSemaphore = NULL,//16

-	.vpThreadQuitSema = NULL,//17

-	.vpLoopThread = NULL,//18

-	.vpLoopSemaphore = NULL,//19

-

-	.vpState = NULL,//

-//	{0}

-};

-

-

-#endif

-

-

 

 //for test whiteNoise

 #ifdef TEST_WHITE_NOISE

@@ -359,8 +271,8 @@
 ****************************************************************************/

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #ifdef _VBUFF_IN_MULTI_CORE

-//#define RPMSG_CAP_ID 1

-#if 0

+#define RPMSG_CAP_ID 1

+

 ZOSS_TIMER_ID s_voiceTimerId ;

 ZOSS_SEMAPHORE_ID s_voiceRdSema;

 ZOSS_SEMAPHORE_ID s_voiceWrSema;

@@ -371,22 +283,9 @@
 

 int vb_read_count = 0;

 int vb_write_count = 0;

-#else

-//define in hal_voicebuffer.c

-extern ZOSS_TIMER_ID s_voiceTimerId ;

-extern ZOSS_SEMAPHORE_ID s_voiceRdSema;

-extern ZOSS_SEMAPHORE_ID s_voiceWrSema;

 

-extern int timer_cb_count;

-extern int first_full_flag;

-extern int first_empty_flag;

 

-extern int vb_read_count;

-extern int vb_write_count;

-

-#endif

-

-static void voiceTimerCallBack(SINT32 para)

+void voiceTimerCallBack(SINT32 para)

 {

 	T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

 	

@@ -417,8 +316,22 @@
 	

 //	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voiceTimerCallBack timer=%u\n", cpu_clock(0)>>10);

 }

+#define MAX_BUF_SIZE	     640

+#define MAX_BUF_NUM        3

 

-extern struct voice_ring_buffer *voice_buff[2];

+

+enum{

+	UP_LINK,

+	DOWN_LINK	

+};

+

+struct voice_ring_buffer {

+	volatile uint read_pos;

+	volatile uint write_pos;

+	volatile char data[];

+

+};

+struct voice_ring_buffer *voice_buff[2] = {NULL,NULL};

 

 

 

@@ -547,10 +460,10 @@
 extern int  voicebuffer_dlqueue_write(void  *buf, unsigned int  size);

 extern void voice_inform_to_app(void);

 //static DECLARE_COMPLETION(s_voice_completion);

-extern ZOSS_TIMER_ID s_voiceTimerId ;

-extern ZOSS_SEMAPHORE_ID s_voiceRdSema;

-extern ZOSS_SEMAPHORE_ID s_voiceWrSema;

-static void voiceTimerCallBack(SINT32 para)

+ZOSS_TIMER_ID s_voiceTimerId ;

+ZOSS_SEMAPHORE_ID s_voiceRdSema;

+ZOSS_SEMAPHORE_ID s_voiceWrSema;

+void voiceTimerCallBack(SINT32 para)

 {

 //	complete_all(&s_voice_completion);

 	zOss_PutSemaphore(s_voiceWrSema);

@@ -563,7 +476,7 @@
 

 #endif

 

-static SINT32 vp_rxsem_count_Init(void)

+SINT32 vp_rxsem_count_Init(void)

 {

 	UINT32 i = 0;

 	UINT32 semCount = 0;

@@ -582,7 +495,7 @@
 	return DRV_SUCCESS;

 }

 

-static SINT32 vp_txsem_count_Init(void)

+SINT32 vp_txsem_count_Init(void)

 {

 	UINT32 i = 0;

 	UINT32 semCount = 0;

@@ -609,7 +522,6 @@
 #endif

 

 

-

 #ifdef ECALL_SUPPORT

 int eWrErr = 0;

 UINT8 e_reg_flag = 0;

@@ -621,7 +533,6 @@
 T_Ecall_State preEcallRxSta = 0;

 T_Ecall_State preEcallTxSta = 0;	

 

-

 //tx

 SINT32 rdsem_count_Init(T_Sem_Owner owner)

 {

@@ -795,7 +706,7 @@
 

 	e_startCount = 0;

     e_stopCount = 0;

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "ecall_Open bufsize=%d end!\n",bufsize);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "ecall_Open  end!\n");

 

 	return DRV_SUCCESS;

 

@@ -847,7 +758,7 @@
 {

 	SINT32 ret = DRV_SUCCESS;

 

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: start e_startCount=%d \n",__FUNCTION__,e_startCount);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s start e_startCount=%d \n",__FUNCTION__,e_startCount);

 	if(g_voiceVar.ecallData.ecallSta == ECALL_ST_START)

 	{

 		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "ecall_Start repeat ecallSta=%d\n",g_voiceVar.ecallData.ecallSta);

@@ -874,7 +785,7 @@
 SINT32 ecall_Stop(VOID)

 {

 	SINT32  ret = DRV_SUCCESS;

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: start e_stopCount=%d \n",__FUNCTION__,e_stopCount);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s start e_stopCount=%d \n",__FUNCTION__,e_stopCount);

 	

 	if((g_voiceVar.ecallData.ecallSta == ECALL_ST_STOP)||(g_voiceVar.ecallData.ecallSta == ECALL_ST_CLOSE))

 	{

@@ -922,7 +833,7 @@
 	{						

 		if(dir == DIR_RX)

 		{

-

+			

 			preEcallRxSta = g_voiceVar.ecallData.ecallRxSta;

 			g_voiceVar.ecallData.ecallRxSta = ECALL_ST_RX_INUSE;

 			//zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "update_ecall_state rx state change to ecallRxSta = %d\n", g_voiceVar.ecallData.ecallRxSta);

@@ -1053,15 +964,9 @@
 	return DRV_SUCCESS;

 }

 

-

 SINT32 zDrvExtAudio_Open(T_ZDrvI2s_TransMode i2sTransMode)

 {

-

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}

-	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1079,9 +984,6 @@
 SINT32 zDrvExtAudio_Reset()

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1098,9 +1000,6 @@
 SINT32 zDrvExtAudio_Close()

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1118,9 +1017,6 @@
 SINT32 zDrvExtAudio_Write_Prepare(T_ZDrvI2S_Cfg *i2sCfg, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1139,9 +1035,6 @@
                                 T_ZDrvTdm_Params *tdmParams, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1159,9 +1052,6 @@
                                    T_ZDrvTdm_Params *tdmParams, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1178,9 +1068,6 @@
 SINT32 zDrvExtAudio_Read_Prepare(T_ZDrvI2S_Cfg *i2sCfg, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1199,9 +1086,6 @@
                                T_ZDrvTdm_Params *tdmParams, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1219,9 +1103,6 @@
                                   T_ZDrvTdm_Params *tdmParams, T_ZDrvTdm_Cfg *tdmCfg)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1238,9 +1119,6 @@
 SINT32 zDrvExtAudio_Write(const UINT8 *pBuf, UINT32 uiLen)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1258,9 +1136,6 @@
 SINT32 zDrvExtAudio_Read(const UINT8 **pBuf, UINT32 *uiLen)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  	

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1320,13 +1195,9 @@
 	return ret;

 }

 #endif

-

 SINT32 zDrvExtAudio_Write_Stop()

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1344,9 +1215,6 @@
 SINT32 zDrvExtAudio_Read_Stop()

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else	

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1364,9 +1232,6 @@
 SINT32 zDrvExtAudio_GetBuf(UINT8 **pBuf, UINT32 *uiLen)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  	

 #else

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1398,9 +1263,6 @@
 SINT32 zDrvExtAudio_FreeBuf(UINT8 *pBuf)

 {

 	int ret = 0;

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return ret;

-	}	

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else		

 	if (g_voiceVar.g_isUseTdm != 1)

@@ -1417,10 +1279,6 @@
 

 void zDrvExtAudio_RlsAllSemaBeforeStop(void)

 {

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return;

-	}

-

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else		

 	if (g_voiceVar.g_isUseTdm == 1)

@@ -1438,10 +1296,6 @@
 

 void zDrvExtAudio_RxRlsSemaBeforeStop(void)

 {

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return;

-	}

-

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else		

 	if (g_voiceVar.g_isUseTdm == 1)

@@ -1457,10 +1311,6 @@
 

 void zDrvExtAudio_TxRlsSemaBeforeStop(void)

 {

-	if (g_voiceVar.useVoiceBuffer == 1){ 

-		return;

-	}

-

 #ifdef CONFIG_VOICE_BUFFER_DRV  

 #else		

 	if (g_voiceVar.g_isUseTdm == 1)

@@ -1745,19 +1595,7 @@
 

 	ext_aRdCount = 0;

 	ext_aRdFBufCount = 0;

-	

-	

 

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_Open_Vbuffer();		

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_Open_Vbuffer ret=%d!\n",ret);

-	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_Open_Vbuffer useVoiceBuffer=%d voiceBufferType=%d!\n",g_voiceVar.useVoiceBuffer,g_voiceVar.voiceBufferType);

-

-	

-

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_Open  end!\n");

 

 	return DRV_SUCCESS;

 

@@ -2444,7 +2282,7 @@
 		ret = ecall_Close();

 		if (ret != DRV_SUCCESS)

 		{

-		   zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s:ecall_Close error,ret=%d",__func__,ret);

+		   zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "ecall_Open error,ret=%d", ret);

 		}	

 		e_reg_flag = 0;

 	}

@@ -2467,12 +2305,6 @@
 	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: timer_cb_count %d,first_full_flag %d,first_empty_flag %d,vb_read_count %d,vb_write_count %d!\n",__FUNCTION__,timer_cb_count,first_full_flag,first_empty_flag,vb_read_count,vb_write_count);

 #endif

 

-	if(g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_Close_Vbuffer();

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_Close_Vbuffer ret=%d!\n",ret);

-	

-	}

 	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "%s: ext_aRdCount %d,ext_aRdFBufCount %d!\n",__FUNCTION__,ext_aRdCount,ext_aRdFBufCount);

 

 

@@ -2505,185 +2337,176 @@
 //	{

 //		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "is the i2s loopback mode");

 //	}

-	

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_VoiceI2sStart_Vbuffer();

-	}

-	else

-	{

-

 #ifdef  CONFIG_VOICE_BUFFER_DRV  	

-		ret = zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S2_Read_Start failed ret is %d .\n", ret);

-			return DRV_ERROR;

-		}

-		

-		zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart VB zOss_StartTimer\n");

+	ret = zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S2_Read_Start failed ret is %d .\n", ret);

+		return DRV_ERROR;

+	}

+	

+	zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart VB zOss_StartTimer\n");

 

-		ret = zDrvI2S_Write_Start(I2S_2, &s_speechState.i2sWriteParam, s_vpState.pVpInnerI2sCfg);

+	ret = zDrvI2S_Write_Start(I2S_2, &s_speechState.i2sWriteParam, s_vpState.pVpInnerI2sCfg);

 

-		ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error7:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error12:zDrvI2S_Write I2S_2 ret=%d", ret);

-		}

-		

-		ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error13:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error14:zDrvI2S_Write I2S_2 ret=%d", ret);

-		}

+	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error7:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error12:zDrvI2S_Write I2S_2 ret=%d", ret);

+	}

+	

+	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error13:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error14:zDrvI2S_Write I2S_2 ret=%d", ret);

+	}

 #ifdef _VBUFF_IN_MULTI_CORE

-		voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

+	voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

 

 #else

-		voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

+	voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

 #endif

 #else	

-		if (g_voiceVar.isUseSlicCodec == 1)

-		{

+	if (g_voiceVar.isUseSlicCodec == 1)

+	{

 

-			if (s_speechState.i2sIsRstFlag == FALSE)

+		if (s_speechState.i2sIsRstFlag == FALSE)

+		{

+			ret = zDrvExtAudio_Reset();

+			if (ret != DRV_SUCCESS)

 			{

-				ret = zDrvExtAudio_Reset();

-				if (ret != DRV_SUCCESS)

-				{

-					zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvExtAudio_Reset() err ret=%d ", ret);

-					return DRV_ERROR;

-				}

-				s_speechState.i2sIsRstFlag = TRUE;

+				zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvExtAudio_Reset() err ret=%d ", ret);

+				return DRV_ERROR;

 			}

-

+			s_speechState.i2sIsRstFlag = TRUE;

 		}

 

-		ret = zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S2_Read_Start failed ret is %d .\n", ret);

-			return DRV_ERROR;

-		}

+	}

 

-		ret += zDrvExtAudio_Read_Start(&s_speechState.i2sReadParam, s_speechState.pVpI2sCfg, &s_vpTdmReadParam, s_vpState.pVpTdmCfg);

+	ret = zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S2_Read_Start failed ret is %d .\n", ret);

+		return DRV_ERROR;

+	}

 

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S1_Read_Start failed ret is %d .\n", ret);

-			zDrvI2S_Read_Stop(I2S_2);

-			return DRV_ERROR;

-		}

+	ret += zDrvExtAudio_Read_Start(&s_speechState.i2sReadParam, s_speechState.pVpI2sCfg, &s_vpTdmReadParam, s_vpState.pVpTdmCfg);

 

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read_Start  ret=%d", ret);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvI2S1_Read_Start failed ret is %d .\n", ret);

+		zDrvI2S_Read_Stop(I2S_2);

+		return DRV_ERROR;

+	}

 

-		ret = zDrvI2S_Read(I2S_2, &read_buf, &read_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read I2S_2 ret=%d", ret);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read_Start  ret=%d", ret);

 

-		ret = zDrvExtAudio_Read(&read_buf, &read_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read  ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read I2S_1 ret=%d", ret);

+	ret = zDrvI2S_Read(I2S_2, &read_buf, &read_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read I2S_2 ret=%d", ret);

 

-		ret += zDrvExtAudio_Read_Stop();

-		ret += zDrvI2S_Read_Stop(I2S_2);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read  ret=%d", ret);

-			return DRV_ERROR;

-		}

+	ret = zDrvExtAudio_Read(&read_buf, &read_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read  ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart zDrvI2S_Read I2S_1 ret=%d", ret);

 

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart first read/write stop ret=%d", ret);

+	ret += zDrvExtAudio_Read_Stop();

+	ret += zDrvI2S_Read_Stop(I2S_2);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error:zDrvI2S_Read  ret=%d", ret);

+		return DRV_ERROR;

+	}

 

-		ret += zDrvExtAudio_Read_Start(&s_speechState.i2sReadParam, s_speechState.pVpI2sCfg, &s_vpTdmReadParam, s_vpState.pVpTdmCfg);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart first read/write stop ret=%d", ret);

 

-		ret += zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

+	ret += zDrvExtAudio_Read_Start(&s_speechState.i2sReadParam, s_speechState.pVpI2sCfg, &s_vpTdmReadParam, s_vpState.pVpTdmCfg);

 

-		ret += zDrvExtAudio_Write_Start(&s_speechState.i2sWriteParam, s_speechState.pVpI2sCfg, &s_VpTdmWriteParam, s_vpState.pVpTdmCfg);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error4:zDrvI2S_Write_Start  ret=%d", ret);

-			return DRV_ERROR;

-		}

-		ret += zDrvExtAudio_GetBuf(&write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error5:zDrvI2S_GetBuf  ret=%d", ret);

-			return DRV_ERROR;

-		}

+	ret += zDrvI2S_Read_Start(I2S_2, &s_speechState.i2sReadParam, s_vpState.pVpInnerI2sCfg);

 

-		zOss_Memset(write_buf, 0, write_len);

-		ret += zDrvExtAudio_Write(write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error6:zDrvI2S_Write  ret=%d", ret);

-			return DRV_ERROR;

-		}

-		ret = zDrvI2S_Write_Start(I2S_2, &s_speechState.i2sWriteParam, s_vpState.pVpInnerI2sCfg);

-		ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error7:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error8:zDrvI2S_Write I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		ret += zDrvExtAudio_GetBuf(&write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error9:zDrvI2S_GetBuf  ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret += zDrvExtAudio_Write(write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error10:zDrvI2S_Write  ret=%d", ret);

-			return DRV_ERROR;

-		}

-		ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error11:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error12:zDrvI2S_Write I2S_2 ret=%d", ret);

-		}

+	ret += zDrvExtAudio_Write_Start(&s_speechState.i2sWriteParam, s_speechState.pVpI2sCfg, &s_VpTdmWriteParam, s_vpState.pVpTdmCfg);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error4:zDrvI2S_Write_Start  ret=%d", ret);

+		return DRV_ERROR;

+	}

+	ret += zDrvExtAudio_GetBuf(&write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error5:zDrvI2S_GetBuf  ret=%d", ret);

+		return DRV_ERROR;

+	}

+

+	zOss_Memset(write_buf, 0, write_len);

+	ret += zDrvExtAudio_Write(write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error6:zDrvI2S_Write  ret=%d", ret);

+		return DRV_ERROR;

+	}

+	ret = zDrvI2S_Write_Start(I2S_2, &s_speechState.i2sWriteParam, s_vpState.pVpInnerI2sCfg);

+	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error7:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error8:zDrvI2S_Write I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	ret += zDrvExtAudio_GetBuf(&write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error9:zDrvI2S_GetBuf  ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret += zDrvExtAudio_Write(write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error10:zDrvI2S_Write  ret=%d", ret);

+		return DRV_ERROR;

+	}

+	ret += zDrvI2S_GetBuf(I2S_2, &write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error11:zDrvI2S_GetBuf I2S_2 ret=%d", ret);

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvI2S_Write(I2S_2, write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VoiceI2sStart error12:zDrvI2S_Write I2S_2 ret=%d", ret);

+	}

 

 #endif

-	}

 #ifdef ECALL_SUPPORT

 	if((g_voiceVar.audio_ctrlFlag.isUseEcall == 1)&&(e_reg_flag == 1))

 	{

@@ -2834,27 +2657,18 @@
 	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvVp_VoiceWorkStop call voice_ToneMixerStop !\n");

 

 	g_voiceVar.vpI2sStatus = VP_I2S_OPEN;

-

-	

-

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = zDrvVp_VoiceWorkStop_Vbuffer();

-	}

-	else

-	{	

 #ifdef  CONFIG_VOICE_BUFFER_DRV 

-		//complete_all(&s_voice_completion);

-		zOss_PutSemaphore(s_voiceRdSema);

-		zOss_PutSemaphore(s_voiceWrSema);

-		zOss_StopTimer(s_voiceTimerId);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvVp_VoiceWorkStop zOss_StopTimer\n");

+	//complete_all(&s_voice_completion);

+	zOss_PutSemaphore(s_voiceRdSema);

+	zOss_PutSemaphore(s_voiceWrSema);

+	zOss_StopTimer(s_voiceTimerId);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "zDrvVp_VoiceWorkStop zOss_StopTimer\n");

 #else

-		//zDrvI2s_RxRlsSemaBeforeStop(I2S_1);

-		//zDrvI2s_TxRlsSemaBeforeStop(I2S_1);

-		zDrvExtAudio_RlsAllSemaBeforeStop();

+	//zDrvI2s_RxRlsSemaBeforeStop(I2S_1);

+	//zDrvI2s_TxRlsSemaBeforeStop(I2S_1);

+	zDrvExtAudio_RlsAllSemaBeforeStop();

 #endif

-	}	

+	

 	zDrvI2s_RxRlsSemaBeforeStop(I2S_2);

 	zDrvI2s_TxRlsSemaBeforeStop(I2S_2);

 

@@ -2922,19 +2736,10 @@
 	}

 

 	g_voiceVar.vpI2sStatus = VP_I2S_INUSE;

-	

-	

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_VolteReadStart_Vbuffer();

-	}

-	else

-	{	

 #ifdef  CONFIG_VOICE_BUFFER_DRV

-		zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteReadStart zOss_StartTimer start\n");

-#endif

-	}

+	zOss_StartTimer(s_voiceTimerId, 20, voiceTimerCallBack, 0);

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteReadStart zOss_StartTimer start\n");

+#endif	

 	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,  "vp_VolteReadStart \n");

 

 	return DRV_SUCCESS;

@@ -2943,15 +2748,6 @@
 SINT32 vp_VolteReadStop(VOID)

 {

 	SINT32  ret = DRV_SUCCESS;

-

-	

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_VolteReadStop_Vbuffer();

-	    return ret;

-	}

-

-	

 #ifdef  CONFIG_VOICE_BUFFER_DRV  

 	zOss_PutSemaphore(s_voiceRdSema);

 #else

@@ -3048,54 +2844,46 @@
 	}

 

 	g_voiceVar.vpI2sStatus = VP_I2S_INUSE;

-	

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		vp_VolteWriteStart_Vbuffer();	

-	}

-	else

-	{

 #ifdef  CONFIG_VOICE_BUFFER_DRV  

 #ifdef _VBUFF_IN_MULTI_CORE

-		voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

+	voice_buffer_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

 

 #else

-		voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

+	voicebuffer_dlqueue_write(s_speechState.pVpTempRxOutPutBuffer, s_speechState.totalFrameBufSize);

 #endif

 #else

-		ret = zDrvExtAudio_GetBuf(&write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error1:zDrvI2S_GetBuf I2S_1 ret=%d", ret);

-			zDrvExtAudio_Write_Stop();

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvExtAudio_Write(write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error2:zDrvI2S_Write I2S_1 ret=%d", ret);

-			zDrvExtAudio_Write_Stop();

-			return DRV_ERROR;

-		}

-		ret = zDrvExtAudio_GetBuf(&write_buf, &write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error3:zDrvI2S_GetBuf I2S_1 ret=%d", ret);

-			zDrvExtAudio_Write_Stop();

-			return DRV_ERROR;

-		}

-		zOss_Memset(write_buf, 0, write_len);

-		ret = zDrvExtAudio_Write(write_buf, write_len);

-		if (ret != DRV_SUCCESS)

-		{

-			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error4:zDrvI2S_Write I2S_1 ret=%d", ret);

-			zDrvExtAudio_Write_Stop();

-			return DRV_ERROR;

-		}

-#endif

+	ret = zDrvExtAudio_GetBuf(&write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error1:zDrvI2S_GetBuf I2S_1 ret=%d", ret);

+		zDrvExtAudio_Write_Stop();

+		return DRV_ERROR;

 	}

-	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,  "vp_VolteWriteStart end\n");

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvExtAudio_Write(write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error2:zDrvI2S_Write I2S_1 ret=%d", ret);

+		zDrvExtAudio_Write_Stop();

+		return DRV_ERROR;

+	}

+	ret = zDrvExtAudio_GetBuf(&write_buf, &write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error3:zDrvI2S_GetBuf I2S_1 ret=%d", ret);

+		zDrvExtAudio_Write_Stop();

+		return DRV_ERROR;

+	}

+	zOss_Memset(write_buf, 0, write_len);

+	ret = zDrvExtAudio_Write(write_buf, write_len);

+	if (ret != DRV_SUCCESS)

+	{

+		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_VolteWriteStart error4:zDrvI2S_Write I2S_1 ret=%d", ret);

+		zDrvExtAudio_Write_Stop();

+		return DRV_ERROR;

+	}

+#endif

+	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO,  "vp_VolteWriteStart \n");

 

 	return DRV_SUCCESS;

 }

@@ -3103,13 +2891,6 @@
 SINT32 vp_VolteWriteStop(VOID)

 {

 	SINT32  ret = DRV_SUCCESS;

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_VolteWriteStop_Vbuffer();

-	    return ret;

-	}

-

-

 

 #ifdef  CONFIG_VOICE_BUFFER_DRV  

 	//complete_all(&s_voice_completion);

@@ -3180,11 +2961,6 @@
 	//UINT8 *pVoiceTempBuf = s_voiceTempBuffer;

 #endif

 

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_WriteDataToCodec_Vbuffer(pBuf, count);

-	    return ret;

-	}

 

 

 	if (pBuf == NULL)

@@ -3509,14 +3285,6 @@
 	UINT8 *ptemp8bit = NULL;

 #endif

 

-	if (g_voiceVar.useVoiceBuffer == 1)

-	{

-		ret = vp_ReadDataFromCodec_Vbuffer(pBuf, count);

-	    return ret;

-	}

-

-

-

 	if (pBuf == NULL)

 	{

 		return DRV_ERR_INVALID_PARAM;

@@ -3545,8 +3313,6 @@
 //	wait_for_completion_timeout(&s_voice_completion, 60);

 	zOss_GetSemaphore(s_voiceRdSema,  60);

 	#ifdef _VBUFF_IN_MULTI_CORE

-

-	

 	voice_buffer_read(s_speechState.pVpTempTxInBuffer,  s_speechState.totalFrameBufSize);

 

 	#else

@@ -4145,14 +3911,11 @@
 

 SINT32 vp_CreateThreadSemaph(VOID)

 {

-	SINT32 ret = 0;

-

 	s_vpState.vpSemaphore = zOss_CreateSemaphore("VpI2sReadWriteSemaphore", 0);

 #ifdef _USE_WEBRTC_AUD

 	s_vpState.vpThread = zOss_CreateThread("vp_DataProcessThreadEntry", vp_DataProcessThreadEntry, 0, 8192, 15, 0, 1);

 #else

-	//s_vpState.vpThread = zOss_CreateThread("vp_DataProcessThreadEntry", vp_DataProcessThreadEntry, 0, 1024, 15, 0, 1);

-	s_vpState.vpThread = zOss_CreateThread("vp_DataProcessThreadEntry", vp_DataProcessThreadEntry, 0, 8192, 15, 0, 1);	

+	s_vpState.vpThread = zOss_CreateThread("vp_DataProcessThreadEntry", vp_DataProcessThreadEntry, 0, 1024, 15, 0, 1);

 #endif

 

 #ifdef  _OS_TOS

@@ -4174,9 +3937,6 @@
 		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create vp Thread sem err s_vpState.vpThread=%p,s_vpState.vpSemaphore=%p !\r\n", s_vpState.vpThread, s_vpState.vpSemaphore);

 		return DRV_ERROR;

 	}

-

-

-

 #ifdef CONFIG_VOICE_BUFFER_DRV  	

 //	init_completion(&s_voice_completion);

 	s_voiceRdSema = zOss_CreateSemaphore("voice_rx_sem", 0);

@@ -4199,57 +3959,50 @@
 		return DRV_ERROR;

 	}

 #ifdef _VBUFF_IN_MULTI_CORE

-	//SINT32 ret = 0;

+		SINT32 ret = 0;

 

-	//ret = zDrvRpMsg_CreateChannel(IPC_MSG_ACTOR_A9,channel_41,0x10);

-	ret = zDrvRpMsg_CreateChannel_Cap(RPMSG_CAP_ID,channel_41,0x10);

+		//ret = zDrvRpMsg_CreateChannel(IPC_MSG_ACTOR_A9,channel_41,0x10);

+		ret = zDrvRpMsg_CreateChannel_Cap(RPMSG_CAP_ID,channel_41,0x10);

 

-	if(DRV_SUCCESS != ret) {

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create rpmsg err(%d) \n",ret);

-		return DRV_ERROR;

-	}

-	

-	volatile T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

-	volatile unsigned int rpMsgBuf[2] = {0,0}; 

-	//printk( "vir_buf1:0x%x, vir_buf2:0x%x, phy_buf1:0x%x, phy_buf2:0x%x,\n",voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1]);

-	icp_pMsg.actorID = RPMSG_CAP_ID;

-	icp_pMsg.chID = channel_41;

-	icp_pMsg.flag &= ~RPMSG_READ_POLL;

-	icp_pMsg.buf = rpMsgBuf;

-	icp_pMsg.len = 8;

-	ret = zDrvRpMsg_Read_Cap(&icp_pMsg);

-	if(ret <= 0){

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

+		if(DRV_SUCCESS != ret) {

+			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "create rpmsg err(%d) \n",ret);

+			return DRV_ERROR;

+		}

 		

+		volatile T_ZDrvRpMsg_Msg icp_pMsg = {0}; 

+		volatile unsigned int rpMsgBuf[2] = {0,0}; 

+		//printk( "vir_buf1:0x%x, vir_buf2:0x%x, phy_buf1:0x%x, phy_buf2:0x%x,\n",voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1]);

+		icp_pMsg.actorID = RPMSG_CAP_ID;

+		icp_pMsg.chID = channel_41;

+		icp_pMsg.flag &= ~RPMSG_READ_POLL;

+		icp_pMsg.buf = rpMsgBuf;

+		icp_pMsg.len = 8;

+		ret = zDrvRpMsg_Read_Cap(&icp_pMsg);

+		if(ret <= 0){

+			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

+			zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps voice buffer  rpmsg addr read  fail,ret=%d \n",ret);

+			

 

-	}

-	else{

-		#if 0

+		}

+		else{

+			#if 0

 

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[0]);

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[1]);	

-		#else

+			voice_buff[UP_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[0]);

+			voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)(rpMsgBuf[1]);	

+			#else

 

-		voice_buff[UP_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[0], (sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));	

-		#endif

-

-		zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps rpmsg voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

-		,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-		zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

+			voice_buff[UP_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[0], (sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

+			voice_buff[DOWN_LINK] = (struct voice_ring_buffer *)ioremap_wc(rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));	

+			#endif

+	

+			zOss_Printf(SUBMDL_HAL, PRINT_LEVEL_NORMAL, "ps rpmsg voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

 			,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

-	}

+			zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "voice buffer addr,up vir buf=0x%x,  down vir buf=0x%x ,up phy buf=0x%x,  down phy buf=0x%x,size=%d \n" \

+				,voice_buff[0],voice_buff[1],rpMsgBuf[0],rpMsgBuf[1],(sizeof(struct voice_ring_buffer) + MAX_BUF_SIZE*MAX_BUF_NUM));

+		}

 #endif

-

-#else

-    //flag ctrl voicebuffer func

-	vp_CreateThreadSemaph_Vbuffer();

-

-

 #endif

-

-

+	

 	zDrvRamlog_PRINTF(RAMLOG_MOD_AUDIO, "vp_CreateThreadSemaph success. \r\n");

 	return DRV_SUCCESS;

 }

diff --git a/Uboot/cp/ps/modem/com/src/appstart/inc/version_number.h b/Uboot/cp/ps/modem/com/src/appstart/inc/version_number.h
index 28fa775..072f131 100755
--- a/Uboot/cp/ps/modem/com/src/appstart/inc/version_number.h
+++ b/Uboot/cp/ps/modem/com/src/appstart/inc/version_number.h
@@ -1,9 +1,9 @@
 #if defined _CHIP_ZX297520
-#define VERSION_NUMBER "7520SCV2.01.01.02P56U08"
+#define VERSION_NUMBER "7520SCV2.01.01.02P56U06"
 #endif
 #if defined _CHIP_ZX297520V2
-#define VERSION_NUMBER "7520V2SCV2.01.01.02P56U08"
+#define VERSION_NUMBER "7520V2SCV2.01.01.02P56U06"
 #endif
 #if defined _CHIP_ZX297520V3
-#define VERSION_NUMBER "7520V3SCV2.01.01.02P56U08"
+#define VERSION_NUMBER "7520V3SCV2.01.01.02P56U06"
 #endif
diff --git a/Uboot/cp/ps/modem/ps/inc/apuiccint.h b/Uboot/cp/ps/modem/ps/inc/apuiccint.h
index 6d07534..57d364f 100755
--- a/Uboot/cp/ps/modem/ps/inc/apuiccint.h
+++ b/Uboot/cp/ps/modem/ps/inc/apuiccint.h
@@ -1614,11 +1614,6 @@
 

 #define    Z_APUICC_EID_LEN            (BYTE)10  

 

-#define Z_UICC_CARD_READY             (BYTE)0

-#define Z_UICC_CARD_PWROFF            (BYTE)1

-#define Z_UICC_CARD_REMOVE            (BYTE)2

-#define Z_UICC_CARD_ERROR             (BYTE)3

-

 /**************************************************************************

 *                         È«¾ÖÊý¾ÝÀàÐͶ¨Òå                                *

 **************************************************************************/

diff --git a/Uboot/cp/ps/modem/ps/inc/atipscom.h b/Uboot/cp/ps/modem/ps/inc/atipscom.h
index 19bf907..72560ba 100755
--- a/Uboot/cp/ps/modem/ps/inc/atipscom.h
+++ b/Uboot/cp/ps/modem/ps/inc/atipscom.h
@@ -429,15 +429,6 @@
 #define Z_DEV_NV_RAT_VERSION_GSM_PRIORITY                  (BYTE)3

 #define Z_DEV_NV_RAT_VERSION_DEFAULT                       (BYTE)4

 

-/*************************CEER¼Ç¼ģ¿éÃû*******************/

-#define Z_CEER_MM_ID                (BYTE)0

-#define Z_CEER_SM_ID                (BYTE)1

-#define Z_CEER_UICCMNG_ID           (BYTE)2

-#define Z_CEER_ATI_ID               (BYTE)3

-#define Z_CEER_CC_ID               (BYTE)4

-#define Z_CEER_SMS_ID               (BYTE)5

-#define Z_CEER_SS_ID               (BYTE)6

-

 /*V2-V3Ãû×Ö¼æÈÝend*/

 #define Z_SUBMDL_NUM                                      (BYTE)((SUBMDL_PSEND - SUBMDL_PSBASE) + 1)

 

diff --git a/Uboot/cp/ps/modem/ps/inc/atipsint.h b/Uboot/cp/ps/modem/ps/inc/atipsint.h
index 90aac9e..5a79eba 100755
--- a/Uboot/cp/ps/modem/ps/inc/atipsint.h
+++ b/Uboot/cp/ps/modem/ps/inc/atipsint.h
@@ -258,14 +258,8 @@
 #define  Z_ATIUMM_MsgNormalWithNewCell_Err          (BYTE)180    //retry upon entry into a new cell

 #define  Z_ATIUMM_UeSecurityCapaMismatch            (BYTE)181    //UE security capabilities mismatch

 #define  Z_ATIUMM_Securitymoderejected              (BYTE)182    //Security mode rejected, unspecified

-#define  Z_ATIUMM_TemperatureStart                  (BYTE)183  //οؿªÊ¼

-#define  Z_ATIUMM_TemperatureStop                   (BYTE)184  //οؽáÊø

-#define  Z_ATIUMM_GsmRfOnFail                       (BYTE)190  //GSM¿ªÉäÆµÊ§°Ü

-#define  Z_ATIUMM_GsmRfOffFail                      (BYTE)191  //GSM¹ØÉäÆµÊ§°Ü

-#define  Z_ATIUMM_WRfOnFail                         (BYTE)192  //W¿ªÉäÆµÊ§°Ü

-#define  Z_ATIUMM_WRfOffFail                        (BYTE)193  //W¹ØÉäÆµÊ§°Ü

-#define  Z_ATIUMM_LteRfOnFail                       (BYTE)194  //LTE¿ªÉäÆµÊ§°Ü

-#define  Z_ATIUMM_LteRfOffFail                      (BYTE)195  //LTE¹ØÉäÆµÊ§°Ü

+#define  Z_ATIUMM_TemperatureStart                    (BYTE)183  //οؿªÊ¼

+#define  Z_ATIUMM_TemperatureStop                    (BYTE)184  //οؽáÊø

 

 /*============MMÄ£¿éCEER´íÎóÂë=============================== */

 #define Z_ATIMM_ImsiUnknownInHlr           (BYTE)2 //IMSI unknown in HLR

@@ -321,17 +315,7 @@
 #define Z_ATIMM_MsgNotCompatProtocolState             (BYTE)101 //Message not compatible with protocol state

 #define Z_ATIMM_ProtocolError                         (BYTE)111 //Protocol error, unspecified

 

-#define Z_ATIMM_UnspecifiedFail                       (BYTE)120 //Unspecified Failure

-#define Z_ATIMM_RrcFailUnspecifiedFail                (BYTE)121 //RRCÁ´Â·Ê§°Ü£¬·ÇÌØÊâÔ­Òò

-

-#define Z_ATIMM_T3210Exipre                        (BYTE)123 //3210³¬Ê±

-#define Z_ATIMM_T3213Exipre                        (BYTE)123 //3213³¬Ê±

-#define Z_ATIMM_T3214_16Exipre                     (BYTE)124 //3214/3216³¬Ê±

-#define Z_ATIMM_T3220Exipre                        (BYTE)125 //3220³¬Ê±

-#define Z_ATIMM_T3230Exipre                        (BYTE)126 //3230³¬Ê±

-#define Z_ATIMM_T3225Exipre                        (BYTE)127 //3225³¬Ê±

-#define Z_ATIMM_T3231Exipre                        (BYTE)128 //3231³¬Ê±

-#define Z_ATIMM_TwpgrExipre                        (BYTE)129 //Twpgr³¬Ê±

+#define Z_ATIMM_UnspecifiedFail           (BYTE)120 //Unspecified Failure

 

 /*================ Ë«¿¨Ë«´ýÅжÏÁ½ÕÅ¿¨ÊÇ·ñÐèÒª½»»»===============================*/ 

 #define  Z_NO_NEED_CHANGE                           (BYTE)0

@@ -9056,8 +9040,5 @@
 extern int get_cid_state(unsigned char cid);

 extern BYTE zAti_GetS0Value(VOID);

 extern DWORD zAti_GetUlRateIndTimerVal(BYTE bInsIdx);

-

-extern VOID zAs_AddNasTraceInfo(BYTE  bRat, WORD bCeer, BYTE ModeId, BYTE bDomain);

-

 #endif

 

diff --git a/Uboot/cp/ps/modem/ps/src/nas/ati/src/zati_fnc.c b/Uboot/cp/ps/modem/ps/src/nas/ati/src/zati_fnc.c
index 55236e0..ab3a03f 100755
--- a/Uboot/cp/ps/modem/ps/src/nas/ati/src/zati_fnc.c
+++ b/Uboot/cp/ps/modem/ps/src/nas/ati/src/zati_fnc.c
@@ -3152,17 +3152,6 @@
 }

 

 /**************************************************************************

-*º¯ÊýÃû³Æ:zAt_AddAtiTraceInfo

-*º¯Êý¹¦ÄÜ:ͨµÀ¶ÂÈûÐÅÏ¢¼ÓÈëά²âÐÅÏ¢

-**************************************************************************/

-VOID zAt_AddAtiTraceInfo(WORD wCmdId, BYTE bChnelID)

-{

-    BYTE bCurAct = zAti_GetCurAct_ByIndex(g_zAti_CurInstance);

-

-    zAs_AddNasTraceInfo(bCurAct, wCmdId, Z_CEER_ATI_ID,  bChnelID);

-}

-

-/**************************************************************************

 * º¯ÊýÃû³Æ : zAti_ProcessCmd

 * ¹¦ÄÜÃèÊö : ´¦ÀíÉϲ㷢À´µÄÃüÁî

 * ²ÎÊý˵Ã÷£º (IN)£º 

@@ -3189,10 +3178,6 @@
 

     if ( ZAT2_NO_COMMAND != pChnelNode->cmd_id && ZAT2_CO_INVALID != pChnelNode->cmd_op)

     {

-        CHAR abStr[30] = {0};

-        sprintf(abStr, "Conflict Cmd id=%d\n", pChnelNode->cmd_id);

-        zAti_SendExpt2TraceAgt(ERR_InvalidMsg,  TRACE_ERR_LEVEL_NORMAL, abStr);

-        zAt_AddAtiTraceInfo(pChnelNode->cmd_id, pChnelNode->iChnelId);

         zAti_ProcChnelConflict(pChnelNode);

         return;

     }

diff --git a/Uboot/cp/ps/plat/inc/oss/oss_sup.h b/Uboot/cp/ps/plat/inc/oss/oss_sup.h
index 313ccd4..686c318 100755
--- a/Uboot/cp/ps/plat/inc/oss/oss_sup.h
+++ b/Uboot/cp/ps/plat/inc/oss/oss_sup.h
@@ -462,7 +462,7 @@
 VOID zOss_RamPrintf(VOID);

 

 /* ά²â */

-UINT32 zOss_DebugInfoRecord(char *id, const VOID *pFormat, ...);

+UINT32 zOss_DebugInfoRecord(UINT32 id, const VOID *pFormat, ...);

 

 /* shellÄ£¿é */

 UINT32 zOss_AddShellCmd(const CHAR *cmd_name, const Shell_Func func, const CHAR *description);

diff --git a/Uboot/cp/ps/plat/src/oss/sup/src/sup_except.c b/Uboot/cp/ps/plat/src/oss/sup/src/sup_except.c
index 8c87a48..fd355b2 100755
--- a/Uboot/cp/ps/plat/src/oss/sup/src/sup_except.c
+++ b/Uboot/cp/ps/plat/src/oss/sup/src/sup_except.c
@@ -371,7 +371,7 @@
 * ·µ »Ø Öµ£º ³É¹¦: дÈ볤¶È; ʧ°Ü: ZOSS_ERROR

 * ÆäËü˵Ã÷£º

 **************************************************************************/

-UINT32 zOss_DebugInfoRecord(char *id, const VOID *pFormat, ...)

+UINT32 zOss_DebugInfoRecord(UINT32 id, const VOID *pFormat, ...)

 {

 #ifdef _OS_WIN

     return ZOSS_ERROR;

@@ -387,7 +387,7 @@
 #endif

 }

 #else

-UINT32 zOss_DebugInfoRecord(char *id, const VOID *pFormat, ...)

+UINT32 zOss_DebugInfoRecord(UINT32 id, const VOID *pFormat, ...)

 {

     return ZOSS_SUCCESS;

 }

diff --git a/Uboot/pub/include/infra/pub_debug_info.h b/Uboot/pub/include/infra/pub_debug_info.h
index 95a480f..10357aa 100755
--- a/Uboot/pub/include/infra/pub_debug_info.h
+++ b/Uboot/pub/include/infra/pub_debug_info.h
@@ -6,43 +6,62 @@
 #define DEBUG_INFO_DEV_PATH "/dev/debug_info"
 
 /* AP²àºÍCAP²àµÄPS\KERNEL\DRIVER\FS\APP  ÒÔSTART~ENDÎªÇø¼ä£¬¸÷²¿·ÖÔ¤ÁôÁË100¸öID */
+#define MODULE_ID_PS_START			(1)
+#define MODULE_ID_PS_NAS			(1)
+#define MODULE_ID_PS_RRC			(2)
+#define MODULE_ID_PS_L2				(3)
+#define MODULE_ID_PS_UICC			(99)
+#define MODULE_ID_PS_END			(100)
 
-#define MODULE_ID_PS_NAS             ("ps_nas")
-#define MODULE_ID_PS_RRC             ("ps_rrc")
-#define MODULE_ID_PS_L2              ("ps_l2")
-#define MODULE_ID_PS_UICC            ("ps_uicc")
-#define MODULE_ID_AP_USB		     ("ap_usb")
-#define MODULE_ID_AP_REBOOT	         ("ap_reboot")
-#define MODULE_ID_AP_TSC		     ("ap_tsc")
-#define MODULE_ID_AP_PSM		     ("ap_psm")
-#define MODULE_ID_AP_NAND			 ("ap_nand")
-#define MODULE_ID_AP_MMC			 ("ap_mmc")
-#define MODULE_ID_AP_WIFI			 ("ap_wifi")
+#define MODULE_ID_AP_KERNEL_START	(101)
+#define MODULE_ID_AP_KERNEL_END		(200)
 
+#define MODULE_ID_CAP_KERNEL_START	(201)
+#define MODULE_ID_CAP_KERNEL_END	(300)
 
-#define MODULE_ID_CAP_USB			 ("cap_usb")
-#define MODULE_ID_CAP_TSC			 ("cap_tsc")
-#define MODULE_ID_CAP_PSM			 ("cap_psm")
-#define MODULE_ID_CAP_NAND			 ("cap_nand")
-#define MODULE_ID_CAP_SPI			 ("cap_spi")
-#define MODULE_ID_CAP_MMC			 ("cap_mmc")
-#define MODULE_ID_CAP_UART			 ("cap_uart")
-#define MODULE_ID_CAP_PM			 ("cap_pm")
+#define MODULE_ID_AP_DRIVES_START	(301)
+#define MODULE_ID_AP_USB			(301)
+#define MODULE_ID_AP_REBOOT			(302)
+#define MODULE_ID_AP_TSC			(303)
+#define MODULE_ID_AP_PSM			(304)
+#define MODULE_ID_AP_NAND			(305)
+#define MODULE_ID_AP_MMC			(306)
+#define MODULE_ID_AP_WIFI			(307)
+#define MODULE_ID_AP_DRIVES_END		(400)
 
+#define MODULE_ID_CAP_DRIVES_START	(401)
+#define MODULE_ID_CAP_USB			(401)
+#define MODULE_ID_CAP_TSC			(402)
+#define MODULE_ID_CAP_PSM			(403)
+#define MODULE_ID_CAP_NAND			(404)
+#define MODULE_ID_CAP_SPI			(405)
+#define MODULE_ID_CAP_MMC			(406)
+#define MODULE_ID_CAP_UART			(407)
+#define MODULE_ID_CAP_DRIVES_END	(500)
 
-#define MODULE_ID_AP_JFFS2           ("ap_jffs2")
-#define MODULE_ID_AP_FOTA            ("ap_fota")
-#define MODULE_ID_AP_FS_CHECK        ("ap_fs_check")
+#define MODULE_ID_AP_FS_START		(501)
+#define MODULE_ID_AP_JFFS2			(501)
+#define MODULE_ID_AP_FS_END			(600)
 
-#define MODULE_ID_CAP_FOTA			 ("cap_fota")
-#define MODULE_ID_CAP_FS_CHECK		 ("cap_fs_check")
- 
-#if defined(_USE_ZXIC_DEBUG_INFO)
-int sc_debug_info_vrecord(char *id, const char *format, va_list args);
-int sc_debug_info_record(char *id, const char *format, ...);
+#define MODULE_ID_CAP_FS_START		(601)
+#define MODULE_ID_CAP_FS_END		(700)
+
+#define MODULE_ID_AP_APP_START		(701)
+#define MODULE_ID_AP_FOTA			(701)
+#define MODULE_ID_AP_FS_CHECK		(702)
+#define MODULE_ID_AP_APP_END		(800)
+
+#define MODULE_ID_CAP_APP_START		(801)
+#define MODULE_ID_CAP_FOTA			(801)
+#define MODULE_ID_CAP_FS_CHECK		(802)
+#define MODULE_ID_CAP_APP_END		(900)
+
+#if defined(_USE_ZXIC_DEBUG_INFO) && !defined(CONFIG_SYSTEM_RECOVERY)
+int sc_debug_info_vrecord(unsigned int id, const char *format, va_list args);
+int sc_debug_info_record(unsigned int id, const char *format, ...);
 #else
-static inline int sc_debug_info_vrecord(char *id, const char *format, va_list args) { return 0; }
-static inline int sc_debug_info_record(char *id, const char *format, ...) { return 0; }
+static inline int sc_debug_info_vrecord(unsigned int id, const char *format, va_list args) { return 0; }
+static inline int sc_debug_info_record(unsigned int id, const char *format, ...) { return 0; }
 #endif
 
 #endif
\ No newline at end of file
diff --git a/Uboot/pub/project/zx297520v3/include/drv/NvParam_drv.h b/Uboot/pub/project/zx297520v3/include/drv/NvParam_drv.h
index 95c3158..66c6f6d 100755
--- a/Uboot/pub/project/zx297520v3/include/drv/NvParam_drv.h
+++ b/Uboot/pub/project/zx297520v3/include/drv/NvParam_drv.h
@@ -214,10 +214,8 @@
 	UINT8			isUseTxDtmfDet;     

     UINT8			isUseRxMixData;

 	UINT8			isUseTxMixData;//12

-	UINT8			isUseEcall; //13

-	UINT8 			isUseVoiceBuffer; //14  0 not use,1 use

-	UINT8 			selVoiceBufferType; //15 0 single core, 1 dual core	

-    UINT8           reserved[17];//32-15

+	UINT8			isUseEcall;

+    UINT8           reserved[19];//32-13

 	

 }  T_Audio_NvFlag;

 

diff --git a/Uboot/pub/project/zx297520v3/include/infra/ram_base_config_7520v3.h b/Uboot/pub/project/zx297520v3/include/infra/ram_base_config_7520v3.h
index edb3bfb..6a1626d 100755
--- a/Uboot/pub/project/zx297520v3/include/infra/ram_base_config_7520v3.h
+++ b/Uboot/pub/project/zx297520v3/include/infra/ram_base_config_7520v3.h
@@ -163,7 +163,7 @@
 #define DDR_BASE_OFF_CAP                (DDR_BASE_OFF_CAP_BUF + DDR_BASE_LEN_CAP_BUF)

 

 /* capºËµÄdtbµØÖ·¹©ubootºËcap kernelʹÓà */

-#define DDR_BASE_CAP_DTB_ADDR           (DDR_BASE_ADDR_CAP_BUF + (0x00194000UL>>CPU_SHIFT))

+#define DDR_BASE_CAP_DTB_ADDR           (DDR_BASE_ADDR_CAP_BUF + (0x00100000UL>>CPU_SHIFT))

 #else

 /* 42.75M£¬AP¹²ºË°æ±¾(´Ë´óСÊǰ´ÕÕº¬CAPºËµÄ64MÄÚ´æÅäÖö¨Ò壬¸Ãºê±ð´¦²»»á±»Ê¹ÓÃ) */

 #define DDR_BASE_ADDR_AP                (DDR_BASE_ADDR_RAMDUMP + DDR_BASE_LEN_RAMDUMP)

@@ -253,13 +253,6 @@
 #define TEE_SHARE_BUF_ADDR              (RAMDUMP_AP_TO_CAP_BUF_ADDR + RAMDUMP_AP_TO_CAP_BUF_LEN)

 #define TEE_SHARE_BUF_LEN               ((384 * 1024UL)>>CPU_SHIFT)

 

-/* psά²â¿Õ¼ä(Êý¾Ý + ¿ØÖÆ)¸´ÓÃAP_TO_CAPµÄramdump´æ´¢¿Õ¼ä */

-#define PS_DEBUG_INFO_LEN_ADDR          (RAMDUMP_AP_TO_CAP_BUF_ADDR + ((4 * 1024UL)>>CPU_SHIFT))

-#define PS_DEBUG_INFO_LEN_SIZE          ((4 * 1024UL)>>CPU_SHIFT)

-

-#define PS_DEBUG_INFO_ADDR              (PS_DEBUG_INFO_LEN_ADDR + PS_DEBUG_INFO_LEN_SIZE)

-#define PS_DEBUG_INFO_SIZE              ((64 * 1024UL)>>CPU_SHIFT)

-

 #define ICP_CAP_BUF_ADDR_PA             DDR_BASE_CAPBUF_ADDR_PA

 #define TOOL_CAP_BUF_ADDR_PA            (ICP_CAP_BUF_ADDR_PA + ICP_CAP_BUF_LEN)

 #define RINGBUF_CAP_TO_AP_ADDR_PA       (TOOL_CAP_BUF_ADDR_PA + TOOL_CAP_BUF_LEN)

@@ -269,9 +262,6 @@
 #define TOOL_ZSP_TO_CAP_LOG_ADDR_PA     (RINGBUF_AP_TO_CAP_ADDR_PA + RINGBUF_AP_TO_CAP_LEN)

 #define RAMDUMP_AP_TO_CAP_BUF_ADDR_PA   (TOOL_ZSP_TO_CAP_LOG_ADDR_PA + TOOL_ZSP_TO_CAP_LOG_LEN)

 #define TEE_SHARE_BUF_ADDR_PA           (RAMDUMP_AP_TO_CAP_BUF_ADDR_PA + RAMDUMP_AP_TO_CAP_BUF_LEN)

-

-#define PS_DEBUG_INFO_LEN_ADDR_PA       (RAMDUMP_AP_TO_CAP_BUF_ADDR_PA + ((4 * 1024UL)>>CPU_SHIFT))

-#define PS_DEBUG_INFO_ADDR_PA           (PS_DEBUG_INFO_LEN_ADDR_PA + PS_DEBUG_INFO_LEN_SIZE)

 #endif

 

 /* 7520V3оƬIRAM0ѹËõ£¬Ð­ÒéÕ»ÎïÀí²ã½»»¥¿Õ¼äÒÆ¶¯µ½DDR£¬¸´ÓÃRamdump¿Õ¼ä */