FreeCalypso > hg > gsm-codec-lib
changeset 275:5fbb323b2978
libgsmfr2: implement encoder homing
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 14 Apr 2024 03:06:03 +0000 |
parents | 52c667f17d2c |
children | e4ca04586118 |
files | libgsmfr2/Makefile libgsmfr2/enc_homing.c |
diffstat | 2 files changed, 23 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- /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 <stdint.h> +#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); +}