view ffstools/tiaud/binstruct.h @ 835:516066ac5bc1

tiaud-decomp: support both old-AEC and new-AEC mode files
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 00:23:05 +0000
parents c458e33060bf
children
line wrap: on
line source

/*
 * The binary structure of /aud/*.cfg audio mode config files
 * written and read by TI's TCS211 firmware is defined here.
 */

struct audio_cfg_bin {
	uint8_t		voice_path;
	uint8_t		pad1[3];
	uint8_t		mic_mode;
	uint8_t		pad2[3];
	int8_t		mic_bytes[4];
	uint16_t	mic_fir[32];
	uint8_t		speaker_mode;
	uint8_t		pad3[3];
	int8_t		speaker_bytes[4];
	uint16_t	speaker_fir[32];
	int8_t		sidetone_gain;
	uint8_t		pad4[3];
	uint16_t	aec_words[12];
};

#define	MODE_FILE_SIZE_NEWAEC	(sizeof(struct audio_cfg_bin))
#define	MODE_FILE_SIZE_OLDAEC	(sizeof(struct audio_cfg_bin) - 12)

/* mic_mode byte */
#define AUDIO_MICROPHONE_HANDHELD   (0)
#define AUDIO_MICROPHONE_HANDFREE   (1)
#define AUDIO_MICROPHONE_HEADSET    (2)

/* speaker_mode byte */
#define AUDIO_SPEAKER_HANDHELD          (0)
#define AUDIO_SPEAKER_HANDFREE          (1)
#define AUDIO_SPEAKER_HEADSET           (2)
#define AUDIO_SPEAKER_BUZZER            (3)
#define AUDIO_SPEAKER_HANDHELD_HANDFREE (4)