diff libtwamr/pstfilt.h @ 401:59655481e45b

libtwamr: integrate pstfilt.c
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 06 May 2024 19:44:15 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libtwamr/pstfilt.h	Mon May 06 19:44:15 2024 +0000
@@ -0,0 +1,68 @@
+/*
+********************************************************************************
+*
+*      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             : pstfilt.h
+*      Purpose          : Performs adaptive postfiltering on the synthesis
+*                       : speech
+*
+********************************************************************************
+*/
+#ifndef pstfilt_h
+#define pstfilt_h "$Id $"
+ 
+/*
+********************************************************************************
+*                         INCLUDE FILES
+********************************************************************************
+*/
+#include "tw_amr.h"
+#include "typedef.h"
+#include "cnst.h"
+#include "preemph.h"
+#include "agc.h"
+/*
+********************************************************************************
+*                         DEFINITION OF DATA TYPES
+********************************************************************************
+*/
+typedef struct{
+  Word16 res2[L_SUBFR];
+  Word16 mem_syn_pst[M];
+  preemphasisState preemph_state;
+  agcState agc_state;
+  Word16 synth_buf[M + L_FRAME];  
+} Post_FilterState;
+
+/*
+********************************************************************************
+*                         DECLARATION OF PROTOTYPES
+********************************************************************************
+*/
+ 
+void Post_Filter_reset (Post_FilterState *st);
+/* reset post filter (i.e. set state memory to zero)
+   returns 0 on success
+ */
+
+int Post_Filter (
+    Post_FilterState *st, /* i/o : post filter states                        */
+    enum Mode mode,       /* i   : AMR mode                                  */
+    Word16 *syn,          /* i/o : synthesis speech (postfiltered is output) */
+    Word16 *Az_4          /* i   : interpolated LPC parameters in all subfr. */
+);
+/* filters the signal syn using the parameters in Az_4 to calculate filter
+   coefficients.
+   The filter must be set up using Post_Filter_init prior to the first call
+   to Post_Filter. Post_FilterState is updated to mirror the current state
+   of the filter
+ 
+   return 0 on success
+ */
+ 
+#endif