view amrconv/amr_defs.h @ 585:3c6bf0d26ee7 default tip

TW-TS-005 reader: fix maximum line length bug TW-TS-005 section 4.1 states: The maximum allowed length of each line is 80 characters, not including the OS-specific newline encoding. The implementation of this line length limit in the TW-TS-005 hex file reader function in the present suite was wrong, such that lines of the full maximum length could not be read. Fix it. Note that this bug affects comment lines too, not just actual RTP payloads. Neither Annex A nor Annex B features an RTP payload format that goes to the maximum of 40 bytes, but if a comment line goes to the maximum allowed length of 80 characters not including the terminating newline, the bug will be triggered, necessitating the present fix.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 25 Feb 2025 07:49:28 +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