diff libgsmfrp/gsm_fr_preproc.h @ 1:6780b23654bd

libgsmfrp: starting with the silence frame
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 19 Nov 2022 04:04:01 +0000
parents
children 2b5770c715ee
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgsmfrp/gsm_fr_preproc.h	Sat Nov 19 04:04:01 2022 +0000
@@ -0,0 +1,32 @@
+/*
+ * This header file is the external public interface to libgsmfrp;
+ * it should be installed in the same system include directory
+ * as <gsm.h> from libgsm, on which we depend.
+ */
+
+#ifndef	__GSM_FR_PREPROC_H
+#define	__GSM_FR_PREPROC_H
+
+#include <gsm.h>
+
+struct gsmfr_preproc_state;	/* opaque to external users */
+
+extern struct gsmfr_preproc_state *gsmfr_preproc_create(void);
+/* use standard free() call to free it afterward */
+
+/* reset state to initial */
+extern void gsmfr_preproc_reset(struct gsmfr_preproc_state *state);
+
+/* main processing functions */
+extern void gsmfr_preproc_good_frame(struct gsmfr_preproc_state *state,
+				     gsm_byte *frame);
+extern void gsmfr_preproc_bfi(struct gsmfr_preproc_state *state, int taf,
+			      gsm_byte *frame_out);
+
+/* utility function */
+extern int gsmfr_preproc_sid_classify(const gsm_frame *frame);
+
+/* utility datum */
+extern const gsm_frame gsmfr_preproc_silence_frame;
+
+#endif	/* include guard */