*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_MMREG_H
#ifndef _ACM_WAVEFILTER
#define _ACM_WAVEFILTER
-#include <windef.h>
-
#define WAVE_FILTER_UNKNOWN 0x0000
#define WAVE_FILTER_DEVELOPMENT 0xFFFF
#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 {
typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT,
*NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT;
-typedef struct
-{
+typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
#define ACM_MPEG_PROTECTIONBIT 0x0008
#define ACM_MPEG_ID_MPEG1 0x0010
-typedef struct
-{
+typedef struct mpeglayer3waveformat_tag {
WAVEFORMATEX wfx;
WORD wID;
DWORD fdwFlags;
#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 */