# HG changeset patch # User Mychaela Falconia # Date 1669489136 0 # Node ID f80a3202c8ff4dfff69ed8f346079ae87ef918d5 # Parent d80e9f12a1d1b37f2fdecccc0fdfd962a13c8522 libgsmefr: implement main decoder wrapper diff -r d80e9f12a1d1 -r f80a3202c8ff libgsmefr/Makefile --- a/libgsmefr/Makefile Sat Nov 26 18:52:49 2022 +0000 +++ b/libgsmefr/Makefile Sat Nov 26 18:58:56 2022 +0000 @@ -2,9 +2,9 @@ CFLAGS= -O2 OBJS= agc.o autocorr.o az_lsp.o basicop2.o c1035pf.o cod_12k2.o convolve.o \ d1035pf.o d_gains.o d_homing.o d_plsf_5.o dec_12k2.o dec_create.o \ - dec_lag6.o dec_main.o dtx.o e_homing.o enc_create.o enc_lag6.o \ - frame2params.o g_code.o g_pitch.o int_lpc.o inter_6.o inv_sqrt.o \ - lag_wind.o levinson.o log2.o lsp_az.o lsp_lsf.o oper_32b.o \ + dec_lag6.o dec_main.o dec_wrap.o dtx.o e_homing.o enc_create.o \ + enc_lag6.o frame2params.o g_code.o g_pitch.o int_lpc.o inter_6.o \ + inv_sqrt.o lag_wind.o levinson.o log2.o lsp_az.o lsp_lsf.o oper_32b.o \ params2frame.o pitch_f6.o pitch_ol.o pow2.o pre_proc.o pred_lt6.o \ preemph.o pstfilt2.o q_gains.o q_plsf_5.o reorder.o residu.o \ sid_class.o sid_insert.o syn_filt.o tls_flags.o weight_a.o diff -r d80e9f12a1d1 -r f80a3202c8ff libgsmefr/dec_wrap.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgsmefr/dec_wrap.c Sat Nov 26 18:58:56 2022 +0000 @@ -0,0 +1,17 @@ +/* + * This module contains our EFR_decode_frame() function, which is the primary + * (most common, most useful) interface to our EFR decoder. + */ + +#include "gsm_efr.h" + +void EFR_decode_frame(struct EFR_decoder_state *st, const uint8_t *frame, + int bfi, int taf, int16_t *pcm_out) +{ + int16_t params[EFR_NUM_PARAMS]; + int sid; + + EFR_frame2params(frame, params); + sid = EFR_sid_classify(frame); + EFR_decode_params(st, params, bfi, sid, taf, pcm_out); +}