diff libtwamr/c_g_aver.h @ 324:dc3b7caa59c4

libtwamr: integrate c_g_aver.c
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 18 Apr 2024 20:05:14 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libtwamr/c_g_aver.h	Thu Apr 18 20:05:14 2024 +0000
@@ -0,0 +1,88 @@
+/*
+********************************************************************************
+*
+*      GSM AMR-NB speech codec   R98   Version 7.6.0   December 12, 2001
+*                                R99   Version 3.3.0                
+*                                REL-4 Version 4.1.0                
+*
+********************************************************************************
+*
+*      File             : c_g_aver.h
+*      Purpose          : Background noise source charateristic detector (SCD)
+*
+********************************************************************************
+*/
+#ifndef c_g_aver_h
+#define c_g_aver_h "$Id $"
+ 
+/*
+********************************************************************************
+*                         INCLUDE FILES
+********************************************************************************
+*/
+#include "tw_amr.h"
+#include "typedef.h"
+#include "cnst.h"
+
+/*
+********************************************************************************
+*                         LOCAL VARIABLES AND TABLES
+********************************************************************************
+*/
+#define L_CBGAINHIST 7
+
+/*
+********************************************************************************
+*                         DEFINITION OF DATA TYPES
+********************************************************************************
+*/
+typedef struct{
+   /* history vector of past synthesis speech energy */
+   Word16 cbGainHistory[L_CBGAINHIST];
+   
+   /* state flags */
+   Word16 hangVar;       /* counter; */
+   Word16 hangCount;     /* counter; */
+
+} Cb_gain_averageState;
+ 
+/*
+********************************************************************************
+*                         DECLARATION OF PROTOTYPES
+********************************************************************************
+*/
+/*
+**************************************************************************
+*
+*  Function    : Cb_gain_average_reset
+*  Purpose     : Resets state memory
+*  Returns     : 0 on success
+*
+**************************************************************************
+*/
+void Cb_gain_average_reset (Cb_gain_averageState *st);
+ 
+/*
+**************************************************************************
+*
+*  Function    : Cb_gain_average
+*  Purpose     : Charaterice synthesis speech and detect background noise
+*  Returns     : background noise decision; 0 = bgn, 1 = no bgn
+*
+**************************************************************************
+*/
+Word16 Cb_gain_average (
+   Cb_gain_averageState *st, /* i/o : State variables for CB gain avergeing   */
+   enum Mode mode,           /* i   : AMR mode                                */
+   Word16 gain_code,         /* i   : CB gain                              Q1 */
+   Word16 lsp[],             /* i   : The LSP for the current frame       Q15 */
+   Word16 lspAver[],         /* i   : The average of LSP for 8 frames     Q15 */
+   Word16 bfi,               /* i   : bad frame indication flag               */
+   Word16 prev_bf,           /* i   : previous bad frame indication flag      */
+   Word16 pdfi,              /* i   : potential degraded bad frame ind flag   */
+   Word16 prev_pdf,          /* i   : prev pot. degraded bad frame ind flag   */
+   Word16 inBackgroundNoise, /* i   : background noise decision               */
+   Word16 voicedHangover     /* i   : # of frames after last voiced frame     */
+);
+ 
+#endif