| 1 |
#ifndef _MMREG_H |
| 2 |
#define _MMREG_H |
| 3 |
#if __GNUC__ >= 3 |
| 4 |
#pragma GCC system_header |
| 5 |
#endif |
| 6 |
|
| 7 |
#ifndef _MMSYSTEM_H |
| 8 |
#include <mmsystem.h> |
| 9 |
#endif |
| 10 |
|
| 11 |
#ifdef __cplusplus |
| 12 |
extern "C" { |
| 13 |
#endif |
| 14 |
|
| 15 |
/*--- DirectShow Reference - DirectShow Structures */ |
| 16 |
typedef struct mpeg1waveformat_tag { |
| 17 |
WAVEFORMATEX wfx; |
| 18 |
WORD fwHeadLayer; |
| 19 |
DWORD dwHeadBitrate; |
| 20 |
WORD fwHeadMode; |
| 21 |
WORD fwHeadModeExt; |
| 22 |
WORD wHeadEmphasis; |
| 23 |
WORD fwHeadFlags; |
| 24 |
DWORD dwPTSLow; |
| 25 |
DWORD dwPTSHigh; |
| 26 |
} MPEG1WAVEFORMAT; |
| 27 |
#define ACM_MPEG_LAYER1 0x0001 |
| 28 |
#define ACM_MPEG_LAYER2 0x0002 |
| 29 |
#define ACM_MPEG_LAYER3 0x0004 |
| 30 |
#define ACM_MPEG_STEREO 0x0001 |
| 31 |
#define ACM_MPEG_JOINTSTEREO 0x0002 |
| 32 |
#define ACM_MPEG_DUALCHANNEL 0x0004 |
| 33 |
#define ACM_MPEG_SINGLECHANNEL 0x0008 |
| 34 |
#define ACM_MPEG_PRIVATEBIT 0x0001 |
| 35 |
#define ACM_MPEG_COPYRIGHT 0x0002 |
| 36 |
#define ACM_MPEG_ORIGINALHOME 0x0004 |
| 37 |
#define ACM_MPEG_PROTECTIONBIT 0x0008 |
| 38 |
#define ACM_MPEG_ID_MPEG1 0x0010 |
| 39 |
typedef struct { |
| 40 |
WAVEFORMATEX Format; |
| 41 |
union { |
| 42 |
WORD wValidBitsPerSample; |
| 43 |
WORD wSamplesPerBlock; |
| 44 |
WORD wReserved; |
| 45 |
} Samples; |
| 46 |
DWORD dwChannelMask; |
| 47 |
GUID SubFormat; |
| 48 |
} WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE; |
| 49 |
#define SPEAKER_FRONT_LEFT 0x1 |
| 50 |
#define SPEAKER_FRONT_RIGHT 0x2 |
| 51 |
#define SPEAKER_FRONT_CENTER 0x4 |
| 52 |
#define SPEAKER_LOW_FREQUENCY 0x8 |
| 53 |
#define SPEAKER_BACK_LEFT 0x10 |
| 54 |
#define SPEAKER_BACK_RIGHT 0x20 |
| 55 |
#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40 |
| 56 |
#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80 |
| 57 |
#define SPEAKER_BACK_CENTER 0x100 |
| 58 |
#define SPEAKER_SIDE_LEFT 0x200 |
| 59 |
#define SPEAKER_SIDE_RIGHT 0x400 |
| 60 |
#define SPEAKER_TOP_CENTER 0x800 |
| 61 |
#define SPEAKER_TOP_FRONT_LEFT 0x1000 |
| 62 |
#define SPEAKER_TOP_FRONT_CENTER 0x2000 |
| 63 |
#define SPEAKER_TOP_FRONT_RIGHT 0x4000 |
| 64 |
#define SPEAKER_TOP_BACK_LEFT 0x8000 |
| 65 |
#define SPEAKER_TOP_BACK_CENTER 0x10000 |
| 66 |
#define SPEAKER_TOP_BACK_RIGHT 0x20000 |
| 67 |
|
| 68 |
/*msdn.microsoft.com/en-us/library/dd390710%28VS.85%29.aspx*/ |
| 69 |
typedef struct mpeglayer3waveformat_tag { |
| 70 |
WAVEFORMATEX wfx; |
| 71 |
WORD wID; |
| 72 |
DWORD fdwFlags; |
| 73 |
WORD nBlockSize; |
| 74 |
WORD nFramesPerBlock; |
| 75 |
WORD nCodecDelay; |
| 76 |
} MPEGLAYER3WAVEFORMAT, *LPMPEGLAYER3WAVEFORMAT; |
| 77 |
|
| 78 |
/* http://www.ietf.org/rfc/rfc2361.txt */ |
| 79 |
#define WAVE_FORMAT_UNKNOWN 0x0000 |
| 80 |
#define WAVE_FORMAT_PCM 0x0001 |
| 81 |
#define WAVE_FORMAT_ADPCM 0x0002 |
| 82 |
#define WAVE_FORMAT_IEEE_FLOAT 0x0003 |
| 83 |
#define WAVE_FORMAT_VSELP 0x0004 |
| 84 |
#define WAVE_FORMAT_IBM_CVSD 0x0005 |
| 85 |
#define WAVE_FORMAT_ALAW 0x0006 |
| 86 |
#define WAVE_FORMAT_MULAW 0x0007 |
| 87 |
|
| 88 |
#define WAVE_FORMAT_OKI_ADPCM 0x0010 |
| 89 |
#define WAVE_FORMAT_DVI_ADPCM 0x0011 |
| 90 |
#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 |
| 91 |
#define WAVE_FORMAT_SIERRA_ADPCM 0x0013 |
| 92 |
#define WAVE_FORMAT_G723_ADPCM 0x0014 |
| 93 |
#define WAVE_FORMAT_DIGIFIX 0x0016 |
| 94 |
#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 |
| 95 |
#define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018 |
| 96 |
#define WAVE_FORMAT_CU_CODEC 0x0019 |
| 97 |
#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 |
| 98 |
#define WAVE_FORMAT_SONARC 0x0021 |
| 99 |
#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 |
| 100 |
#define WAVE_FORMAT_ECHOSC1 0x0023 |
| 101 |
#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 |
| 102 |
#define WAVE_FORMAT_APTX 0x0025 |
| 103 |
#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 |
| 104 |
#define WAVE_FORMAT_PROSODY_1612 0x0027 |
| 105 |
#define WAVE_FORMAT_LRC 0x0028 |
| 106 |
|
| 107 |
#define WAVE_FORMAT_DOLBY_AC2 0x0030 |
| 108 |
#define WAVE_FORMAT_GSM610 0x0031 |
| 109 |
#define WAVE_FORMAT_MSNAUDIO 0x0032 |
| 110 |
#define WAVE_FORMAT_ANTEX_ADPCME 0x0033 |
| 111 |
#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 |
| 112 |
#define WAVE_FORMAT_DIGIREAL 0x0035 |
| 113 |
#define WAVE_FORMAT_DIGIADPCM 0x0036 |
| 114 |
#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 |
| 115 |
#define WAVE_FORMAT_NMS_VBXADPCM 0x0038 |
| 116 |
#define WAVE_FORMAT_ROLAND_RDAC 0x0039 |
| 117 |
#define WAVE_FORMAT_ECHOSC3 0x003A |
| 118 |
#define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B |
| 119 |
#define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C |
| 120 |
#define WAVE_FORMAT_XEBEC 0x003D |
| 121 |
|
| 122 |
#define WAVE_FORMAT_G721_ADPCM 0x0040 |
| 123 |
#define WAVE_FORMAT_G728_CELP 0x0041 |
| 124 |
#define WAVE_FORMAT_MSG723 0x0042 |
| 125 |
|
| 126 |
#define WAVE_FORMAT_MPEG 0x0050 |
| 127 |
|
| 128 |
#define WAVE_FORMAT_RT24 0x0052 |
| 129 |
#define WAVE_FORMAT_PAC 0x0053 |
| 130 |
|
| 131 |
#define WAVE_FORMAT_MPEGLAYER3 0x0055 |
| 132 |
|
| 133 |
#define WAVE_FORMAT_LUCENT_G723 0x0059 |
| 134 |
#define WAVE_FORMAT_CIRRUS 0x0060 |
| 135 |
#define WAVE_FORMAT_ESPCM 0x0061 |
| 136 |
#define WAVE_FORMAT_VOXWARE 0x0062 |
| 137 |
#define WAVE_FORMAT_CANOPUS_ATRAC 0x0063 |
| 138 |
#define WAVE_FORMAT_G726_ADPCM 0x0064 |
| 139 |
#define WAVE_FORMAT_G722_ADPCM 0x0065 |
| 140 |
#define WAVE_FORMAT_DSAT 0x0066 |
| 141 |
#define WAVE_FORMAT_DSAT_DISPLAY 0x0067 |
| 142 |
|
| 143 |
#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069 |
| 144 |
#define WAVE_FORMAT_VOXWARE_AC8 0x0070 |
| 145 |
#define WAVE_FORMAT_VOXWARE_AC10 0x0071 |
| 146 |
#define WAVE_FORMAT_VOXWARE_AC16 0x0072 |
| 147 |
#define WAVE_FORMAT_VOXWARE_AC20 0x0073 |
| 148 |
#define WAVE_FORMAT_VOXWARE_RT24 0x0074 |
| 149 |
#define WAVE_FORMAT_VOXWARE_RT29 0x0075 |
| 150 |
#define WAVE_FORMAT_VOXWARE_RT29HW 0x0076 |
| 151 |
#define WAVE_FORMAT_VOXWARE_VR12 0x0077 |
| 152 |
#define WAVE_FORMAT_VOXWARE_VR18 0x0078 |
| 153 |
#define WAVE_FORMAT_VOXWARE_TQ40 0x0079 |
| 154 |
#define WAVE_FORMAT_SOFTSOUND 0x0080 |
| 155 |
#define WAVE_FORMAT_VOXWARE_TQ60 0x0081 |
| 156 |
#define WAVE_FORMAT_MSRT24 0x0082 |
| 157 |
#define WAVE_FORMAT_G729A 0x0083 |
| 158 |
#define WAVE_FORMAT_MVI_MV12 0x0084 |
| 159 |
#define WAVE_FORMAT_DF_G726 0x0085 |
| 160 |
#define WAVE_FORMAT_DF_GSM610 0x0086 |
| 161 |
|
| 162 |
#define WAVE_FORMAT_ISIAUDIO 0x0088 |
| 163 |
#define WAVE_FORMAT_ONLIVE 0x0089 |
| 164 |
|
| 165 |
#define WAVE_FORMAT_SBC24 0x0091 |
| 166 |
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 |
| 167 |
|
| 168 |
#define WAVE_FORMAT_ZYXEL_ADPCM 0x0097 |
| 169 |
#define WAVE_FORMAT_PHILIPS_LPCBB 0x0098 |
| 170 |
#define WAVE_FORMAT_PACKED 0x0099 |
| 171 |
#define WAVE_FORMAT_RHETOREX_ADPCM 0x0100 |
| 172 |
#define WAVE_FORMAT_IRAT 0x0101 |
| 173 |
#define WAVE_FORMAT_VIVO_G723 0x0111 |
| 174 |
#define WAVE_FORMAT_VIVO_SIREN 0x0112 |
| 175 |
#define WAVE_FORMAT_DIGITAL_G723 0x0113 |
| 176 |
|
| 177 |
#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 |
| 178 |
|
| 179 |
#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 |
| 180 |
#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 |
| 181 |
|
| 182 |
#define WAVE_FORMAT_QUARTERDECK 0x0220 |
| 183 |
|
| 184 |
#define WAVE_FORMAT_FM_TOWNS_SND 0x0300 |
| 185 |
|
| 186 |
#define WAVE_FORMAT_BTV_DIGITAL 0x0400 |
| 187 |
|
| 188 |
#define WAVE_FORMAT_VME_VMPCM 0x0680 |
| 189 |
|
| 190 |
#define WAVE_FORMAT_OLIGSM 0x1000 |
| 191 |
#define WAVE_FORMAT_OLIADPCM 0x1001 |
| 192 |
#define WAVE_FORMAT_OLICELP 0x1002 |
| 193 |
#define WAVE_FORMAT_OLISBC 0x1003 |
| 194 |
#define WAVE_FORMAT_OLIOPR 0x1004 |
| 195 |
|
| 196 |
#define WAVE_FORMAT_LH_CODEC 0x1100 |
| 197 |
|
| 198 |
#define WAVE_FORMAT_NORRIS 0x1400 |
| 199 |
#define WAVE_FORMAT_ISIAUDIO 0x1401 |
| 200 |
|
| 201 |
#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500 |
| 202 |
|
| 203 |
#define WAVE_FORMAT_DVM 0x2000 |
| 204 |
|
| 205 |
/* http://msdn.microsoft.com/en-us/library/aa372553%28VS.85%29.aspx */ |
| 206 |
#define WAVE_FORMAT_RAW_AAC1 0x00FF |
| 207 |
#define WAVE_FORMAT_MPEG_HEAAC 0x1610 |
| 208 |
#define WAVE_FORMAT_MPEG_ADTS_AAC 0x1600 |
| 209 |
#define WAVE_FORMAT_DRM 0x0009 |
| 210 |
#define WAVE_FORMAT_DTS 0x0008 |
| 211 |
#define WAVE_FORMAT_WMAVOICE9 0x000A |
| 212 |
#define WAVE_FORMAT_WMASPDIF 0x0164 |
| 213 |
#define WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163 |
| 214 |
#define WAVE_FORMAT_WMAUDIO2 0x0161 |
| 215 |
#define WAVE_FORMAT_WMAUDIO3 0x0162 |
| 216 |
|
| 217 |
/* http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx */ |
| 218 |
#define WAVE_FORMAT_MPEG_LOAS 0x1602 |
| 219 |
#define WAVE_FORMAT_RAW_SPORT 0x0240 |
| 220 |
#define WAVE_FORMAT_ESST_AC3 0x0241 |
| 221 |
#define WAVE_FORMAT_DTS2 0x2001 |
| 222 |
|
| 223 |
#ifdef __cplusplus |
| 224 |
} |
| 225 |
#endif |
| 226 |
#endif |