diff libtwamr/dtx_enc.h @ 407:5a1d18542f8a

libtwamr: integrate dtx_dec.c and dtx_enc.c
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 07 May 2024 00:05:12 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libtwamr/dtx_enc.h	Tue May 07 00:05:12 2024 +0000
@@ -0,0 +1,110 @@
+/*
+********************************************************************************
+*
+*      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             : dtx_enc.h
+*      Purpose          : DTX mode computation of SID parameters
+*
+********************************************************************************
+*/
+#ifndef dtx_enc_h
+#define dtx_enc_h "$Id $" 
+ 
+/*
+********************************************************************************
+*                         INCLUDE FILES
+********************************************************************************
+*/
+#include "tw_amr.h"
+#include "typedef.h"
+#include "cnst.h"
+#include "q_plsf.h"
+#include "gc_pred.h"
+#include "dtx_common.h"
+
+/*
+********************************************************************************
+*                         DEFINITION OF DATA TYPES
+********************************************************************************
+*/
+typedef struct {
+   Word16 lsp_hist[M * DTX_HIST_SIZE];
+   Word16 log_en_hist[DTX_HIST_SIZE];
+   Word16 hist_ptr;
+   Word16 log_en_index;
+   Word16 init_lsf_vq_index;
+   Word16 lsp_index[3];
+
+   /* DTX handler stuff */
+   Word16 dtxHangoverCount;
+   Word16 decAnaElapsedCount;
+
+} dtx_encState;
+/*
+********************************************************************************
+*                         DECLARATION OF PROTOTYPES
+********************************************************************************
+*/
+ 
+/*
+**************************************************************************
+*
+*  Function    : dtx_enc_reset
+*  Purpose     : Resets state memory
+*  Returns     : 0 on success
+*
+**************************************************************************
+*/
+void dtx_enc_reset (dtx_encState *st);
+ 
+/*
+**************************************************************************
+*
+*  Function    : dtx_enc
+*  Purpose     :
+*  Description :
+*                
+**************************************************************************
+*/
+int dtx_enc(dtx_encState *st,        /* i/o : State struct                    */
+            Word16 computeSidFlag,   /* i   : compute SID                     */
+	    Q_plsfState *qSt,        /* i/o : Qunatizer state struct          */
+            gc_predState* predState, /* i/o : State struct                    */
+	    Word16 **anap            /* o   : analysis parameters             */
+	    );
+
+/*
+**************************************************************************
+*
+*  Function    : dtx_buffer
+*  Purpose     : handles the DTX buffer
+*                
+**************************************************************************
+*/
+int dtx_buffer(dtx_encState *st,   /* i/o : State struct                    */
+	       Word16 lsp_new[],   /* i   : LSP vector                      */
+	       Word16 speech[]     /* i   : speech samples                  */
+	       );
+
+/*
+**************************************************************************
+*
+*  Function    : tx_dtx_handler
+*  Purpose     : adds extra speech hangover to analyze speech on the decoding side. 
+*  Description : returns 1 when a new SID analysis may be made
+*                otherwise it adds the appropriate hangover after a sequence
+*                with out updates of SID parameters . 
+*                
+**************************************************************************
+*/
+Word16 tx_dtx_handler(dtx_encState *st,       /* i/o : State struct          */
+                      Word16 vadFlag,         /* i   : vad control variable  */
+                      enum Mode *usedMode     /* o   : mode changed or not   */
+                      );
+
+#endif