#include "SV_common_include.h"

int SV_UnbiasedMMSE_Init(void **varsPtr, short vec_size, char *scratch_mem_ptr);
int SV_UnbiasedMMSE_WB_Band_Init(void **varsPtr, char *scratch_mem_ptr);
int SV_UnbiasedMMSE_WB_Band_Delayed_Init(void **varsPtr, int delaySize, char *scratch_mem_ptr);
void SV_UnbiasedMMSE_Deinit();
void SV_UnbiasedMMSE_Proc(void *void_vars, int *in, int TxVAD, int RxVAD, short *ref_mask);
int *SV_UnbiasedMMSE_Get_BandSNR(void *void_vars);
int *SV_UnbiasedMMSE_Get_SNR(void *void_vars);
int SV_UnbiasedMMSE_Get_SNR_Q(void *void_vars);
short *SV_UnbiasedMMSE_Get_Mask(void *void_vars);
//int *SV_UnbiasedMMSE_Get_Npsd(void *void_vars);
//short *SV_UnbiasedMMSE_Get_Npsd_Q(void *void_vars);
void SV_UnbiasedMMSE_SetReliableVADMode(void *void_vars, short value);
short SV_UnbiasedMMSE_Get_NoiseLevel(void *void_vars);
int *SV_UnbiasedMMSE_Get_BandNpsd(void *void_vars);
short *SV_UnbiasedMMSE_Get_BandNpsd_Q(void *void_vars);
int SV_UnbiasedMMSE_Get_BandIndex(int freqBinIndex);
void SV_UnbiasedMMSE_SetDisablePreventStagnation(void *void_vars, short flag);
void SV_UnbaisedMMSE_SetNoiseOnsetFlag(void *void_vars, short flag);