wma2wav.h

来自「ESS3890+SL原代码(1*16内存)」· C头文件 代码 · 共 121 行

H
121
字号
/* Copyright 1997, ESS Technology, Inc.                                 *//* SCCSID @(#)wma2wav.h	1.1 01/23/02 *//* Based on DVD code version  	1.4 10/06/01 */#if 1 /* def WMA_CERT */#ifndef _WMA2WAV_H#define _WMA2WAV_Htypedef char int8;typedef short int16;typedef long int32;typedef uchar uint8;typedef ushort uint16;typedef uint   uint32;#define MAX_VOICES     32#define LOG2_MAX_VOICES     1#define MAX_PATCHES    256#define MAX_SPLITS     16#define MAX_CHANNEL    16#define MIX_FIFO_SIZE  4410/* note: patch file is little-endian, while MIDI file is big-endian */#define XCHG_SHORT(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF))#define XCHG_LONG(x) ((((x)&0xFF)<<24) | \                      (((x)&0xFF00)<<8) | \                      (((x)&0xFF0000)>>8) | \                      (((x)>>24)&0xFF))#ifdef __WIN32__#define LITTLE_ENDIAN#endif#undef LITTLE_ENDIAN#ifdef LITTLE_ENDIAN#define LE_SHORT(x) (x)#define LE_LONG(x) x#define BE_SHORT(x) XCHG_SHORT(x)#define BE_LONG(x) XCHG_LONG(x)#else#define LE_SHORT(x) XCHG_SHORT(x)#define LE_LONG(x) XCHG_LONG(x)#define BE_SHORT(x) (x)#define BE_LONG(x) x#endif/* MMIO macros */#define mmioFOURCC(ch0, ch1, ch2, ch3) \  ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \  ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))#define FOURCC_RIFF	mmioFOURCC ('R', 'I', 'F', 'F')#define FOURCC_LIST	mmioFOURCC ('L', 'I', 'S', 'T')#define FOURCC_WAVE	mmioFOURCC ('W', 'A', 'V', 'E')#define FOURCC_FMT	mmioFOURCC ('f', 'm', 't', ' ')#define FOURCC_DATA	mmioFOURCC ('d', 'a', 't', 'a')#define PE_MONO         0x01  /* versus stereo */#define PE_SIGNED       0x02  /* versus unsigned */#define PE_16BIT        0x04  /* versus 8-bit */#define PE_ULAW         0x08  /* versus linear */#define PE_BYTESWAP     0x10  /* versus the other way */ #define DEFAULT_RATE    44100#define CC_RATE         1 typedef DWORD FOURCC;	/* a four character code */typedef struct CHUNKHDR {  FOURCC ckid;		/* chunk ID */  DWORD dwSize; 	/* chunk size */} CHUNKHDR;/* flags for 'wFormatTag' field of WAVEFORMAT */#define WAVE_FORMAT_PCM 1/* specific waveform format structure for PCM data */typedef struct pcmwaveformat_tag {  WORD wFormatTag;	/* format type */  WORD nChannels;	/* number of channels (i.e. mono, stereo, etc.) */  DWORD nSamplesPerSec; /* sample rate */  DWORD nAvgBytesPerSec;/* for buffer size estimate */  WORD nBlockAlign;	/* block size of data */  WORD wBitsPerSample;} PCMWAVEFORMAT;typedef PCMWAVEFORMAT *PPCMWAVEFORMAT;/* simplified Header for standard WAV files */typedef struct WAVEHDR {  CHUNKHDR chkRiff;  FOURCC fccWave;  CHUNKHDR chkFmt;  WORD wFormatTag;	/* format type */  WORD nChannels;	/* number of channels (i.e. mono, stereo, etc.) */  DWORD nSamplesPerSec; /* sample rate */  DWORD nAvgBytesPerSec;/* for buffer estimation */  WORD nBlockAlign;	/* block size of data */  WORD wBitsPerSample;/*  CHUNKHDR chkData; */} WAVEHDR;int open_wmatest_file (char *filename);int close_wmatest_file(void);int write_wavefile(int* startbuff,int length);int  itoa(int number,char *s, int radix);#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?