# HG changeset patch # User Mychaela Falconia # Date 1669258524 0 # Node ID b4db5366b595a910a958e233441304cb7ef87258 # Parent b5726d659915f9234fc86873c20d9d605aa16d79 libgsmefr: implement SID code word insertion diff -r b5726d659915 -r b4db5366b595 libgsmefr/Makefile --- a/libgsmefr/Makefile Thu Nov 24 02:36:47 2022 +0000 +++ b/libgsmefr/Makefile Thu Nov 24 02:55:24 2022 +0000 @@ -1,6 +1,6 @@ CC= gcc CFLAGS= -O2 -OBJS= frame2params.o params2frame.o sid_class.o +OBJS= frame2params.o params2frame.o sid_class.o sid_insert.o LIB= libgsmefr.a INSTALL_PREFIX= /usr/local diff -r b5726d659915 -r b4db5366b595 libgsmefr/sid_insert.c --- /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; +}