ref: b4989014824433c9f048b0066a84b9f9e99611d2
dir: /common/libsndfile/src/wav.h/
#ifndef WAV_H_INCLUDED
#define WAV_H_INCLUDED
#ifdef _WIN32
#pragma pack(push,1)
#endif
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
} MIN_WAV_FMT ;
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
unsigned short extrabytes ;
unsigned short dummy ;
} WAV_FMT_SIZE20 ;
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
unsigned short extrabytes ;
unsigned short samplesperblock ;
unsigned short numcoeffs ;
struct
{ short coeff1 ;
short coeff2 ;
} coeffs [7] ;
} MS_ADPCM_WAV_FMT ;
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
unsigned short extrabytes ;
unsigned short samplesperblock ;
} IMA_ADPCM_WAV_FMT ;
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
unsigned short extrabytes ;
unsigned short samplesperblock ;
} GSM610_WAV_FMT ;
typedef struct
{ unsigned int esf_field1 ;
unsigned short esf_field2 ;
unsigned short esf_field3 ;
unsigned char esf_field4 [8] ;
} EXT_SUBFORMAT ;
typedef struct
{ unsigned short format ;
unsigned short channels ;
unsigned int samplerate ;
unsigned int bytespersec ;
unsigned short blockalign ;
unsigned short bitwidth ;
unsigned short extrabytes ;
unsigned short validbits ;
unsigned int channelmask ;
EXT_SUBFORMAT esf ;
} EXTENSIBLE_WAV_FMT ;
typedef union
{ unsigned short format ;
MIN_WAV_FMT min ;
IMA_ADPCM_WAV_FMT ima ;
MS_ADPCM_WAV_FMT msadpcm ;
EXTENSIBLE_WAV_FMT ext ;
GSM610_WAV_FMT gsm610 ;
WAV_FMT_SIZE20 size20 ;
char padding [512] ;
} WAV_FMT ;
typedef struct
{ unsigned int samples ;
} FACT_CHUNK ;
/*------------------------------------------------------------------------------------
** Functions defined in wav_ima_adpcm.c
*/
int wav_ima_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
int wav_ima_writer_init (SF_PRIVATE *psf) ;
/*------------------------------------------------------------------------------------
** Functions defined in wav_ms_adpcm.c
*/
int wav_msadpcm_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
int wav_msadpcm_writer_init (SF_PRIVATE *psf) ;
/*------------------------------------------------------------------------------------
** Functions defined in wav_gsm610.c
*/
int wav_gsm610_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
int wav_gsm610_writer_init (SF_PRIVATE *psf) ;
#ifdef _WIN32
#pragma pack(pop,1)
#endif
#endif