view libgsmfrp/gsm_fr_preproc.h @ 122:b33f2168fdec

doc/EFR-rationale article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 10 Dec 2022 08:51:01 +0000
parents 2b5770c715ee
children
line wrap: on
line source

/*
 * This header file is the external public interface to libgsmfrp;
 * it should be installed in the same system include directory
 * as <gsm.h> from libgsm, on which we depend.
 */

#ifndef	__GSM_FR_PREPROC_H
#define	__GSM_FR_PREPROC_H

#include <gsm.h>

struct gsmfr_preproc_state;	/* opaque to external users */

extern struct gsmfr_preproc_state *gsmfr_preproc_create(void);
/* use standard free() call to free it afterward */

/* reset state to initial */
extern void gsmfr_preproc_reset(struct gsmfr_preproc_state *state);

/* main processing functions */
extern void gsmfr_preproc_good_frame(struct gsmfr_preproc_state *state,
				     gsm_byte *frame);
extern void gsmfr_preproc_bfi(struct gsmfr_preproc_state *state, int taf,
			      gsm_byte *frame_out);

/* utility function */
extern int gsmfr_preproc_sid_classify(const gsm_byte *frame);

/* utility datum */
extern const gsm_frame gsmfr_preproc_silence_frame;

#endif	/* include guard */