Fix compilation errors on FreeBSD.
[wine] / include / mmreg.h
1 /*
2  *      mmreg.h   -       Declarations for MultiMedia-REGistration
3  */
4
5 #ifndef __WINE_MMREG_H
6 #define __WINE_MMREG_H
7
8 /***********************************************************************
9  * Defines/Enums
10  */
11
12 #ifndef _ACM_WAVEFILTER
13 #define _ACM_WAVEFILTER
14
15 #include "windef.h"
16
17 #define WAVE_FILTER_UNKNOWN     0x0000
18 #define WAVE_FILTER_DEVELOPMENT 0xFFFF
19
20 typedef struct _WAVEFILTER {
21   DWORD   cbStruct;
22   DWORD   dwFilterTag;
23   DWORD   fdwFilter;
24   DWORD   dwReserved[5];
25 } WAVEFILTER, *PWAVEFILTER, *NPWAVEFILTER, *LPWAVEFILTER;
26 #endif /* _ACM_WAVEFILTER */
27
28 #ifndef WAVE_FILTER_VOLUME
29 #define WAVE_FILTER_VOLUME      0x0001
30
31 typedef struct _WAVEFILTER_VOLUME {
32    WAVEFILTER      wfltr;
33    DWORD           dwVolume;
34 } VOLUMEWAVEFILTER, *PVOLUMEWAVEFILTER, *NPVOLUMEWAVEFILTER, *LPVOLUMEWAVEFILTER;
35 #endif  /* WAVE_FILTER_VOLUME */
36
37 #ifndef WAVE_FILTER_ECHO
38 #define WAVE_FILTER_ECHO        0x0002
39
40 typedef struct WAVEFILTER_ECHO {
41    WAVEFILTER      wfltr;
42    DWORD           dwVolume;
43    DWORD           dwDelay;
44 } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER;
45 #endif  /* WAVEFILTER_ECHO */
46     
47 #ifndef _WAVEFORMATEX_
48 #define _WAVEFORMATEX_
49 typedef struct _WAVEFORMATEX {
50   WORD   wFormatTag;
51   WORD   nChannels;
52   DWORD  nSamplesPerSec;
53   DWORD  nAvgBytesPerSec;
54   WORD   nBlockAlign;
55   WORD   wBitsPerSample;
56   WORD   cbSize;
57 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
58 #endif /* _WAVEFORMATEX_ */
59
60 /* WAVE form wFormatTag IDs */
61 #define  WAVE_FORMAT_UNKNOWN                    0x0000  /*  Microsoft Corporation  */
62 #define  WAVE_FORMAT_ADPCM                      0x0002  /*  Microsoft Corporation  */
63 #define  WAVE_FORMAT_IBM_CVSD                   0x0005  /*  IBM Corporation  */
64 #define  WAVE_FORMAT_ALAW                       0x0006  /*  Microsoft Corporation  */
65 #define  WAVE_FORMAT_MULAW                      0x0007  /*  Microsoft Corporation  */
66 #define  WAVE_FORMAT_OKI_ADPCM                  0x0010  /*  OKI  */
67 #define  WAVE_FORMAT_DVI_ADPCM                  0x0011  /*  Intel Corporation  */
68 #define  WAVE_FORMAT_IMA_ADPCM                  (WAVE_FORMAT_DVI_ADPCM) /*  Intel Corporation  */
69 #define  WAVE_FORMAT_MEDIASPACE_ADPCM           0x0012  /*  Videologic  */
70 #define  WAVE_FORMAT_SIERRA_ADPCM               0x0013  /*  Sierra Semiconductor Corp  */
71 #define  WAVE_FORMAT_G723_ADPCM                 0x0014  /*  Antex Electronics Corporation  */
72 #define  WAVE_FORMAT_DIGISTD                    0x0015  /*  DSP Solutions, Inc.  */
73 #define  WAVE_FORMAT_DIGIFIX                    0x0016  /*  DSP Solutions, Inc.  */
74 #define  WAVE_FORMAT_DIALOGIC_OKI_ADPCM         0x0017  /*  Dialogic Corporation  */
75 #define  WAVE_FORMAT_YAMAHA_ADPCM               0x0020  /*  Yamaha Corporation of America  */
76 #define  WAVE_FORMAT_SONARC                     0x0021  /*  Speech Compression  */
77 #define  WAVE_FORMAT_DSPGROUP_TRUESPEECH        0x0022  /*  DSP Group, Inc  */
78 #define  WAVE_FORMAT_ECHOSC1                    0x0023  /*  Echo Speech Corporation  */
79 #define  WAVE_FORMAT_AUDIOFILE_AF36             0x0024  /*    */
80 #define  WAVE_FORMAT_APTX                       0x0025  /*  Audio Processing Technology  */
81 #define  WAVE_FORMAT_AUDIOFILE_AF10             0x0026  /*    */
82 #define  WAVE_FORMAT_DOLBY_AC2                  0x0030  /*  Dolby Laboratories  */
83 #define  WAVE_FORMAT_GSM610                     0x0031  /*  Microsoft Corporation  */
84 #define  WAVE_FORMAT_ANTEX_ADPCME               0x0033  /*  Antex Electronics Corporation  */
85 #define  WAVE_FORMAT_CONTROL_RES_VQLPC          0x0034  /*  Control Resources Limited  */
86 #define  WAVE_FORMAT_DIGIREAL                   0x0035  /*  DSP Solutions, Inc.  */
87 #define  WAVE_FORMAT_DIGIADPCM                  0x0036  /*  DSP Solutions, Inc.  */
88 #define  WAVE_FORMAT_CONTROL_RES_CR10           0x0037  /*  Control Resources Limited  */
89 #define  WAVE_FORMAT_NMS_VBXADPCM               0x0038  /*  Natural MicroSystems  */
90 #define  WAVE_FORMAT_G721_ADPCM                 0x0040  /*  Antex Electronics Corporation  */
91 #define  WAVE_FORMAT_MPEG                       0x0050  /*  Microsoft Corporation  */
92 #define  WAVE_FORMAT_MPEGLAYER3                 0x0055
93 #define  WAVE_FORMAT_CREATIVE_ADPCM             0x0200  /*  Creative Labs, Inc  */
94 #define  WAVE_FORMAT_CREATIVE_FASTSPEECH8       0x0202  /*  Creative Labs, Inc  */
95 #define  WAVE_FORMAT_CREATIVE_FASTSPEECH10      0x0203  /*  Creative Labs, Inc  */
96 #define  WAVE_FORMAT_FM_TOWNS_SND               0x0300  /*  Fujitsu Corp.  */
97 #define  WAVE_FORMAT_OLIGSM                     0x1000  /*  Ing C. Olivetti & C., S.p.A.  */
98 #define  WAVE_FORMAT_OLIADPCM                   0x1001  /*  Ing C. Olivetti & C., S.p.A.  */
99 #define  WAVE_FORMAT_OLICELP                    0x1002  /*  Ing C. Olivetti & C., S.p.A.  */
100 #define  WAVE_FORMAT_OLISBC                     0x1003  /*  Ing C. Olivetti & C., S.p.A.  */
101 #define  WAVE_FORMAT_OLIOPR                     0x1004  /*  Ing C. Olivetti & C., S.p.A.  */
102
103 #define WAVE_FORMAT_DEVELOPMENT                 (0xFFFF)
104
105
106
107 typedef struct
108 {
109         WAVEFORMATEX    wfx;
110         WORD            fwHeadLayer;
111         DWORD           dwHeadBitrate;
112         WORD            fwHeadMode;
113         WORD            fwHeadModeExt;
114         WORD            wHeadEmphasis;
115         WORD            fwHeadFlags;
116         DWORD           dwPTSLow;
117         DWORD           dwPTSHigh;
118 } MPEG1WAVEFORMAT,* PMPEG1WAVEFORMAT;
119
120 #define ACM_MPEG_LAYER1         0x0001
121 #define ACM_MPEG_LAYER2         0x0002
122 #define ACM_MPEG_LAYER3         0x0004
123
124 #define ACM_MPEG_STEREO         0x0001
125 #define ACM_MPEG_JOINTSTEREO    0x0002
126 #define ACM_MPEG_DUALCHANNEL    0x0004
127 #define ACM_MPEG_SINGLECHANNEL  0x0008
128 #define ACM_MPEG_PRIVATEBIT     0x0001
129 #define ACM_MPEG_COPYRIGHT      0x0002
130 #define ACM_MPEG_ORIGINALHOME   0x0004
131 #define ACM_MPEG_PROTECTIONBIT  0x0008
132 #define ACM_MPEG_ID_MPEG1       0x0010
133
134 typedef struct
135 {
136         WAVEFORMATEX    wfx;
137         WORD            wID;
138         DWORD           fdwFlags;
139         WORD            nBlockSize;
140         WORD            nFramesPerBlock;
141         WORD            nCodecDelay;
142 } MPEGLAYER3WAVEFORMAT;
143
144 #define MPEGLAYER3_ID_MPEG              1
145 #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
146
147 #define MPEGLAYER3_FLAG_PADDING_ISO     0x00000000
148 #define MPEGLAYER3_FLAG_PADDING_ON      0x00000001
149 #define MPEGLAYER3_FLAG_PADDING_OFF     0x00000002
150
151
152
153 #endif /* __WINE_MMREG_H */