view amrconv/amr_defs.h @ 282:9ee8ad3d4d30

frtest: rm gsmfr-hand-test and gsmfr-max-out utils These hack programs were never properly documented and were written only as part of a debug chase, in pursuit of a bug that ultimately turned out to be in our then-hacky patch to osmo-bts-sysmo, before beginning of proper patches in Osmocom. These hack programs need to be dropped from the present sw package because they depend on old libgsm, and we are eliminating that dependency.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 14 Apr 2024 05:44:47 +0000
parents 934cf92a1c45
children
line wrap: on
line source

/*
 * This header file holds some miscellaneous definitions for AMR,
 * to be used by parsing and conversion debug utilities.
 */

#define	MAX_PRM_SIZE		57	/* max. num. of params      */
#define	MAX_SERIAL_SIZE		244	/* max. num. of serial bits */
#define	MAX_IF1_BYTES		31	/* max bytes in AMR IF1 packing */
#define	IETF_HDR_LEN		6	/* .amr file header bytes */

enum TXFrameType {
	TX_SPEECH_GOOD = 0,
	TX_SID_FIRST,
	TX_SID_UPDATE,
	TX_NO_DATA,
	TX_SPEECH_DEGRADED,
	TX_SPEECH_BAD,
	TX_SID_BAD,
	TX_ONSET,
	TX_N_FRAMETYPES		/* number of frame types */
};

enum Mode {
	MR475 = 0,
	MR515,            
	MR59,
	MR67,
	MR74,
	MR795,
	MR102,
	MR122,            
	MRDTX
};

#define	MODE_NO_DATA		15

/* number of speech bits for all modes */
#define	AMR_NBITS_475		95
#define	AMR_NBITS_515		103
#define	AMR_NBITS_59		118
#define	AMR_NBITS_67		134
#define	AMR_NBITS_74		148
#define	AMR_NBITS_795		159
#define	AMR_NBITS_102		204
#define	AMR_NBITS_122		244
#define	AMR_NBITS_SID		35

/* number of distinct parameters for all modes */
#define	PRMNO_MR475		17
#define	PRMNO_MR515		19
#define	PRMNO_MR59		19
#define	PRMNO_MR67		19
#define	PRMNO_MR74		19
#define	PRMNO_MR795		23
#define	PRMNO_MR102		39
#define	PRMNO_MR122		57
#define	PRMNO_MRDTX		5

/* ETSI/3GPP test sequence file format */
#define	COD_FORMAT_NWORDS	250