diff libgsmfr2/pp_state.h @ 262:573afa985df6

libgsmfr2: split pp_state.h from pp_internal.h
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 13 Apr 2024 00:43:36 +0000
parents libgsmfr2/pp_internal.h@a33edf624061
children 96c4ed5529bf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgsmfr2/pp_state.h	Sat Apr 13 00:43:36 2024 +0000
@@ -0,0 +1,25 @@
+/*
+ * This header file is internal to libgsmfr2;
+ * here we define our state structure for the Rx DTX preprocessor component.
+ */
+
+enum rx_dtx_st {
+	NO_DATA = 0,
+	SPEECH,
+	SPEECH_MUTING,
+	COMFORT_NOISE,
+	LOST_SID,
+	CN_MUTING,
+};
+
+struct gsmfr_preproc_state {
+	enum rx_dtx_st	rx_state;
+	uint8_t		speech_frame[GSMFR_RTP_FRAME_LEN];
+	uint8_t		sid_prefix[5];
+	uint8_t		sid_xmaxc;
+	uint32_t	cn_random_lfsr;
+	unsigned	cn_random_6fold;
+};
+
+/* we use the same LFSR PRNG for CN as ETSI EFR implementation */
+#define PN_INITIAL_SEED 0x70816958L   /* Pseudo noise generator seed value  */