Logo Search packages:      
Sourcecode: wine-unstable version File versions  Download package

mmreg.h

/*
 * 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 */

Generated by  Doxygen 1.6.0   Back to index