23 #ifndef __WINE_MMREG_H 24 #define __WINE_MMREG_H 35 #define MM_MSFT_WDMAUDIO_WAVEOUT 0x64 36 #define MM_MSFT_WDMAUDIO_WAVEIN 0x65 37 #define MM_MSFT_WDMAUDIO_MIDIOUT 0x66 38 #define MM_MSFT_WDMAUDIO_MIDIIN 0x67 39 #define MM_MSFT_WDMAUDIO_MIXER 0x68 40 #define MM_MSFT_WDMAUDIO_AUX 0x69 42 #ifndef _ACM_WAVEFILTER 43 #define _ACM_WAVEFILTER 45 #define WAVE_FILTER_UNKNOWN 0x0000 46 #define WAVE_FILTER_DEVELOPMENT 0xFFFF 56 #ifndef WAVE_FILTER_VOLUME 57 #define WAVE_FILTER_VOLUME 0x0001 65 #ifndef WAVE_FILTER_ECHO 66 #define WAVE_FILTER_ECHO 0x0002 75 #ifndef _WAVEFORMATEX_ 76 #define _WAVEFORMATEX_ 90 #ifndef WAVE_FORMAT_PCM 91 #define WAVE_FORMAT_PCM 0x0001 95 #define WAVE_FORMAT_UNKNOWN 0x0000 96 #define WAVE_FORMAT_ADPCM 0x0002 97 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 98 #define WAVE_FORMAT_IBM_CVSD 0x0005 99 #define WAVE_FORMAT_ALAW 0x0006 100 #define WAVE_FORMAT_MULAW 0x0007 101 #define WAVE_FORMAT_OKI_ADPCM 0x0010 102 #define WAVE_FORMAT_DVI_ADPCM 0x0011 103 #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) 104 #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 105 #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 106 #define WAVE_FORMAT_G723_ADPCM 0x0014 107 #define WAVE_FORMAT_DIGISTD 0x0015 108 #define WAVE_FORMAT_DIGIFIX 0x0016 109 #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 110 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 111 #define WAVE_FORMAT_SONARC 0x0021 112 #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 113 #define WAVE_FORMAT_ECHOSC1 0x0023 114 #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 115 #define WAVE_FORMAT_APTX 0x0025 116 #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 117 #define WAVE_FORMAT_DOLBY_AC2 0x0030 118 #define WAVE_FORMAT_GSM610 0x0031 119 #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 120 #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 121 #define WAVE_FORMAT_DIGIREAL 0x0035 122 #define WAVE_FORMAT_DIGIADPCM 0x0036 123 #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 124 #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 125 #define WAVE_FORMAT_G721_ADPCM 0x0040 126 #define WAVE_FORMAT_MPEG 0x0050 127 #define WAVE_FORMAT_MPEGLAYER3 0x0055 128 #define WAVE_FORMAT_MSRT24 0x0082 129 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 130 #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 131 #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 132 #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 133 #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 134 #define WAVE_FORMAT_OLIGSM 0x1000 135 #define WAVE_FORMAT_OLIADPCM 0x1001 136 #define WAVE_FORMAT_OLICELP 0x1002 137 #define WAVE_FORMAT_OLISBC 0x1003 138 #define WAVE_FORMAT_OLIOPR 0x1004 140 #define MM_UNMAPPED 0xffff 141 #define MM_PID_UNMAPPED MM_UNMAPPED 144 #define MM_MICROSOFT 0x01 146 #define MM_MSFT_ACM_MSADPCM 0x21 147 #define MM_MSFT_ACM_IMAADPCM 0x22 148 #define MM_MSFT_ACM_GSM610 0x24 149 #define MM_MSFT_ACM_G711 0x25 150 #define MM_MSFT_ACM_PCM 0x26 152 #define MM_FRAUNHOFER_IIS 0xAC 153 #define MM_FHGIIS_MPEGLAYER3_DECODE 0x09 154 #define MM_FHGIIS_MPEGLAYER3_PROFESSIONAL 0x0d 156 #if !defined(WAVE_FORMAT_EXTENSIBLE) 157 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE 160 #define WAVE_FORMAT_DEVELOPMENT (0xFFFF) 416 #define ACM_MPEG_LAYER1 0x0001 417 #define ACM_MPEG_LAYER2 0x0002 418 #define ACM_MPEG_LAYER3 0x0004 420 #define ACM_MPEG_STEREO 0x0001 421 #define ACM_MPEG_JOINTSTEREO 0x0002 422 #define ACM_MPEG_DUALCHANNEL 0x0004 423 #define ACM_MPEG_SINGLECHANNEL 0x0008 424 #define ACM_MPEG_PRIVATEBIT 0x0001 425 #define ACM_MPEG_COPYRIGHT 0x0002 426 #define ACM_MPEG_ORIGINALHOME 0x0004 427 #define ACM_MPEG_PROTECTIONBIT 0x0008 428 #define ACM_MPEG_ID_MPEG1 0x0010 439 #define MPEGLAYER3_WFX_EXTRA_BYTES 12 441 #define MPEGLAYER3_ID_UNKNOWN 0 442 #define MPEGLAYER3_ID_MPEG 1 443 #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2 445 #define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000 446 #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001 447 #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002 451 #ifndef _WAVEFORMATEXTENSIBLE_ 452 #define _WAVEFORMATEXTENSIBLE_ 456 WORD wValidBitsPerSample;
457 WORD wSamplesPerBlock;
477 #ifndef _SPEAKER_POSITIONS_ 478 #define _SPEAKER_POSITIONS_ 480 #define SPEAKER_FRONT_LEFT 0x00000001 481 #define SPEAKER_FRONT_RIGHT 0x00000002 482 #define SPEAKER_FRONT_CENTER 0x00000004 483 #define SPEAKER_LOW_FREQUENCY 0x00000008 484 #define SPEAKER_BACK_LEFT 0x00000010 485 #define SPEAKER_BACK_RIGHT 0x00000020 486 #define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040 487 #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080 488 #define SPEAKER_BACK_CENTER 0x00000100 489 #define SPEAKER_SIDE_LEFT 0x00000200 490 #define SPEAKER_SIDE_RIGHT 0x00000400 491 #define SPEAKER_TOP_CENTER 0x00000800 492 #define SPEAKER_TOP_FRONT_LEFT 0x00001000 493 #define SPEAKER_TOP_FRONT_CENTER 0x00002000 494 #define SPEAKER_TOP_FRONT_RIGHT 0x00004000 495 #define SPEAKER_TOP_BACK_LEFT 0x00008000 496 #define SPEAKER_TOP_BACK_CENTER 0x00010000 497 #define SPEAKER_TOP_BACK_RIGHT 0x00020000 498 #define SPEAKER_RESERVED 0x7FFC0000 499 #define SPEAKER_ALL 0x80000000 507 #define BI_BITFIELDS 3 510 #ifndef QUERYDIBSUPPORT 511 #define QUERYDIBSUPPORT 3073 512 #define QDI_SETDIBITS 1 513 #define QDI_GETDIBITS 2 514 #define QDI_DIBTOSCREEN 4 515 #define QDI_STRETCHDIB 8 531 #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c') 532 #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c') 546 #pragma pack(push, 1) 562 DWORD nSamplesPerSec;
563 DWORD nAvgBytesPerSec;
567 WORD wValidBitsPerSample;
struct mediaspace_adpcmwaveformat_tag MEDIASPACEADPCMWAVEFORMAT
CONTRESCR10WAVEFORMAT * NPCONTRESCR10WAVEFORMAT
DIGIFIXWAVEFORMAT * PDIGIFIXWAVEFORMAT
G721_ADPCMWAVEFORMAT * PG721_ADPCMWAVEFORMAT
DIGISTDWAVEFORMAT * LPDIGISTDWAVEFORMAT
struct yamaha_adpmcwaveformat_tag YAMAHA_ADPCMWAVEFORMAT
CSIMAADPCMWAVEFORMAT * LPCSIMAADPCMWAVEFORMAT
TRUESPEECHWAVEFORMAT * PTRUESPEECHWAVEFORMAT
G723_ADPCMWAVEFORMAT * PG723_ADPCMWAVEFORMAT
ECHOSC1WAVEFORMAT * NPECHOSC1WAVEFORMAT
GSM610WAVEFORMAT * LPGSM610WAVEFORMAT
OLIADPCMWAVEFORMAT * LPOLIADPCMWAVEFORMAT
struct _WAVEFORMATEX * PWAVEFORMATEX
DIGIFIXWAVEFORMAT * NPDIGIFIXWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT * PAUDIOFILE_AF36WAVEFORMAT
struct digistdwaveformat_tag DIGISTDWAVEFORMAT
APTXWAVEFORMAT * NPAPTXWAVEFORMAT
struct fmtowns_snd_waveformat_tag FMTOWNS_SND_WAVEFORMAT
struct mpeg1waveformat_tag * PMPEG1WAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * PNMS_VBXADPCMWAVEFORMAT
WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX
CONTRESCR10WAVEFORMAT * LPCONTRESCR10WAVEFORMAT
MEDIASPACEADPCMWAVEFORMAT * LPMEDIASPACEADPCMWAVEFORMAT
IMAADPCMWAVEFORMAT * LPIMAADPCMWAVEFORMAT
OLIGSMWAVEFORMAT * LPOLIGSMWAVEFORMAT
struct nms_vbxadpcmmwaveformat_tag NMS_VBXADPCMWAVEFORMAT
DIGIREALWAVEFORMAT * LPDIGIREALWAVEFORMAT
DIGIADPCMWAVEFORMAT * LPDIGIADPCMWAVEFORMAT
struct gsm610waveformat_tag GSM610WAVEFORMAT
WAVEFORMATPCMEX * LPWAVEFORMATPCMEX
FMTOWNS_SND_WAVEFORMAT * NPFMTOWNS_SND_WAVEFORMAT
OLIOPRWAVEFORMAT * LPOLIOPRWAVEFORMAT
SONARCWAVEFORMAT * LPSONARCWAVEFORMAT
struct contres_cr10waveformat_tag CONTRESCR10WAVEFORMAT
struct truespeechwaveformat_tag TRUESPEECHWAVEFORMAT
CONTRESCR10WAVEFORMAT * PCONTRESCR10WAVEFORMAT
WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX
struct olioprwaveformat_tag OLIOPRWAVEFORMAT
CREATIVEFASTSPEECH8WAVEFORMAT * LPCREATIVEFASTSPEECH8WAVEFORMAT
GSM610WAVEFORMAT * NPGSM610WAVEFORMAT
struct _WAVEFILTER_VOLUME * LPVOLUMEWAVEFILTER
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
OLIOPRWAVEFORMAT * NPOLIOPRWAVEFORMAT
struct creative_fastspeechformat_tag DIALOGICOKIADPCMWAVEFORMAT
DIALOGICOKIADPCMWAVEFORMAT * PDIALOGICOKIADPCMWAVEFORMAT
TRUESPEECHWAVEFORMAT * LPTRUESPEECHWAVEFORMAT
ADPCMEWAVEFORMAT * LPADPCMEWAVEFORMAT
struct creative_fastspeech10format_tag CREATIVEFASTSPEECH10WAVEFORMAT
struct olicelpwaveformat_tag OLICELPWAVEFORMAT
struct _WAVEFILTER WAVEFILTER
AUDIOFILE_AF36WAVEFORMAT * NPAUDIOFILE_AF36WAVEFORMAT
ADPCMWAVEFORMAT * LPADPCMWAVEFORMAT
const struct _WAVEFORMATEX * LPCWAVEFORMATEX
FMTOWNS_SND_WAVEFORMAT * PFMTOWNS_SND_WAVEFORMAT
struct _WAVEFILTER * LPWAVEFILTER
struct oliadpcmwaveformat_tag OLIADPCMWAVEFORMAT
OLICELPWAVEFORMAT * LPOLICELPWAVEFORMAT
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
NMS_VBXADPCMWAVEFORMAT * LPNMS_VBXADPCMWAVEFORMAT
AUDIOFILE_AF10WAVEFORMAT * PAUDIOFILE_AF10WAVEFORMAT
G723_ADPCMWAVEFORMAT * LPG723_ADPCMWAVEFORMAT
WAVEFORMATIEEEFLOATEX * PWAVEFORMATIEEEFLOATEX
IMAADPCMWAVEFORMAT * NPIMAADPCMWAVEFORMAT
struct audiofile_af10waveformat_tag AUDIOFILE_AF10WAVEFORMAT
struct sierra_adpcmwaveformat_tag SIERRAADPCMWAVEFORMAT
struct WAVEFILTER_ECHO ECHOWAVEFILTER
struct _WAVEFORMATEX * NPWAVEFORMATEX
AUDIOFILE_AF10WAVEFORMAT * LPAUDIOFILE_AF10WAVEFORMAT
struct _WAVEFORMATEX * LPWAVEFORMATEX
CREATIVEADPCMWAVEFORMAT * LPCREATIVEADPCMWAVEFORMAT
WAVEFORMATIEEEFLOATEX * NPWAVEFORMATIEEEFLOATEX
SIERRAADPCMWAVEFORMAT * NPSIERRAADPCMWAVEFORMAT
APTXWAVEFORMAT * PAPTXWAVEFORMAT
AUDIOFILE_AF10WAVEFORMAT * NPAUDIOFILE_AF10WAVEFORMAT
OLIADPCMWAVEFORMAT * POLIADPCMWAVEFORMAT
struct audiofile_af36waveformat_tag AUDIOFILE_AF36WAVEFORMAT
struct csimaadpcmwaveformat_tag CSIMAADPCMWAVEFORMAT
struct _WAVEFILTER_VOLUME * PVOLUMEWAVEFILTER
DIGIFIXWAVEFORMAT * LPDIGIFIXWAVEFORMAT
struct mpeg1waveformat_tag MPEG1WAVEFORMAT
OLICELPWAVEFORMAT * POLICELPWAVEFORMAT
struct WAVEFILTER_ECHO * NPECHOWAVEFILTER
DIGIREALWAVEFORMAT * NPDIGIREALWAVEFORMAT
ADPCMWAVEFORMAT * PADPCMWAVEFORMAT
WAVEFORMATPCMEX * NPWAVEFORMATPCMEX
CONTRESVQLPCWAVEFORMAT * LPCONTRESVQLPCWAVEFORMAT
TRUESPEECHWAVEFORMAT * NPTRUESPEECHWAVEFORMAT
struct digirealwaveformat_tag DIGIREALWAVEFORMAT
struct echosc1waveformat_tag ECHOSC1WAVEFORMAT
struct aptxwaveformat_tag APTXWAVEFORMAT
struct WAVEFILTER_ECHO * LPECHOWAVEFILTER
GSM610WAVEFORMAT * PGSM610WAVEFORMAT
APTXWAVEFORMAT * LPAPTXWAVEFORMAT
FMTOWNS_SND_WAVEFORMAT * LPFMTOWNS_SND_WAVEFORMAT
struct g721_adpcmwaveformat_tag G721_ADPCMWAVEFORMAT
DVIADPCMWAVEFORMAT * NPDVIADPCMWAVEFORMAT
OLIGSMWAVEFORMAT * NPOLIGSMWAVEFORMAT
CREATIVEFASTSPEECH10WAVEFORMAT * NPCREATIVEFASTSPEECH10WAVEFORMAT
struct g723_adpcmwaveformat_tag G723_ADPCMWAVEFORMAT
YAMAHA_ADPCMWAVEFORMAT * NPYAMAHA_ADPCMWAVEFORMAT
struct adpcmwaveformat_tag ADPCMWAVEFORMAT
DIGIADPCMWAVEFORMAT * NPDIGIADPCMWAVEFORMAT
YAMAHA_ADPCMWAVEFORMAT * PYAMAHA_ADPCMWAVEFORMAT
struct creative_fastspeech8format_tag CREATIVEFASTSPEECH8WAVEFORMAT
OLISBCWAVEFORMAT * POLISBCWAVEFORMAT
IMAADPCMWAVEFORMAT * PIMAADPCMWAVEFORMAT
CREATIVEFASTSPEECH10WAVEFORMAT * LPCREATIVEFASTSPEECH10WAVEFORMAT
CONTRESVQLPCWAVEFORMAT * NPCONTRESVQLPCWAVEFORMAT
DIALOGICOKIADPCMWAVEFORMAT * NPDIALOGICOKIADPCMWAVEFORMAT
CONTRESVQLPCWAVEFORMAT * PCONTRESVQLPCWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT * LPAUDIOFILE_AF36WAVEFORMAT
SIERRAADPCMWAVEFORMAT * PSIERRAADPCMWAVEFORMAT
struct mpeglayer3waveformat_tag MPEGLAYER3WAVEFORMAT
struct _WAVEFILTER * NPWAVEFILTER
CSIMAADPCMWAVEFORMAT * NPCSIMAADPCMWAVEFORMAT
CREATIVEADPCMWAVEFORMAT * NPCREATIVEADPCMWAVEFORMAT
struct tagEXBMINFOHEADER EXBMINFOHEADER
struct ima_adpcmwaveformat_tag IMAADPCMWAVEFORMAT
MEDIASPACEADPCMWAVEFORMAT * PMEDIASPACEADPCMWAVEFORMAT
MEDIASPACEADPCMWAVEFORMAT * NPMEDIASPACEADPCMWAVEFORMAT
G721_ADPCMWAVEFORMAT * NG721_ADPCMWAVEFORMAT
OLIGSMWAVEFORMAT * POLIGSMWAVEFORMAT
ADPCMCOEFSET * LPADPCMCOEFSET
CREATIVEFASTSPEECH10WAVEFORMAT * PCREATIVEFASTSPEECH10WAVEFORMAT
ECHOSC1WAVEFORMAT * PECHOSC1WAVEFORMAT
DIALOGICOKIADPCMWAVEFORMAT * LPDIALOGICOKIADPCMWAVEFORMAT
struct dvi_adpcmwaveformat_tag DVIADPCMWAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * NPNMS_VBXADPCMWAVEFORMAT
ADPCMWAVEFORMAT * NPADPCMWAVEFORMAT
DIGIADPCMWAVEFORMAT * PDIGIADPCMWAVEFORMAT
ECHOSC1WAVEFORMAT * LPECHOSC1WAVEFORMAT
G721_ADPCMWAVEFORMAT * LPG721_ADPCMWAVEFORMAT
OLICELPWAVEFORMAT * NPOLICELPWAVEFORMAT
struct digifixwaveformat_tag DIGIFIXWAVEFORMAT
DIGISTDWAVEFORMAT * PDIGISTDWAVEFORMAT
OLIOPRWAVEFORMAT * POLIOPRWAVEFORMAT
struct _WAVEFORMATEX WAVEFORMATEX
struct creative_adpcmwaveformat_tag CREATIVEADPCMWAVEFORMAT
ADPCMCOEFSET * PADPCMCOEFSET
struct _WAVEFILTER * PWAVEFILTER
ADPCMEWAVEFORMAT * NPADPCMEWAVEFORMAT
OLIADPCMWAVEFORMAT * NPOLIADPCMWAVEFORMAT
DVIADPCMWAVEFORMAT * LPDVIADPCMWAVEFORMAT
struct _WAVEFILTER_VOLUME VOLUMEWAVEFILTER
struct WAVEFILTER_ECHO * PECHOWAVEFILTER
DVIADPCMWAVEFORMAT * PDVIADPCMWAVEFORMAT
OLISBCWAVEFORMAT * NPOLISBCWAVEFORMAT
struct dolbyac2waveformat_tag DOLBYAC2WAVEFORMAT
SIERRAADPCMWAVEFORMAT * LPSIERRAADPCMWAVEFORMAT
CREATIVEFASTSPEECH8WAVEFORMAT * NPCREATIVEFASTSPEECH8WAVEFORMAT
struct oligsmwaveformat_tag OLIGSMWAVEFORMAT
DIGIREALWAVEFORMAT * PDIGIREALWAVEFORMAT
CREATIVEFASTSPEECH8WAVEFORMAT * PCREATIVEFASTSPEECH8WAVEFORMAT
DIGISTDWAVEFORMAT * NPDIGISTDWAVEFORMAT
struct _WAVEFILTER_VOLUME * NPVOLUMEWAVEFILTER
WAVEFORMATPCMEX * PWAVEFORMATPCMEX
CSIMAADPCMWAVEFORMAT * PCSIMAADPCMWAVEFORMAT
ADPCMEWAVEFORMAT * PADPCMEWAVEFORMAT
struct sonarcwaveformat_tag SONARCWAVEFORMAT
OLISBCWAVEFORMAT * LPOLISBCWAVEFORMAT
YAMAHA_ADPCMWAVEFORMAT * LPYAMAHA_ADPCMWAVEFORMAT
struct contres_vqlpcwaveformat_tag CONTRESVQLPCWAVEFORMAT
struct digiadpcmmwaveformat_tag DIGIADPCMWAVEFORMAT
struct adpcmewaveformat_tag ADPCMEWAVEFORMAT
ADPCMCOEFSET * NPADPCMCOEFSET
WAVEFORMATIEEEFLOATEX * LPWAVEFORMATIEEEFLOATEX
struct olisbcwaveformat_tag OLISBCWAVEFORMAT
CREATIVEADPCMWAVEFORMAT * PCREATIVEADPCMWAVEFORMAT
SONARCWAVEFORMAT * PSONARCWAVEFORMAT
struct adpcmcoef_tag ADPCMCOEFSET
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char * Format
SONARCWAVEFORMAT * NPSONARCWAVEFORMAT
G723_ADPCMWAVEFORMAT * NPG723_ADPCMWAVEFORMAT