diff libgsmefr/sid_insert.c @ 37:b4db5366b595

libgsmefr: implement SID code word insertion
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 24 Nov 2022 02:55:24 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgsmefr/sid_insert.c	Thu Nov 24 02:55:24 2022 +0000
@@ -0,0 +1,26 @@
+/*
+ * EFR_insert_sid_codeword() inserts the 95 bit wide SID codeword into
+ * an EFR frame in RTP encoding, normally as part of EFR_encode_frame()
+ * processing right after EFR_params2frame().
+ */
+
+#include "gsm_efr.h"
+
+void EFR_insert_sid_codeword(uint8_t *frame)
+{
+	frame[6] |= 0x6F;
+	frame[7]  = 0xFF;
+	frame[8]  = 0xFF;
+	frame[9] |= 0x80;
+	frame[12] |= 0x3B;
+	frame[13]  = 0xFF;
+	frame[14]  = 0xFF;
+	frame[15] |= 0xE0;
+	frame[19]  = 0xFF;
+	frame[20]  = 0xFF;
+	frame[21]  = 0xFF;
+	frame[25]  = 0xFF;
+	frame[26] |= 0xFC;
+	frame[27]  = 0xFF;
+	frame[28] |= 0xC0;
+}