view libgsmfrp/gsm_fr_preproc.h @ 194:f151d6c18b31

libgsmefr/enc_lag6.c: perf opt
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 04 Jan 2023 03:36:39 +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 */