Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

mmreg.h

00001 /*
00002  *      mmreg.h   -       Declarations for ???
00003  *
00004  * Modified for use with MPlayer, detailed CVS changelog at
00005  * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
00006  * $Id: mmreg.h 11593 2005-06-28 18:02:01Z courmisch $
00007  *
00008  */
00009 
00010 #ifndef __WINE_MMREG_H
00011 #define __WINE_MMREG_H
00012 
00013 /***********************************************************************
00014  * Defines/Enums
00015  */
00016 
00017 #ifndef _ACM_WAVEFILTER
00018 #define _ACM_WAVEFILTER
00019 
00020 #include "windef.h"
00021 
00022 #define WAVE_FILTER_UNKNOWN     0x0000
00023 #define WAVE_FILTER_DEVELOPMENT 0xFFFF
00024 
00025 typedef struct __attribute__((__packed__)) _WAVEFILTER {
00026   DWORD   cbStruct;
00027   DWORD   dwFilterTag;
00028   DWORD   fdwFilter;
00029   DWORD   dwReserved[5];
00030 } WAVEFILTER, *PWAVEFILTER, *NPWAVEFILTER, *LPWAVEFILTER;
00031 #endif /* _ACM_WAVEFILTER */
00032 
00033 #ifndef WAVE_FILTER_VOLUME
00034 #define WAVE_FILTER_VOLUME      0x0001
00035 
00036 typedef struct __attribute__((__packed__)) _WAVEFILTER_VOLUME {
00037    WAVEFILTER      wfltr;
00038    DWORD           dwVolume;
00039 } VOLUMEWAVEFILTER, *PVOLUMEWAVEFILTER, *NPVOLUMEWAVEFILTER, *LPVOLUMEWAVEFILTER;
00040 #endif  /* WAVE_FILTER_VOLUME */
00041 
00042 #ifndef WAVE_FILTER_ECHO
00043 #define WAVE_FILTER_ECHO        0x0002
00044 
00045 typedef struct __attribute__((__packed__)) WAVEFILTER_ECHO {
00046    WAVEFILTER      wfltr;
00047    DWORD           dwVolume;
00048    DWORD           dwDelay;
00049 } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER;
00050 #endif  /* WAVEFILTER_ECHO */
00051     
00052 #ifndef _WAVEFORMATEX_
00053 #define _WAVEFORMATEX_
00054 typedef struct __attribute__((__packed__)) _WAVEFORMATEX {
00055   WORD   wFormatTag;
00056   WORD   nChannels;
00057   DWORD  nSamplesPerSec;
00058   DWORD  nAvgBytesPerSec;
00059   WORD   nBlockAlign;
00060   WORD   wBitsPerSample;
00061   WORD   cbSize;
00062 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
00063 #endif /* _WAVEFORMATEX_ */
00064 
00065 #ifndef GUID_TYPE
00066 #define GUID_TYPE
00067 typedef struct
00068 {
00069     unsigned long f1;
00070     unsigned short f2;
00071     unsigned short f3;
00072     unsigned char f4[8];
00073 } GUID;
00074 #endif
00075 
00076 #ifndef _WAVEFORMATEXTENSIBLE_
00077 #define _WAVEFORMATEXTENSIBLE_
00078 typedef struct {
00079     WAVEFORMATEX    Format;
00080     union {
00081         WORD wValidBitsPerSample;       /* bits of precision  */
00082         WORD wSamplesPerBlock;          /* valid if wBitsPerSample==0 */
00083         WORD wReserved;                 /* If neither applies, set to zero. */
00084     } Samples;
00085     DWORD           dwChannelMask;      /* which channels are */
00086                                         /* present in stream  */
00087     GUID            SubFormat;
00088 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
00089 #endif // !_WAVEFORMATEXTENSIBLE_
00090 
00091 #ifndef _MPEGLAYER3WAVEFORMAT_
00092 #define _MPEGLAYER3WAVEFORMAT_
00093 typedef struct mpeglayer3waveformat_tag {
00094   WORD   wFormatTag WINE_PACKED;
00095   WORD   nChannels WINE_PACKED;
00096   DWORD  nSamplesPerSec WINE_PACKED;
00097   DWORD  nAvgBytesPerSec WINE_PACKED;
00098   WORD   nBlockAlign WINE_PACKED;
00099   WORD   wBitsPerSample WINE_PACKED;
00100   WORD   cbSize WINE_PACKED;
00101   WORD          wID WINE_PACKED;
00102   DWORD         fdwFlags WINE_PACKED;
00103   WORD          nBlockSize WINE_PACKED;
00104   WORD          nFramesPerBlock WINE_PACKED;
00105   WORD          nCodecDelay WINE_PACKED;
00106 } MPEGLAYER3WAVEFORMAT;
00107 #endif /* !_MPEGLAYER3WAVEFORMAT_ */
00108 
00109 /* WAVE form wFormatTag IDs */
00110 
00111 #define  WAVE_FORMAT_UNKNOWN                    0x0000 /* Microsoft Corporation */
00112 #define  WAVE_FORMAT_ADPCM                      0x0002 /* Microsoft Corporation */
00113 #define  WAVE_FORMAT_IEEE_FLOAT                 0x0003 /* Microsoft Corporation */
00114 #define  WAVE_FORMAT_VSELP                      0x0004 /* Compaq Computer Corp. */
00115 #define  WAVE_FORMAT_IBM_CVSD                   0x0005 /* IBM Corporation */
00116 #define  WAVE_FORMAT_ALAW                       0x0006 /* Microsoft Corporation */
00117 #define  WAVE_FORMAT_MULAW                      0x0007 /* Microsoft Corporation */
00118 #define  WAVE_FORMAT_DTS                        0x0008 /* Microsoft Corporation */
00119 #define  WAVE_FORMAT_OKI_ADPCM                  0x0010 /* OKI */
00120 #define  WAVE_FORMAT_DVI_ADPCM                  0x0011 /* Intel Corporation */
00121 #define  WAVE_FORMAT_IMA_ADPCM                  (WAVE_FORMAT_DVI_ADPCM) /*  Intel Corporation */
00122 #define  WAVE_FORMAT_MEDIASPACE_ADPCM           0x0012 /* Videologic */
00123 #define  WAVE_FORMAT_SIERRA_ADPCM               0x0013 /* Sierra Semiconductor Corp */
00124 #define  WAVE_FORMAT_G723_ADPCM                 0x0014 /* Antex Electronics Corporation */
00125 #define  WAVE_FORMAT_DIGISTD                    0x0015 /* DSP Solutions, Inc. */
00126 #define  WAVE_FORMAT_DIGIFIX                    0x0016 /* DSP Solutions, Inc. */
00127 #define  WAVE_FORMAT_DIALOGIC_OKI_ADPCM         0x0017 /* Dialogic Corporation */
00128 #define  WAVE_FORMAT_MEDIAVISION_ADPCM          0x0018 /* Media Vision, Inc. */
00129 #define  WAVE_FORMAT_CU_CODEC                   0x0019 /* Hewlett-Packard Company */
00130 #define  WAVE_FORMAT_YAMAHA_ADPCM               0x0020 /* Yamaha Corporation of America */
00131 #define  WAVE_FORMAT_SONARC                     0x0021 /* Speech Compression */
00132 #define  WAVE_FORMAT_DSPGROUP_TRUESPEECH        0x0022 /* DSP Group, Inc */
00133 #define  WAVE_FORMAT_ECHOSC1                    0x0023 /* Echo Speech Corporation */
00134 #define  WAVE_FORMAT_AUDIOFILE_AF36             0x0024 /* Virtual Music, Inc. */
00135 #define  WAVE_FORMAT_APTX                       0x0025 /* Audio Processing Technology */
00136 #define  WAVE_FORMAT_AUDIOFILE_AF10             0x0026 /* Virtual Music, Inc. */
00137 #define  WAVE_FORMAT_PROSODY_1612               0x0027 /* Aculab plc */
00138 #define  WAVE_FORMAT_LRC                        0x0028 /* Merging Technologies S.A. */
00139 #define  WAVE_FORMAT_DOLBY_AC2                  0x0030 /* Dolby Laboratories */
00140 #define  WAVE_FORMAT_GSM610                     0x0031 /* Microsoft Corporation */
00141 #define  WAVE_FORMAT_MSNAUDIO                   0x0032 /* Microsoft Corporation */
00142 #define  WAVE_FORMAT_ANTEX_ADPCME               0x0033 /* Antex Electronics Corporation */
00143 #define  WAVE_FORMAT_CONTROL_RES_VQLPC          0x0034 /* Control Resources Limited */
00144 #define  WAVE_FORMAT_DIGIREAL                   0x0035 /* DSP Solutions, Inc. */
00145 #define  WAVE_FORMAT_DIGIADPCM                  0x0036 /* DSP Solutions, Inc. */
00146 #define  WAVE_FORMAT_CONTROL_RES_CR10           0x0037 /* Control Resources Limited */
00147 #define  WAVE_FORMAT_NMS_VBXADPCM               0x0038 /* Natural MicroSystems */
00148 #define  WAVE_FORMAT_CS_IMAADPCM                0x0039 /* Crystal Semiconductor IMA ADPCM */
00149 #define  WAVE_FORMAT_ECHOSC3                    0x003A /* Echo Speech Corporation */
00150 #define  WAVE_FORMAT_ROCKWELL_ADPCM             0x003B /* Rockwell International */
00151 #define  WAVE_FORMAT_ROCKWELL_DIGITALK          0x003C /* Rockwell International */
00152 #define  WAVE_FORMAT_XEBEC                      0x003D /* Xebec Multimedia Solutions Limited */
00153 #define  WAVE_FORMAT_G721_ADPCM                 0x0040 /* Antex Electronics Corporation */
00154 #define  WAVE_FORMAT_G728_CELP                  0x0041 /* Antex Electronics Corporation */
00155 #define  WAVE_FORMAT_MSG723                     0x0042 /* Microsoft Corporation */
00156 #define  WAVE_FORMAT_MPEG                       0x0050 /* Microsoft Corporation */
00157 #define  WAVE_FORMAT_RT24                       0x0052 /* InSoft, Inc. */
00158 #define  WAVE_FORMAT_PAC                        0x0053 /* InSoft, Inc. */
00159 #define  WAVE_FORMAT_MPEGLAYER3                 0x0055 /* ISO/MPEG Layer3 Format Tag */
00160 #define  WAVE_FORMAT_LUCENT_G723                0x0059 /* Lucent Technologies */
00161 #define  WAVE_FORMAT_CIRRUS                     0x0060 /* Cirrus Logic */
00162 #define  WAVE_FORMAT_ESPCM                      0x0061 /* ESS Technology */
00163 #define  WAVE_FORMAT_VOXWARE                    0x0062 /* Voxware Inc */
00164 #define  WAVE_FORMAT_CANOPUS_ATRAC              0x0063 /* Canopus, co., Ltd. */
00165 #define  WAVE_FORMAT_G726_ADPCM                 0x0064 /* APICOM */
00166 #define  WAVE_FORMAT_G722_ADPCM                 0x0065 /* APICOM */
00167 #define  WAVE_FORMAT_DSAT_DISPLAY               0x0067 /* Microsoft Corporation */
00168 #define  WAVE_FORMAT_VOXWARE_BYTE_ALIGNED       0x0069 /* Voxware Inc */
00169 #define  WAVE_FORMAT_VOXWARE_AC8                0x0070 /* Voxware Inc */
00170 #define  WAVE_FORMAT_VOXWARE_AC10               0x0071 /* Voxware Inc */
00171 #define  WAVE_FORMAT_VOXWARE_AC16               0x0072 /* Voxware Inc */
00172 #define  WAVE_FORMAT_VOXWARE_AC20               0x0073 /* Voxware Inc */
00173 #define  WAVE_FORMAT_VOXWARE_RT24               0x0074 /* Voxware Inc */
00174 #define  WAVE_FORMAT_VOXWARE_RT29               0x0075 /* Voxware Inc */
00175 #define  WAVE_FORMAT_VOXWARE_RT29HW             0x0076 /* Voxware Inc */
00176 #define  WAVE_FORMAT_VOXWARE_VR12               0x0077 /* Voxware Inc */
00177 #define  WAVE_FORMAT_VOXWARE_VR18               0x0078 /* Voxware Inc */
00178 #define  WAVE_FORMAT_VOXWARE_TQ40               0x0079 /* Voxware Inc */
00179 #define  WAVE_FORMAT_SOFTSOUND                  0x0080 /* Softsound, Ltd. */
00180 #define  WAVE_FORMAT_VOXWARE_TQ60               0x0081 /* Voxware Inc */
00181 #define  WAVE_FORMAT_MSRT24                     0x0082 /* Microsoft Corporation */
00182 #define  WAVE_FORMAT_G729A                      0x0083 /* AT&T Labs, Inc. */
00183 #define  WAVE_FORMAT_MVI_MVI2                   0x0084 /* Motion Pixels */
00184 #define  WAVE_FORMAT_DF_G726                    0x0085 /* DataFusion Systems (Pty) (Ltd) */
00185 #define  WAVE_FORMAT_DF_GSM610                  0x0086 /* DataFusion Systems (Pty) (Ltd) */
00186 #define  WAVE_FORMAT_ISIAUDIO                   0x0088 /* Iterated Systems, Inc. */
00187 #define  WAVE_FORMAT_ONLIVE                     0x0089 /* OnLive! Technologies, Inc. */
00188 #define  WAVE_FORMAT_SBC24                      0x0091 /* Siemens Business Communications Sys */
00189 #define  WAVE_FORMAT_DOLBY_AC3_SPDIF            0x0092 /* Sonic Foundry */
00190 #define  WAVE_FORMAT_MEDIASONIC_G723            0x0093 /* MediaSonic */
00191 #define  WAVE_FORMAT_PROSODY_8KBPS              0x0094 /* Aculab plc */
00192 #define  WAVE_FORMAT_ZYXEL_ADPCM                0x0097 /* ZyXEL Communications, Inc. */
00193 #define  WAVE_FORMAT_PHILIPS_LPCBB              0x0098 /* Philips Speech Processing */
00194 #define  WAVE_FORMAT_PACKED                     0x0099 /* Studer Professional Audio AG */
00195 #define  WAVE_FORMAT_MALDEN_PHONYTALK           0x00A0 /* Malden Electronics Ltd. */
00196 #define  WAVE_FORMAT_RHETOREX_ADPCM             0x0100 /* Rhetorex Inc. */
00197 #define  WAVE_FORMAT_IRAT                       0x0101 /* BeCubed Software Inc. */
00198 #define  WAVE_FORMAT_VIVO_G723                  0x0111 /* Vivo Software */
00199 #define  WAVE_FORMAT_VIVO_SIREN                 0x0112 /* Vivo Software */
00200 #define  WAVE_FORMAT_DIGITAL_G723               0x0123 /* Digital Equipment Corporation */
00201 #define  WAVE_FORMAT_SANYO_LD_ADPCM             0x0125 /* Sanyo Electric Co., Ltd. */
00202 #define  WAVE_FORMAT_SIPROLAB_ACEPLNET          0x0130 /* Sipro Lab Telecom Inc. */
00203 #define  WAVE_FORMAT_SIPROLAB_ACELP4800         0x0131 /* Sipro Lab Telecom Inc. */
00204 #define  WAVE_FORMAT_SIPROLAB_ACELP8V3          0x0132 /* Sipro Lab Telecom Inc. */
00205 #define  WAVE_FORMAT_SIPROLAB_G729              0x0133 /* Sipro Lab Telecom Inc. */
00206 #define  WAVE_FORMAT_SIPROLAB_G729A             0x0134 /* Sipro Lab Telecom Inc. */
00207 #define  WAVE_FORMAT_SIPROLAB_KELVIN            0x0135 /* Sipro Lab Telecom Inc. */
00208 #define  WAVE_FORMAT_G726ADPCM                  0x0140 /* Dictaphone Corporation */
00209 #define  WAVE_FORMAT_QUALCOMM_PUREVOICE         0x0150 /* Qualcomm, Inc. */
00210 #define  WAVE_FORMAT_QUALCOMM_HALFRATE          0x0151 /* Qualcomm, Inc. */
00211 #define  WAVE_FORMAT_TUBGSM                     0x0155 /* Ring Zero Systems, Inc. */
00212 #define  WAVE_FORMAT_MSAUDIO1                   0x0160 /* Microsoft Corporation */
00213 #define  WAVE_FORMAT_CREATIVE_ADPCM             0x0200 /* Creative Labs, Inc */
00214 #define  WAVE_FORMAT_CREATIVE_FASTSPEECH8       0x0202 /* Creative Labs, Inc */
00215 #define  WAVE_FORMAT_CREATIVE_FASTSPEECH10      0x0203 /* Creative Labs, Inc */
00216 #define  WAVE_FORMAT_UHER_ADPCM                 0x0210 /* UHER informatic GmbH */
00217 #define  WAVE_FORMAT_QUARTERDECK                0x0220 /* Quarterdeck Corporation */
00218 #define  WAVE_FORMAT_ILINK_VC                   0x0230 /* I-link Worldwide */
00219 #define  WAVE_FORMAT_RAW_SPORT                  0x0240 /* Aureal Semiconductor */
00220 #define  WAVE_FORMAT_IPI_HSX                    0x0250 /* Interactive Products, Inc. */
00221 #define  WAVE_FORMAT_IPI_RPELP                  0x0251 /* Interactive Products, Inc. */
00222 #define  WAVE_FORMAT_CS2                        0x0260 /* Consistent Software */
00223 #define  WAVE_FORMAT_SONY_SCX                   0x0270 /* Sony Corp. */
00224 #define  WAVE_FORMAT_FM_TOWNS_SND               0x0300 /* Fujitsu Corp. */
00225 #define  WAVE_FORMAT_BTV_DIGITAL                0x0400 /* Brooktree Corporation */
00226 #define  WAVE_FORMAT_QDESIGN_MUSIC              0x0450 /* QDesign Corporation */
00227 #define  WAVE_FORMAT_VME_VMPCM                  0x0680 /* AT&T Labs, Inc. */
00228 #define  WAVE_FORMAT_TPC                        0x0681 /* AT&T Labs, Inc. */
00229 #define  WAVE_FORMAT_OLIGSM                     0x1000 /* Ing C. Olivetti & C., S.p.A. */
00230 #define  WAVE_FORMAT_OLIADPCM                   0x1001 /* Ing C. Olivetti & C., S.p.A. */
00231 #define  WAVE_FORMAT_OLICELP                    0x1002 /* Ing C. Olivetti & C., S.p.A. */
00232 #define  WAVE_FORMAT_OLISBC                     0x1003 /* Ing C. Olivetti & C., S.p.A. */
00233 #define  WAVE_FORMAT_OLIOPR                     0x1004 /* Ing C. Olivetti & C., S.p.A. */
00234 #define  WAVE_FORMAT_LH_CODEC                   0x1100 /* Lernout & Hauspie */
00235 #define  WAVE_FORMAT_NORRIS                     0x1400 /* Norris Communications, Inc. */
00236 #define  WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS    0x1500 /* AT&T Labs, Inc. */
00237 #define  WAVE_FORMAT_DVM                        0x2000 /* FAST Multimedia AG */
00238 
00239 #if !defined(WAVE_FORMAT_EXTENSIBLE)
00240 #define  WAVE_FORMAT_EXTENSIBLE                 0xFFFE /* Microsoft */
00241 #endif // !defined(WAVE_FORMAT_EXTENSIBLE)
00242 //
00243 //  the WAVE_FORMAT_DEVELOPMENT format tag can be used during the
00244 //  development phase of a new wave format.  Before shipping, you MUST
00245 //  acquire an official format tag from Microsoft.
00246 //
00247 #define WAVE_FORMAT_DEVELOPMENT         (0xFFFF)
00248 
00249 
00250 #endif /* __WINE_MMREG_H */

Generated on Tue Dec 20 10:14:22 2005 for vlc-0.8.4a by  doxygen 1.4.2