|  | /* | 
|  | * Declarations for MultiMedia-REGistration | 
|  | * | 
|  | * Copyright (C) 1999 Eric Pouech | 
|  | * | 
|  | * This library is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU Lesser General Public | 
|  | * License as published by the Free Software Foundation; either | 
|  | * version 2.1 of the License, or (at your option) any later version. | 
|  | * | 
|  | * This library is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | * Lesser General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU Lesser General Public | 
|  | * License along with this library; if not, write to the Free Software | 
|  | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
|  | */ | 
|  |  | 
|  | #ifndef __WINE_MMREG_H | 
|  | #define __WINE_MMREG_H | 
|  |  | 
|  | /*********************************************************************** | 
|  | * Defines/Enums | 
|  | */ | 
|  |  | 
|  | #ifndef _ACM_WAVEFILTER | 
|  | #define _ACM_WAVEFILTER | 
|  |  | 
|  | #define WAVE_FILTER_UNKNOWN     0x0000 | 
|  | #define WAVE_FILTER_DEVELOPMENT 0xFFFF | 
|  |  | 
|  | typedef struct _WAVEFILTER { | 
|  | DWORD   cbStruct; | 
|  | DWORD   dwFilterTag; | 
|  | DWORD   fdwFilter; | 
|  | DWORD   dwReserved[5]; | 
|  | } WAVEFILTER, *PWAVEFILTER, *NPWAVEFILTER, *LPWAVEFILTER; | 
|  | #endif /* _ACM_WAVEFILTER */ | 
|  |  | 
|  | #ifndef WAVE_FILTER_VOLUME | 
|  | #define WAVE_FILTER_VOLUME      0x0001 | 
|  |  | 
|  | typedef struct _WAVEFILTER_VOLUME { | 
|  | WAVEFILTER      wfltr; | 
|  | DWORD           dwVolume; | 
|  | } VOLUMEWAVEFILTER, *PVOLUMEWAVEFILTER, *NPVOLUMEWAVEFILTER, *LPVOLUMEWAVEFILTER; | 
|  | #endif  /* WAVE_FILTER_VOLUME */ | 
|  |  | 
|  | #ifndef WAVE_FILTER_ECHO | 
|  | #define WAVE_FILTER_ECHO        0x0002 | 
|  |  | 
|  | typedef struct WAVEFILTER_ECHO { | 
|  | WAVEFILTER      wfltr; | 
|  | DWORD           dwVolume; | 
|  | DWORD           dwDelay; | 
|  | } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER; | 
|  | #endif  /* WAVEFILTER_ECHO */ | 
|  |  | 
|  | #ifndef _WAVEFORMATEX_ | 
|  | #define _WAVEFORMATEX_ | 
|  | typedef struct _WAVEFORMATEX { | 
|  | WORD   wFormatTag; | 
|  | WORD   nChannels; | 
|  | DWORD  nSamplesPerSec; | 
|  | DWORD  nAvgBytesPerSec; | 
|  | WORD   nBlockAlign; | 
|  | WORD   wBitsPerSample; | 
|  | WORD   cbSize; | 
|  | } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX; | 
|  | #endif /* _WAVEFORMATEX_ */ | 
|  |  | 
|  | /* WAVE form wFormatTag IDs */ | 
|  | #define  WAVE_FORMAT_UNKNOWN			0x0000	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_ADPCM			0x0002	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_IBM_CVSD			0x0005	/*  IBM Corporation  */ | 
|  | #define  WAVE_FORMAT_ALAW			0x0006	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_MULAW			0x0007	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_OKI_ADPCM			0x0010	/*  OKI  */ | 
|  | #define  WAVE_FORMAT_DVI_ADPCM			0x0011	/*  Intel Corporation  */ | 
|  | #define  WAVE_FORMAT_IMA_ADPCM			(WAVE_FORMAT_DVI_ADPCM)	/*  Intel Corporation  */ | 
|  | #define  WAVE_FORMAT_MEDIASPACE_ADPCM		0x0012	/*  Videologic  */ | 
|  | #define  WAVE_FORMAT_SIERRA_ADPCM		0x0013	/*  Sierra Semiconductor Corp  */ | 
|  | #define  WAVE_FORMAT_G723_ADPCM			0x0014	/*  Antex Electronics Corporation  */ | 
|  | #define  WAVE_FORMAT_DIGISTD			0x0015	/*  DSP Solutions, Inc.  */ | 
|  | #define  WAVE_FORMAT_DIGIFIX			0x0016	/*  DSP Solutions, Inc.  */ | 
|  | #define  WAVE_FORMAT_DIALOGIC_OKI_ADPCM		0x0017	/*  Dialogic Corporation  */ | 
|  | #define  WAVE_FORMAT_YAMAHA_ADPCM		0x0020	/*  Yamaha Corporation of America  */ | 
|  | #define  WAVE_FORMAT_SONARC			0x0021	/*  Speech Compression  */ | 
|  | #define  WAVE_FORMAT_DSPGROUP_TRUESPEECH	0x0022	/*  DSP Group, Inc  */ | 
|  | #define  WAVE_FORMAT_ECHOSC1			0x0023	/*  Echo Speech Corporation  */ | 
|  | #define  WAVE_FORMAT_AUDIOFILE_AF36		0x0024	/*    */ | 
|  | #define  WAVE_FORMAT_APTX			0x0025	/*  Audio Processing Technology  */ | 
|  | #define  WAVE_FORMAT_AUDIOFILE_AF10		0x0026	/*    */ | 
|  | #define  WAVE_FORMAT_DOLBY_AC2			0x0030	/*  Dolby Laboratories  */ | 
|  | #define  WAVE_FORMAT_GSM610			0x0031	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_ANTEX_ADPCME		0x0033	/*  Antex Electronics Corporation  */ | 
|  | #define  WAVE_FORMAT_CONTROL_RES_VQLPC		0x0034	/*  Control Resources Limited  */ | 
|  | #define  WAVE_FORMAT_DIGIREAL			0x0035	/*  DSP Solutions, Inc.  */ | 
|  | #define  WAVE_FORMAT_DIGIADPCM			0x0036	/*  DSP Solutions, Inc.  */ | 
|  | #define  WAVE_FORMAT_CONTROL_RES_CR10		0x0037	/*  Control Resources Limited  */ | 
|  | #define  WAVE_FORMAT_NMS_VBXADPCM		0x0038	/*  Natural MicroSystems  */ | 
|  | #define  WAVE_FORMAT_G721_ADPCM			0x0040	/*  Antex Electronics Corporation  */ | 
|  | #define  WAVE_FORMAT_MPEG			0x0050	/*  Microsoft Corporation  */ | 
|  | #define  WAVE_FORMAT_MPEGLAYER3			0x0055 | 
|  | #define  WAVE_FORMAT_CREATIVE_ADPCM		0x0200	/*  Creative Labs, Inc  */ | 
|  | #define  WAVE_FORMAT_CREATIVE_FASTSPEECH8	0x0202	/*  Creative Labs, Inc  */ | 
|  | #define  WAVE_FORMAT_CREATIVE_FASTSPEECH10	0x0203	/*  Creative Labs, Inc  */ | 
|  | #define  WAVE_FORMAT_FM_TOWNS_SND		0x0300	/*  Fujitsu Corp.  */ | 
|  | #define  WAVE_FORMAT_OLIGSM			0x1000	/*  Ing C. Olivetti & C., S.p.A.  */ | 
|  | #define  WAVE_FORMAT_OLIADPCM			0x1001	/*  Ing C. Olivetti & C., S.p.A.  */ | 
|  | #define  WAVE_FORMAT_OLICELP			0x1002	/*  Ing C. Olivetti & C., S.p.A.  */ | 
|  | #define  WAVE_FORMAT_OLISBC			0x1003	/*  Ing C. Olivetti & C., S.p.A.  */ | 
|  | #define  WAVE_FORMAT_OLIOPR			0x1004	/*  Ing C. Olivetti & C., S.p.A.  */ | 
|  |  | 
|  | #if !defined(WAVE_FORMAT_EXTENSIBLE) | 
|  | #define  WAVE_FORMAT_EXTENSIBLE			0xFFFE  /* Microsoft */ | 
|  | #endif | 
|  |  | 
|  | #define WAVE_FORMAT_DEVELOPMENT         	(0xFFFF) | 
|  |  | 
|  | typedef struct adpcmcoef_tag { | 
|  | short   iCoef1; | 
|  | short   iCoef2; | 
|  | } ADPCMCOEFSET; | 
|  | typedef ADPCMCOEFSET *PADPCMCOEFSET, | 
|  | *NPADPCMCOEFSET, *LPADPCMCOEFSET; | 
|  |  | 
|  | typedef struct adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | WORD            wNumCoef; | 
|  | /* FIXME: this should be aCoef[0] */ | 
|  | ADPCMCOEFSET    aCoef[1]; | 
|  | } ADPCMWAVEFORMAT; | 
|  | typedef ADPCMWAVEFORMAT *PADPCMWAVEFORMAT, | 
|  | *NPADPCMWAVEFORMAT, *LPADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct dvi_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } DVIADPCMWAVEFORMAT; | 
|  | typedef DVIADPCMWAVEFORMAT *PDVIADPCMWAVEFORMAT, | 
|  | *NPDVIADPCMWAVEFORMAT, *LPDVIADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct ima_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } IMAADPCMWAVEFORMAT; | 
|  | typedef IMAADPCMWAVEFORMAT *PIMAADPCMWAVEFORMAT, *NPIMAADPCMWAVEFORMAT, | 
|  | *LPIMAADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct mediaspace_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wRevision; | 
|  | } MEDIASPACEADPCMWAVEFORMAT; | 
|  | typedef MEDIASPACEADPCMWAVEFORMAT *PMEDIASPACEADPCMWAVEFORMAT, | 
|  | *NPMEDIASPACEADPCMWAVEFORMAT, *LPMEDIASPACEADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct sierra_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wRevision; | 
|  | } SIERRAADPCMWAVEFORMAT; | 
|  | typedef SIERRAADPCMWAVEFORMAT *PSIERRAADPCMWAVEFORMAT, | 
|  | *NPSIERRAADPCMWAVEFORMAT, *LPSIERRAADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct g723_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            cbExtraSize; | 
|  | WORD            nAuxBlockSize; | 
|  | } G723_ADPCMWAVEFORMAT; | 
|  | typedef G723_ADPCMWAVEFORMAT *PG723_ADPCMWAVEFORMAT, | 
|  | *NPG723_ADPCMWAVEFORMAT, *LPG723_ADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct digistdwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } DIGISTDWAVEFORMAT; | 
|  | typedef DIGISTDWAVEFORMAT *PDIGISTDWAVEFORMAT, | 
|  | *NPDIGISTDWAVEFORMAT, *LPDIGISTDWAVEFORMAT; | 
|  |  | 
|  | typedef struct digifixwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } DIGIFIXWAVEFORMAT; | 
|  | typedef DIGIFIXWAVEFORMAT *PDIGIFIXWAVEFORMAT, | 
|  | *NPDIGIFIXWAVEFORMAT, *LPDIGIFIXWAVEFORMAT; | 
|  |  | 
|  | typedef struct creative_fastspeechformat_tag { | 
|  | WAVEFORMATEX    ewf; | 
|  | } DIALOGICOKIADPCMWAVEFORMAT; | 
|  | typedef DIALOGICOKIADPCMWAVEFORMAT *PDIALOGICOKIADPCMWAVEFORMAT, | 
|  | *NPDIALOGICOKIADPCMWAVEFORMAT, *LPDIALOGICOKIADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct yamaha_adpmcwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } YAMAHA_ADPCMWAVEFORMAT; | 
|  | typedef YAMAHA_ADPCMWAVEFORMAT *PYAMAHA_ADPCMWAVEFORMAT, | 
|  | *NPYAMAHA_ADPCMWAVEFORMAT, *LPYAMAHA_ADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct sonarcwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wCompType; | 
|  | } SONARCWAVEFORMAT; | 
|  | typedef SONARCWAVEFORMAT *PSONARCWAVEFORMAT, | 
|  | *NPSONARCWAVEFORMAT,*LPSONARCWAVEFORMAT; | 
|  |  | 
|  | typedef struct truespeechwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wRevision; | 
|  | WORD            nSamplesPerBlock; | 
|  | BYTE            abReserved[28]; | 
|  | } TRUESPEECHWAVEFORMAT; | 
|  | typedef TRUESPEECHWAVEFORMAT *PTRUESPEECHWAVEFORMAT, | 
|  | *NPTRUESPEECHWAVEFORMAT, *LPTRUESPEECHWAVEFORMAT; | 
|  |  | 
|  | typedef struct echosc1waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } ECHOSC1WAVEFORMAT; | 
|  | typedef ECHOSC1WAVEFORMAT *PECHOSC1WAVEFORMAT, | 
|  | *NPECHOSC1WAVEFORMAT, *LPECHOSC1WAVEFORMAT; | 
|  |  | 
|  | typedef struct audiofile_af36waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } AUDIOFILE_AF36WAVEFORMAT; | 
|  | typedef AUDIOFILE_AF36WAVEFORMAT *PAUDIOFILE_AF36WAVEFORMAT, | 
|  | *NPAUDIOFILE_AF36WAVEFORMAT, *LPAUDIOFILE_AF36WAVEFORMAT; | 
|  |  | 
|  | typedef struct aptxwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } APTXWAVEFORMAT; | 
|  | typedef APTXWAVEFORMAT *PAPTXWAVEFORMAT, | 
|  | *NPAPTXWAVEFORMAT, *LPAPTXWAVEFORMAT; | 
|  |  | 
|  | typedef struct audiofile_af10waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } AUDIOFILE_AF10WAVEFORMAT; | 
|  | typedef AUDIOFILE_AF10WAVEFORMAT *PAUDIOFILE_AF10WAVEFORMAT, | 
|  | *NPAUDIOFILE_AF10WAVEFORMAT,  *LPAUDIOFILE_AF10WAVEFORMAT; | 
|  |  | 
|  | typedef struct dolbyac2waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            nAuxBitsCode; | 
|  | } DOLBYAC2WAVEFORMAT; | 
|  |  | 
|  | typedef struct gsm610waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } GSM610WAVEFORMAT; | 
|  | typedef GSM610WAVEFORMAT *PGSM610WAVEFORMAT, | 
|  | *NPGSM610WAVEFORMAT, *LPGSM610WAVEFORMAT; | 
|  |  | 
|  | typedef struct adpcmewaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } ADPCMEWAVEFORMAT; | 
|  | typedef ADPCMEWAVEFORMAT *PADPCMEWAVEFORMAT, | 
|  | *NPADPCMEWAVEFORMAT, *LPADPCMEWAVEFORMAT; | 
|  |  | 
|  | typedef struct contres_vqlpcwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } CONTRESVQLPCWAVEFORMAT; | 
|  | typedef CONTRESVQLPCWAVEFORMAT *PCONTRESVQLPCWAVEFORMAT, | 
|  | *NPCONTRESVQLPCWAVEFORMAT, *LPCONTRESVQLPCWAVEFORMAT; | 
|  |  | 
|  | typedef struct digirealwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } DIGIREALWAVEFORMAT; | 
|  | typedef DIGIREALWAVEFORMAT *PDIGIREALWAVEFORMAT, | 
|  | *NPDIGIREALWAVEFORMAT, *LPDIGIREALWAVEFORMAT; | 
|  |  | 
|  | typedef struct digiadpcmmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } DIGIADPCMWAVEFORMAT; | 
|  | typedef DIGIADPCMWAVEFORMAT *PDIGIADPCMWAVEFORMAT, | 
|  | *NPDIGIADPCMWAVEFORMAT, *LPDIGIADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct contres_cr10waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } CONTRESCR10WAVEFORMAT; | 
|  | typedef CONTRESCR10WAVEFORMAT *PCONTRESCR10WAVEFORMAT, | 
|  | *NPCONTRESCR10WAVEFORMAT, *LPCONTRESCR10WAVEFORMAT; | 
|  |  | 
|  | typedef struct nms_vbxadpcmmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wSamplesPerBlock; | 
|  | } NMS_VBXADPCMWAVEFORMAT; | 
|  | typedef NMS_VBXADPCMWAVEFORMAT *PNMS_VBXADPCMWAVEFORMAT, | 
|  | *NPNMS_VBXADPCMWAVEFORMAT, *LPNMS_VBXADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct g721_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            nAuxBlockSize; | 
|  | } G721_ADPCMWAVEFORMAT; | 
|  | typedef G721_ADPCMWAVEFORMAT *PG721_ADPCMWAVEFORMAT, | 
|  | *NG721_ADPCMWAVEFORMAT, *LPG721_ADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct creative_adpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wRevision; | 
|  | } CREATIVEADPCMWAVEFORMAT; | 
|  | typedef CREATIVEADPCMWAVEFORMAT *PCREATIVEADPCMWAVEFORMAT, | 
|  | *NPCREATIVEADPCMWAVEFORMAT, *LPCREATIVEADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct creative_fastspeech8format_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD wRevision; | 
|  | } CREATIVEFASTSPEECH8WAVEFORMAT; | 
|  | typedef CREATIVEFASTSPEECH8WAVEFORMAT *PCREATIVEFASTSPEECH8WAVEFORMAT, | 
|  | *NPCREATIVEFASTSPEECH8WAVEFORMAT, *LPCREATIVEFASTSPEECH8WAVEFORMAT; | 
|  |  | 
|  | typedef struct creative_fastspeech10format_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD wRevision; | 
|  | } CREATIVEFASTSPEECH10WAVEFORMAT; | 
|  | typedef CREATIVEFASTSPEECH10WAVEFORMAT *PCREATIVEFASTSPEECH10WAVEFORMAT, | 
|  | *NPCREATIVEFASTSPEECH10WAVEFORMAT, *LPCREATIVEFASTSPEECH10WAVEFORMAT; | 
|  |  | 
|  | typedef struct fmtowns_snd_waveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | WORD            wRevision; | 
|  | } FMTOWNS_SND_WAVEFORMAT; | 
|  | typedef FMTOWNS_SND_WAVEFORMAT *PFMTOWNS_SND_WAVEFORMAT, | 
|  | *NPFMTOWNS_SND_WAVEFORMAT, *LPFMTOWNS_SND_WAVEFORMAT; | 
|  |  | 
|  | typedef struct oligsmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } OLIGSMWAVEFORMAT; | 
|  | typedef OLIGSMWAVEFORMAT *POLIGSMWAVEFORMAT, | 
|  | *NPOLIGSMWAVEFORMAT, *LPOLIGSMWAVEFORMAT; | 
|  |  | 
|  | typedef struct oliadpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } OLIADPCMWAVEFORMAT; | 
|  | typedef OLIADPCMWAVEFORMAT *POLIADPCMWAVEFORMAT, | 
|  | *NPOLIADPCMWAVEFORMAT, *LPOLIADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct olicelpwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } OLICELPWAVEFORMAT; | 
|  | typedef OLICELPWAVEFORMAT *POLICELPWAVEFORMAT, | 
|  | *NPOLICELPWAVEFORMAT, *LPOLICELPWAVEFORMAT; | 
|  |  | 
|  | typedef struct olisbcwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } OLISBCWAVEFORMAT; | 
|  | typedef OLISBCWAVEFORMAT *POLISBCWAVEFORMAT, | 
|  | *NPOLISBCWAVEFORMAT, *LPOLISBCWAVEFORMAT; | 
|  |  | 
|  | typedef struct olioprwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } OLIOPRWAVEFORMAT; | 
|  | typedef OLIOPRWAVEFORMAT *POLIOPRWAVEFORMAT, | 
|  | *NPOLIOPRWAVEFORMAT, *LPOLIOPRWAVEFORMAT; | 
|  |  | 
|  | typedef struct csimaadpcmwaveformat_tag { | 
|  | WAVEFORMATEX    wfx; | 
|  | } CSIMAADPCMWAVEFORMAT; | 
|  | typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT, | 
|  | *NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT; | 
|  |  | 
|  | typedef struct mpeg1waveformat_tag { | 
|  | WAVEFORMATEX	wfx; | 
|  | WORD		fwHeadLayer; | 
|  | DWORD		dwHeadBitrate; | 
|  | WORD		fwHeadMode; | 
|  | WORD		fwHeadModeExt; | 
|  | WORD		wHeadEmphasis; | 
|  | WORD		fwHeadFlags; | 
|  | DWORD		dwPTSLow; | 
|  | DWORD		dwPTSHigh; | 
|  | } MPEG1WAVEFORMAT,* PMPEG1WAVEFORMAT; | 
|  |  | 
|  | #define	ACM_MPEG_LAYER1		0x0001 | 
|  | #define	ACM_MPEG_LAYER2		0x0002 | 
|  | #define	ACM_MPEG_LAYER3		0x0004 | 
|  |  | 
|  | #define	ACM_MPEG_STEREO		0x0001 | 
|  | #define	ACM_MPEG_JOINTSTEREO	0x0002 | 
|  | #define	ACM_MPEG_DUALCHANNEL	0x0004 | 
|  | #define	ACM_MPEG_SINGLECHANNEL	0x0008 | 
|  | #define	ACM_MPEG_PRIVATEBIT	0x0001 | 
|  | #define	ACM_MPEG_COPYRIGHT	0x0002 | 
|  | #define	ACM_MPEG_ORIGINALHOME	0x0004 | 
|  | #define	ACM_MPEG_PROTECTIONBIT	0x0008 | 
|  | #define	ACM_MPEG_ID_MPEG1	0x0010 | 
|  |  | 
|  | typedef struct mpeglayer3waveformat_tag { | 
|  | WAVEFORMATEX	wfx; | 
|  | WORD		wID; | 
|  | DWORD		fdwFlags; | 
|  | WORD		nBlockSize; | 
|  | WORD		nFramesPerBlock; | 
|  | WORD		nCodecDelay; | 
|  | } MPEGLAYER3WAVEFORMAT; | 
|  |  | 
|  | #define MPEGLAYER3_WFX_EXTRA_BYTES   12 | 
|  |  | 
|  | #define MPEGLAYER3_ID_UNKNOWN           0 | 
|  | #define MPEGLAYER3_ID_MPEG		1 | 
|  | #define MPEGLAYER3_ID_CONSTANTFRAMESIZE	2 | 
|  |  | 
|  | #define MPEGLAYER3_FLAG_PADDING_ISO	0x00000000 | 
|  | #define MPEGLAYER3_FLAG_PADDING_ON	0x00000001 | 
|  | #define MPEGLAYER3_FLAG_PADDING_OFF	0x00000002 | 
|  |  | 
|  | #ifdef GUID_DEFINED | 
|  |  | 
|  | #ifndef _WAVEFORMATEXTENSIBLE_ | 
|  | #define _WAVEFORMATEXTENSIBLE_ | 
|  | typedef struct { | 
|  | WAVEFORMATEX    Format; | 
|  | union { | 
|  | WORD        wValidBitsPerSample; | 
|  | WORD        wSamplesPerBlock; | 
|  | WORD        wReserved; | 
|  | } Samples; | 
|  | DWORD           dwChannelMask; | 
|  | GUID            SubFormat; | 
|  | } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE; | 
|  | #endif /* _WAVEFORMATEXTENSIBLE_ */ | 
|  |  | 
|  | #endif /* GUID_DEFINED */ | 
|  |  | 
|  | typedef WAVEFORMATEXTENSIBLE    WAVEFORMATPCMEX; | 
|  | typedef WAVEFORMATPCMEX*        PWAVEFORMATPCMEX; | 
|  | typedef WAVEFORMATPCMEX*        NPWAVEFORMATPCMEX; | 
|  | typedef WAVEFORMATPCMEX*        LPWAVEFORMATPCMEX; | 
|  |  | 
|  | typedef WAVEFORMATEXTENSIBLE    WAVEFORMATIEEEFLOATEX; | 
|  | typedef WAVEFORMATIEEEFLOATEX*  PWAVEFORMATIEEEFLOATEX; | 
|  | typedef WAVEFORMATIEEEFLOATEX*  NPWAVEFORMATIEEEFLOATEX; | 
|  | typedef WAVEFORMATIEEEFLOATEX*  LPWAVEFORMATIEEEFLOATEX; | 
|  |  | 
|  | #ifndef _SPEAKER_POSITIONS_ | 
|  | #define _SPEAKER_POSITIONS_ | 
|  |  | 
|  | #define SPEAKER_FRONT_LEFT              0x00000001 | 
|  | #define SPEAKER_FRONT_RIGHT             0x00000002 | 
|  | #define SPEAKER_FRONT_CENTER            0x00000004 | 
|  | #define SPEAKER_LOW_FREQUENCY           0x00000008 | 
|  | #define SPEAKER_BACK_LEFT               0x00000010 | 
|  | #define SPEAKER_BACK_RIGHT              0x00000020 | 
|  | #define SPEAKER_FRONT_LEFT_OF_CENTER    0x00000040 | 
|  | #define SPEAKER_FRONT_RIGHT_OF_CENTER   0x00000080 | 
|  | #define SPEAKER_BACK_CENTER             0x00000100 | 
|  | #define SPEAKER_SIDE_LEFT               0x00000200 | 
|  | #define SPEAKER_SIDE_RIGHT              0x00000400 | 
|  | #define SPEAKER_TOP_CENTER              0x00000800 | 
|  | #define SPEAKER_TOP_FRONT_LEFT          0x00001000 | 
|  | #define SPEAKER_TOP_FRONT_CENTER        0x00002000 | 
|  | #define SPEAKER_TOP_FRONT_RIGHT         0x00004000 | 
|  | #define SPEAKER_TOP_BACK_LEFT           0x00008000 | 
|  | #define SPEAKER_TOP_BACK_CENTER         0x00010000 | 
|  | #define SPEAKER_TOP_BACK_RIGHT          0x00020000 | 
|  | #define SPEAKER_RESERVED                0x7FFC0000 | 
|  | #define SPEAKER_ALL                     0x80000000 | 
|  |  | 
|  | #endif /* _SPEAKER_POSITIONS_ */ | 
|  |  | 
|  |  | 
|  | /* DIB stuff */ | 
|  |  | 
|  | #ifndef BI_BITFIELDS | 
|  | #define BI_BITFIELDS     3 | 
|  | #endif | 
|  |  | 
|  | #ifndef QUERYDIBSUPPORT | 
|  | #define	QUERYDIBSUPPORT		3073 | 
|  | #define	QDI_SETDIBITS		1 | 
|  | #define	QDI_GETDIBITS		2 | 
|  | #define	QDI_DIBTOSCREEN		4 | 
|  | #define	QDI_STRETCHDIB		8 | 
|  | #endif | 
|  |  | 
|  | #ifndef NOBITMAP | 
|  | typedef struct tagEXBMINFOHEADER { | 
|  | BITMAPINFOHEADER bmi; | 
|  | DWORD biExtDataOffset; | 
|  | } EXBMINFOHEADER; | 
|  | #endif | 
|  |  | 
|  |  | 
|  | /* Video stuff */ | 
|  |  | 
|  | #ifndef NONEWIC | 
|  |  | 
|  | #ifndef ICTYPE_VIDEO | 
|  | #define ICTYPE_VIDEO		mmioFOURCC('v', 'i', 'd', 'c') | 
|  | #define ICTYPE_AUDIO		mmioFOURCC('a', 'u', 'd', 'c') | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #endif /* __WINE_MMREG_H */ |