# HG changeset patch # User Mychaela Falconia # Date 1713063963 0 # Node ID 5fbb323b29784c1020113db3c7c61c8e66ca8a6f # Parent 52c667f17d2cb486e5aa2e1b3ed7d8aec63f4cf5 libgsmfr2: implement encoder homing diff -r 52c667f17d2c -r 5fbb323b2978 libgsmfr2/Makefile --- a/libgsmfr2/Makefile Sun Apr 14 02:57:18 2024 +0000 +++ b/libgsmfr2/Makefile Sun Apr 14 03:06:03 2024 +0000 @@ -1,9 +1,10 @@ CC= gcc CFLAGS= -O2 -OBJS= add.o comfort_noise.o dec_main.o dec_wrap.o ed_state.o enc_main.o \ - enc_wrap.o long_term.o lpc.o pack_frame.o pack_frame2.o pp_bad.o \ - pp_good.o pp_state.o preprocess.o prng.o rpe.o short_term.o sidclass.o \ - silence_frame.o table.o unpack_frame.o unpack_frame2.o xmaxc_mean.o +OBJS= add.o comfort_noise.o dec_main.o dec_wrap.o ed_state.o enc_homing.o \ + enc_main.o enc_wrap.o long_term.o lpc.o pack_frame.o pack_frame2.o \ + pp_bad.o pp_good.o pp_state.o preprocess.o prng.o rpe.o short_term.o \ + sidclass.o silence_frame.o table.o unpack_frame.o unpack_frame2.o \ + xmaxc_mean.o HDRS= ed_internal.h ed_state.h pp_internal.h pp_state.h tw_gsmfr.h typedef.h LIB= libgsmfr2.a diff -r 52c667f17d2c -r 5fbb323b2978 libgsmfr2/enc_homing.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgsmfr2/enc_homing.c Sun Apr 14 03:06:03 2024 +0000 @@ -0,0 +1,18 @@ +/* + * This module contains our implementation of the optional homing feature + * for our GSM 06.10 encoder. + */ + +#include +#include "tw_gsmfr.h" + +void gsmfr_0610_encoder_homing(struct gsmfr_0610_state *st, const int16_t *pcm) +{ + int i; + + for (i = 0; i < 160; i++) { + if (pcm[i] != 0x0008) + return; + } + gsmfr_0610_reset(st); +}