MMReg.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:147k
- #define MM_DIMD_WAVEIN 5
- #define MM_DIMD_WAVEOUT 6
- #define MM_DIMD_MIDIIN 7
- #define MM_DIMD_MIDIOUT 8
- #define MM_DIMD_AUX_LINE 9
- #define MM_DIMD_MIXER 10
- #define MM_DIMD_WSS_WAVEIN 14
- #define MM_DIMD_WSS_WAVEOUT 15
- #define MM_DIMD_WSS_MIXER 17
- #define MM_DIMD_WSS_AUX 21
- #define MM_DIMD_WSS_SYNTH 76
- /* MM_S3 product IDs */
- #define MM_S3_WAVEOUT 1
- #define MM_S3_WAVEIN 2
- #define MM_S3_MIDIOUT 3
- #define MM_S3_MIDIIN 4
- #define MM_S3_FMSYNTH 5
- #define MM_S3_MIXER 6
- #define MM_S3_AUX 7
- /* MM_VANKOEVERING product IDs */
- #define MM_VKC_MPU401_MIDIIN 0x0100
- #define MM_VKC_SERIAL_MIDIIN 0x0101
- #define MM_VKC_MPU401_MIDIOUT 0x0200
- #define MM_VKC_SERIAL_MIDIOUT 0x0201
- /* MM_ZEFIRO product IDs */
- #define MM_ZEFIRO_ZA2 2
- /* MM_FRAUNHOFER_IIS product IDs */
- #define MM_FHGIIS_MPEGLAYER3 10
- /* MM_QUICKNET product IDs */
- #define MM_QUICKNET_PJWAVEIN 1
- #define MM_QUICKNET_PJWAVEOUT 2
- /* MM_SICRESOURCE product IDs */
- #define MM_SICRESOURCE_SSO3D 2
- #define MM_SICRESOURCE_SSOW3DI 3
- /* MM_NEOMAGIC product IDs */
- #define MM_NEOMAGIC_SYNTH 1
- #define MM_NEOMAGIC_WAVEOUT 2
- #define MM_NEOMAGIC_WAVEIN 3
- #define MM_NEOMAGIC_MIDIOUT 4
- #define MM_NEOMAGIC_MIDIIN 5
- #define MM_NEOMAGIC_AUX 6
- #define MM_NEOMAGIC_MW3DX_WAVEOUT 10
- #define MM_NEOMAGIC_MW3DX_WAVEIN 11
- #define MM_NEOMAGIC_MW3DX_MIDIOUT 12
- #define MM_NEOMAGIC_MW3DX_MIDIIN 13
- #define MM_NEOMAGIC_MW3DX_FMSYNTH 14
- #define MM_NEOMAGIC_MW3DX_GMSYNTH 15
- #define MM_NEOMAGIC_MW3DX_MIXER 16
- #define MM_NEOMAGIC_MW3DX_AUX 17
- #define MM_NEOMAGIC_MWAVE_WAVEOUT 20
- #define MM_NEOMAGIC_MWAVE_WAVEIN 21
- #define MM_NEOMAGIC_MWAVE_MIDIOUT 22
- #define MM_NEOMAGIC_MWAVE_MIDIIN 23
- #define MM_NEOMAGIC_MWAVE_MIXER 24
- #define MM_NEOMAGIC_MWAVE_AUX 25
- /* MM_MERGING_TECHNOLOGIES product IDs */
- #define MM_MERGING_MPEGL3 1
- /* MM_XIRLINK product IDs */
- #define MM_XIRLINK_VISIONLINK 1
- /* MM_OTI product IDs */
- #define MM_OTI_611WAVEIN 5
- #define MM_OTI_611WAVEOUT 6
- #define MM_OTI_611MIXER 7
- #define MM_OTI_611MIDIN 0x12
- #define MM_OTI_611MIDIOUT 0x13
- /* MM_AUREAL product IDs */
- #define MM_AUREAL_AU8820 16
- #define MM_AU8820_SYNTH 17
- #define MM_AU8820_WAVEOUT 18
- #define MM_AU8820_WAVEIN 19
- #define MM_AU8820_MIXER 20
- #define MM_AU8820_AUX 21
- #define MM_AU8820_MIDIOUT 22
- #define MM_AU8820_MIDIIN 23
- #define MM_AUREAL_AU8830 32
- #define MM_AU8830_SYNTH 33
- #define MM_AU8830_WAVEOUT 34
- #define MM_AU8830_WAVEIN 35
- #define MM_AU8830_MIXER 36
- #define MM_AU8830_AUX 37
- #define MM_AU8830_MIDIOUT 38
- #define MM_AU8830_MIDIIN 39
- /* MM_VIVO product IDs */
- #define MM_VIVO_AUDIO_CODEC 1
- /* MM_SHARP product IDs */
- #define MM_SHARP_MDC_MIDI_SYNTH 1
- #define MM_SHARP_MDC_MIDI_IN 2
- #define MM_SHARP_MDC_MIDI_OUT 3
- #define MM_SHARP_MDC_WAVE_IN 4
- #define MM_SHARP_MDC_WAVE_OUT 5
- #define MM_SHARP_MDC_AUX 6
- #define MM_SHARP_MDC_MIXER 10
- #define MM_SHARP_MDC_AUX_MASTER 100
- #define MM_SHARP_MDC_AUX_BASS 101
- #define MM_SHARP_MDC_AUX_TREBLE 102
- #define MM_SHARP_MDC_AUX_MIDI_VOL 103
- #define MM_SHARP_MDC_AUX_WAVE_VOL 104
- #define MM_SHARP_MDC_AUX_WAVE_RVB 105
- #define MM_SHARP_MDC_AUX_WAVE_CHR 106
- #define MM_SHARP_MDC_AUX_VOL 107
- #define MM_SHARP_MDC_AUX_RVB 108
- #define MM_SHARP_MDC_AUX_CHR 109
- /* MM_LUCENT product IDs */
- #define MM_LUCENT_ACM_G723 0
- /* MM_ATT product IDs */
- #define MM_ATT_G729A 1
- /* MM_MARIAN product IDs */
- #define MM_MARIAN_ARC44WAVEIN 1
- #define MM_MARIAN_ARC44WAVEOUT 2
- #define MM_MARIAN_PRODIF24WAVEIN 3
- #define MM_MARIAN_PRODIF24WAVEOUT 4
- #define MM_MARIAN_ARC88WAVEIN 5
- #define MM_MARIAN_ARC88WAVEOUT 6
- /* MM_BCB product IDs */
- #define MM_BCB_NETBOARD_10 1
- #define MM_BCB_TT75_10 2
- /* MM_MOTIONPIXELS product IDs */
- #define MM_MOTIONPIXELS_MVI2 1
- /* MM_QDESIGN product IDs */
- #define MM_QDESIGN_ACM_MPEG 1
- #define MM_QDESIGN_ACM_QDESIGN_MUSIC 2
- /* MM_NMP product IDs */
- #define MM_NMP_CCP_WAVEIN 1
- #define MM_NMP_CCP_WAVEOUT 2
- #define MM_NMP_ACM_AMR 10
- /* MM_DATAFUSION product IDs */
- #define MM_DF_ACM_G726 1
- #define MM_DF_ACM_GSM610 2
- /* MM_BERCOS product IDs */
- #define MM_BERCOS_WAVEIN 1
- #define MM_BERCOS_MIXER 2
- #define MM_BERCOS_WAVEOUT 3
- /* MM_ONLIVE product IDs */
- #define MM_ONLIVE_MPCODEC 1
- /* MM_PHONET product IDs */
- #define MM_PHONET_PP_WAVEOUT 1
- #define MM_PHONET_PP_WAVEIN 2
- #define MM_PHONET_PP_MIXER 3
- /* MM_FTR product IDs */
- #define MM_FTR_ENCODER_WAVEIN 1
- #define MM_FTR_ACM 2
- /* MM_ENET product IDs */
- #define MM_ENET_T2000_LINEIN 1
- #define MM_ENET_T2000_LINEOUT 2
- #define MM_ENET_T2000_HANDSETIN 3
- #define MM_ENET_T2000_HANDSETOUT 4
- /* MM_EMAGIC product IDs */
- #define MM_EMAGIC_UNITOR8 1
- /* MM_SIPROLAB product IDs */
- #define MM_SIPROLAB_ACELPNET 1
- /* MM_DICTAPHONE product IDs */
- #define MM_DICTAPHONE_G726 1 /* G726 ACM codec (g726pcm.acm) */
- /* MM_RZS product IDs */
- #define MM_RZS_ACM_TUBGSM 1 /* GSM 06.10 CODEC */
- /* MM_EES product IDs */
- #define MM_EES_PCMIDI14 1
- #define MM_EES_PCMIDI14_IN 2
- #define MM_EES_PCMIDI14_OUT1 3
- #define MM_EES_PCMIDI14_OUT2 4
- #define MM_EES_PCMIDI14_OUT3 5
- #define MM_EES_PCMIDI14_OUT4 6
- /* MM_HAFTMANN product IDs */
- #define MM_HAFTMANN_LPTDAC2 1
- /* MM_LUCID product IDs */
- #define MM_LUCID_PCI24WAVEIN 1
- #define MM_LUCID_PCI24WAVEOUT 2
- /* MM_HEADSPACE product IDs */
- #define MM_HEADSPACE_HAESYNTH 1
- #define MM_HEADSPACE_HAEWAVEOUT 2
- #define MM_HEADSPACE_HAEWAVEIN 3
- #define MM_HEADSPACE_HAEMIXER 4
- /* MM_UNISYS product IDs */
- #define MM_UNISYS_ACM_NAP 1
- /* MM_LUMINOSITI product IDs */
- #define MM_LUMINOSITI_SCWAVEIN 1
- #define MM_LUMINOSITI_SCWAVEOUT 2
- #define MM_LUMINOSITI_SCWAVEMIX 3
- /* MM_ACTIVEVOICE product IDs */
- #define MM_ACTIVEVOICE_ACM_VOXADPCM 1
- /* MM_DTS product IDs */
- #define MM_DTS_DS 1
- /* MM_SOFTLAB_NSK product IDs */
- #define MM_SOFTLAB_NSK_FRW_WAVEIN 1
- #define MM_SOFTLAB_NSK_FRW_WAVEOUT 2
- #define MM_SOFTLAB_NSK_FRW_MIXER 3
- #define MM_SOFTLAB_NSK_FRW_AUX 4
- /* MM_FORTEMEDIA product IDs */
- #define MM_FORTEMEDIA_WAVEIN 1
- #define MM_FORTEMEDIA_WAVEOUT 2
- #define MM_FORTEMEDIA_FMSYNC 3
- #define MM_FORTEMEDIA_MIXER 4
- #define MM_FORTEMEDIA_AUX 5
- /* MM_SONORUS product IDs */
- #define MM_SONORUS_STUDIO 1
- /* MM_I_LINK product IDs */
- #define MM_I_LINK_VOICE_CODER 1
- /* MM_SELSIUS_SYSTEMS product IDs */
- #define MM_SELSIUS_SYSTEMS_RTPWAVEOUT 1
- #define MM_SELSIUS_SYSTEMS_RTPWAVEIN 2
- /* MM_ADMOS product IDs */
- #define MM_ADMOS_FM_SYNTH 1
- #define MM_ADMOS_QS3AMIDIOUT 2
- #define MM_ADMOS_QS3AMIDIIN 3
- #define MM_ADMOS_QS3AWAVEOUT 4
- #define MM_ADMOS_QS3AWAVEIN 5
- /* MM_LEXICON product IDs */
- #define MM_LEXICON_STUDIO_WAVE_OUT 1
- #define MM_LEXICON_STUDIO_WAVE_IN 2
- /* MM_SGI product IDs */
- #define MM_SGI_320_WAVEIN 1
- #define MM_SGI_320_WAVEOUT 2
- #define MM_SGI_320_MIXER 3
- #define MM_SGI_540_WAVEIN 4
- #define MM_SGI_540_WAVEOUT 5
- #define MM_SGI_540_MIXER 6
- #define MM_SGI_RAD_ADATMONO1_WAVEIN 7
- #define MM_SGI_RAD_ADATMONO2_WAVEIN 8
- #define MM_SGI_RAD_ADATMONO3_WAVEIN 9
- #define MM_SGI_RAD_ADATMONO4_WAVEIN 10
- #define MM_SGI_RAD_ADATMONO5_WAVEIN 11
- #define MM_SGI_RAD_ADATMONO6_WAVEIN 12
- #define MM_SGI_RAD_ADATMONO7_WAVEIN 13
- #define MM_SGI_RAD_ADATMONO8_WAVEIN 14
- #define MM_SGI_RAD_ADATSTEREO12_WAVEIN 15
- #define MM_SGI_RAD_ADATSTEREO34_WAVEIN 16
- #define MM_SGI_RAD_ADATSTEREO56_WAVEIN 17
- #define MM_SGI_RAD_ADATSTEREO78_WAVEIN 18
- #define MM_SGI_RAD_ADAT8CHAN_WAVEIN 19
- #define MM_SGI_RAD_ADATMONO1_WAVEOUT 20
- #define MM_SGI_RAD_ADATMONO2_WAVEOUT 21
- #define MM_SGI_RAD_ADATMONO3_WAVEOUT 22
- #define MM_SGI_RAD_ADATMONO4_WAVEOUT 23
- #define MM_SGI_RAD_ADATMONO5_WAVEOUT 24
- #define MM_SGI_RAD_ADATMONO6_WAVEOUT 25
- #define MM_SGI_RAD_ADATMONO7_WAVEOUT 26
- #define MM_SGI_RAD_ADATMONO8_WAVEOUT 27
- #define MM_SGI_RAD_ADATSTEREO12_WAVEOUT 28
- #define MM_SGI_RAD_ADATSTEREO32_WAVEOUT 29
- #define MM_SGI_RAD_ADATSTEREO56_WAVEOUT 30
- #define MM_SGI_RAD_ADATSTEREO78_WAVEOUT 31
- #define MM_SGI_RAD_ADAT8CHAN_WAVEOUT 32
- #define MM_SGI_RAD_AESMONO1_WAVEIN 33
- #define MM_SGI_RAD_AESMONO2_WAVEIN 34
- #define MM_SGI_RAD_AESSTEREO_WAVEIN 35
- #define MM_SGI_RAD_AESMONO1_WAVEOUT 36
- #define MM_SGI_RAD_AESMONO2_WAVEOUT 37
- #define MM_SGI_RAD_AESSTEREO_WAVEOUT 38
- /* MM_IPI product IDs */
- #define MM_IPI_ACM_HSX 1
- #define MM_IPI_ACM_RPELP 2
- #define MM_IPI_WF_ASSS 3
- #define MM_IPI_AT_WAVEOUT 4
- #define MM_IPI_AT_WAVEIN 5
- #define MM_IPI_AT_MIXER 6
- /* MM_ICE product IDs */
- #define MM_ICE_WAVEOUT 1
- #define MM_ICE_WAVEIN 2
- #define MM_ICE_MTWAVEOUT 3
- #define MM_ICE_MTWAVEIN 4
- #define MM_ICE_MIDIOUT1 5
- #define MM_ICE_MIDIIN1 6
- #define MM_ICE_MIDIOUT2 7
- #define MM_ICE_MIDIIN2 8
- #define MM_ICE_SYNTH 9
- #define MM_ICE_MIXER 10
- #define MM_ICE_AUX 11
- /* MM_VQST product IDs */
- #define MM_VQST_VQC1 1
- #define MM_VQST_VQC2 2
- /* MM_ETEK product IDs */
- #define MM_ETEK_KWIKMIDI_MIDIIN 1
- #define MM_ETEK_KWIKMIDI_MIDIOUT 2
- /* MM_INTERNET product IDs */
- #define MM_INTERNET_SSW_MIDIOUT 10
- #define MM_INTERNET_SSW_MIDIIN 11
- #define MM_INTERNET_SSW_WAVEOUT 12
- #define MM_INTERNET_SSW_WAVEIN 13
- /* MM_SONY product IDs */
- #define MM_SONY_ACM_SCX 1
- /* MM_UHER_INFORMATIC product IDs */
- #define MM_UH_ACM_ADPCM 1
- /* MM_SYDEC_NV product IDs */
- #define MM_SYDEC_NV_WAVEIN 1
- #define MM_SYDEC_NV_WAVEOUT 2
- /* MM_FLEXION product IDs */
- #define MM_FLEXION_X300_WAVEIN 1
- #define MM_FLEXION_X300_WAVEOUT 2
- /* MM_VIA product IDs */
- #define MM_VIA_WAVEOUT 1
- #define MM_VIA_WAVEIN 2
- #define MM_VIA_MIXER 3
- #define MM_VIA_AUX 4
- #define MM_VIA_MPU401_MIDIOUT 5
- #define MM_VIA_MPU401_MIDIIN 6
- #define MM_VIA_SWFM_SYNTH 7
- #define MM_VIA_WDM_WAVEOUT 8
- #define MM_VIA_WDM_WAVEIN 9
- #define MM_VIA_WDM_MIXER 10
- #define MM_VIA_WDM_MPU401_MIDIOUT 11
- #define MM_VIA_WDM_MPU401_MIDIIN 12
- /* MM_MICRONAS product IDs */
- #define MM_MICRONAS_SC4 1
- #define MM_MICRONAS_CLP833 2
- /* MM_HP product IDs */
- #define MM_HP_WAVEOUT 1
- #define MM_HP_WAVEIN 2
- /* MM_QUICKAUDIO product IDs */
- #define MM_QUICKAUDIO_MINIMIDI 1
- #define MM_QUICKAUDIO_MAXIMIDI 2
- /* MM_ICCC product IDs */
- #define MM_ICCC_UNA3_WAVEIN 1
- #define MM_ICCC_UNA3_WAVEOUT 2
- #define MM_ICCC_UNA3_AUX 3
- #define MM_ICCC_UNA3_MIXER 4
- /* MM_3COM product IDs */
- #define MM_3COM_CB_MIXER 1
- #define MM_3COM_CB_WAVEIN 2
- #define MM_3COM_CB_WAVEOUT 3
- /* MM_MINDMAKER product IDs */
- #define MM_MINDMAKER_GC_WAVEIN 1
- #define MM_MINDMAKER_GC_WAVEOUT 2
- #define MM_MINDMAKER_GC_MIXER 3
- /* MM_TELEKOL product IDs */
- #define MM_TELEKOL_WAVEOUT 1
- #define MM_TELEKOL_WAVEIN 2
- /* MM_ALGOVISION product IDs */
- #define MM_ALGOVISION_VB80WAVEOUT 1
- #define MM_ALGOVISION_VB80WAVEIN 2
- #define MM_ALGOVISION_VB80MIXER 3
- #define MM_ALGOVISION_VB80AUX 4
- #define MM_ALGOVISION_VB80AUX2 5
- #endif // !NOMMIDS
- /* ------------------------------------------------------------------------------ */
- /* INFO LIST CHUNKS (from the Multimedia Programmer's Reference
- plus new ones)
- */
- #define RIFFINFO_IARL mmioFOURCC ('I', 'A', 'R', 'L') /*Archival location */
- #define RIFFINFO_IART mmioFOURCC ('I', 'A', 'R', 'T') /*Artist */
- #define RIFFINFO_ICMS mmioFOURCC ('I', 'C', 'M', 'S') /*Commissioned */
- #define RIFFINFO_ICMT mmioFOURCC ('I', 'C', 'M', 'T') /*Comments */
- #define RIFFINFO_ICOP mmioFOURCC ('I', 'C', 'O', 'P') /*Copyright */
- #define RIFFINFO_ICRD mmioFOURCC ('I', 'C', 'R', 'D') /*Creation date of subject */
- #define RIFFINFO_ICRP mmioFOURCC ('I', 'C', 'R', 'P') /*Cropped */
- #define RIFFINFO_IDIM mmioFOURCC ('I', 'D', 'I', 'M') /*Dimensions */
- #define RIFFINFO_IDPI mmioFOURCC ('I', 'D', 'P', 'I') /*Dots per inch */
- #define RIFFINFO_IENG mmioFOURCC ('I', 'E', 'N', 'G') /*Engineer */
- #define RIFFINFO_IGNR mmioFOURCC ('I', 'G', 'N', 'R') /*Genre */
- #define RIFFINFO_IKEY mmioFOURCC ('I', 'K', 'E', 'Y') /*Keywords */
- #define RIFFINFO_ILGT mmioFOURCC ('I', 'L', 'G', 'T') /*Lightness settings */
- #define RIFFINFO_IMED mmioFOURCC ('I', 'M', 'E', 'D') /*Medium */
- #define RIFFINFO_INAM mmioFOURCC ('I', 'N', 'A', 'M') /*Name of subject */
- #define RIFFINFO_IPLT mmioFOURCC ('I', 'P', 'L', 'T') /*Palette Settings. No. of colors requested. */
- #define RIFFINFO_IPRD mmioFOURCC ('I', 'P', 'R', 'D') /*Product */
- #define RIFFINFO_ISBJ mmioFOURCC ('I', 'S', 'B', 'J') /*Subject description */
- #define RIFFINFO_ISFT mmioFOURCC ('I', 'S', 'F', 'T') /*Software. Name of package used to create file. */
- #define RIFFINFO_ISHP mmioFOURCC ('I', 'S', 'H', 'P') /*Sharpness. */
- #define RIFFINFO_ISRC mmioFOURCC ('I', 'S', 'R', 'C') /*Source. */
- #define RIFFINFO_ISRF mmioFOURCC ('I', 'S', 'R', 'F') /*Source Form. ie slide, paper */
- #define RIFFINFO_ITCH mmioFOURCC ('I', 'T', 'C', 'H') /*Technician who digitized the subject. */
- /* New INFO Chunks as of August 30, 1993: */
- #define RIFFINFO_ISMP mmioFOURCC ('I', 'S', 'M', 'P') /*SMPTE time code */
- /* ISMP: SMPTE time code of digitization start point expressed as a NULL terminated
- text string "HH:MM:SS:FF". If performing MCI capture in AVICAP, this
- chunk will be automatically set based on the MCI start time.
- */
- #define RIFFINFO_IDIT mmioFOURCC ('I', 'D', 'I', 'T') /*Digitization Time */
- /* IDIT: "Digitization Time" Specifies the time and date that the digitization commenced.
- The digitization time is contained in an ASCII string which
- contains exactly 26 characters and is in the format
- "Wed Jan 02 02:03:55 1990n ".
- The ctime(), asctime(), functions can be used to create strings
- in this format. This chunk is automatically added to the capture
- file based on the current system time at the moment capture is initiated.
- */
- /*Template line for new additions*/
- /*#define RIFFINFO_I mmioFOURCC ('I', '', '', '') */
- /* ------------------------------------------------------------------------------ */
- #ifndef NONEWWAVE
- /* WAVE form wFormatTag IDs */
- #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
- #define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
- #define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
- #define WAVE_FORMAT_VSELP 0x0004 /* Compaq Computer Corp. */
- #define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
- #define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
- #define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
- #define WAVE_FORMAT_DTS 0x0008 /* Microsoft Corporation */
- #define WAVE_FORMAT_DRM 0x0009 /* Microsoft Corporation */
- #define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
- #define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
- #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
- #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 /* Videologic */
- #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 /* Sierra Semiconductor Corp */
- #define WAVE_FORMAT_G723_ADPCM 0x0014 /* Antex Electronics Corporation */
- #define WAVE_FORMAT_DIGISTD 0x0015 /* DSP Solutions, Inc. */
- #define WAVE_FORMAT_DIGIFIX 0x0016 /* DSP Solutions, Inc. */
- #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 /* Dialogic Corporation */
- #define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018 /* Media Vision, Inc. */
- #define WAVE_FORMAT_CU_CODEC 0x0019 /* Hewlett-Packard Company */
- #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 /* Yamaha Corporation of America */
- #define WAVE_FORMAT_SONARC 0x0021 /* Speech Compression */
- #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 /* DSP Group, Inc */
- #define WAVE_FORMAT_ECHOSC1 0x0023 /* Echo Speech Corporation */
- #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 /* Virtual Music, Inc. */
- #define WAVE_FORMAT_APTX 0x0025 /* Audio Processing Technology */
- #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 /* Virtual Music, Inc. */
- #define WAVE_FORMAT_PROSODY_1612 0x0027 /* Aculab plc */
- #define WAVE_FORMAT_LRC 0x0028 /* Merging Technologies S.A. */
- #define WAVE_FORMAT_DOLBY_AC2 0x0030 /* Dolby Laboratories */
- #define WAVE_FORMAT_GSM610 0x0031 /* Microsoft Corporation */
- #define WAVE_FORMAT_MSNAUDIO 0x0032 /* Microsoft Corporation */
- #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 /* Antex Electronics Corporation */
- #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 /* Control Resources Limited */
- #define WAVE_FORMAT_DIGIREAL 0x0035 /* DSP Solutions, Inc. */
- #define WAVE_FORMAT_DIGIADPCM 0x0036 /* DSP Solutions, Inc. */
- #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 /* Control Resources Limited */
- #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 /* Natural MicroSystems */
- #define WAVE_FORMAT_CS_IMAADPCM 0x0039 /* Crystal Semiconductor IMA ADPCM */
- #define WAVE_FORMAT_ECHOSC3 0x003A /* Echo Speech Corporation */
- #define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B /* Rockwell International */
- #define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C /* Rockwell International */
- #define WAVE_FORMAT_XEBEC 0x003D /* Xebec Multimedia Solutions Limited */
- #define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
- #define WAVE_FORMAT_G728_CELP 0x0041 /* Antex Electronics Corporation */
- #define WAVE_FORMAT_MSG723 0x0042 /* Microsoft Corporation */
- #define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
- #define WAVE_FORMAT_RT24 0x0052 /* InSoft, Inc. */
- #define WAVE_FORMAT_PAC 0x0053 /* InSoft, Inc. */
- #define WAVE_FORMAT_MPEGLAYER3 0x0055 /* ISO/MPEG Layer3 Format Tag */
- #define WAVE_FORMAT_LUCENT_G723 0x0059 /* Lucent Technologies */
- #define WAVE_FORMAT_CIRRUS 0x0060 /* Cirrus Logic */
- #define WAVE_FORMAT_ESPCM 0x0061 /* ESS Technology */
- #define WAVE_FORMAT_VOXWARE 0x0062 /* Voxware Inc */
- #define WAVE_FORMAT_CANOPUS_ATRAC 0x0063 /* Canopus, co., Ltd. */
- #define WAVE_FORMAT_G726_ADPCM 0x0064 /* APICOM */
- #define WAVE_FORMAT_G722_ADPCM 0x0065 /* APICOM */
- #define WAVE_FORMAT_DSAT_DISPLAY 0x0067 /* Microsoft Corporation */
- #define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_AC8 0x0070 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_AC10 0x0071 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_AC16 0x0072 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_AC20 0x0073 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_RT24 0x0074 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_RT29 0x0075 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_RT29HW 0x0076 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_VR12 0x0077 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_VR18 0x0078 /* Voxware Inc */
- #define WAVE_FORMAT_VOXWARE_TQ40 0x0079 /* Voxware Inc */
- #define WAVE_FORMAT_SOFTSOUND 0x0080 /* Softsound, Ltd. */
- #define WAVE_FORMAT_VOXWARE_TQ60 0x0081 /* Voxware Inc */
- #define WAVE_FORMAT_MSRT24 0x0082 /* Microsoft Corporation */
- #define WAVE_FORMAT_G729A 0x0083 /* AT&T Labs, Inc. */
- #define WAVE_FORMAT_MVI_MVI2 0x0084 /* Motion Pixels */
- #define WAVE_FORMAT_DF_G726 0x0085 /* DataFusion Systems (Pty) (Ltd) */
- #define WAVE_FORMAT_DF_GSM610 0x0086 /* DataFusion Systems (Pty) (Ltd) */
- #define WAVE_FORMAT_ISIAUDIO 0x0088 /* Iterated Systems, Inc. */
- #define WAVE_FORMAT_ONLIVE 0x0089 /* OnLive! Technologies, Inc. */
- #define WAVE_FORMAT_SBC24 0x0091 /* Siemens Business Communications Sys */
- #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 /* Sonic Foundry */
- #define WAVE_FORMAT_MEDIASONIC_G723 0x0093 /* MediaSonic */
- #define WAVE_FORMAT_PROSODY_8KBPS 0x0094 /* Aculab plc */
- #define WAVE_FORMAT_ZYXEL_ADPCM 0x0097 /* ZyXEL Communications, Inc. */
- #define WAVE_FORMAT_PHILIPS_LPCBB 0x0098 /* Philips Speech Processing */
- #define WAVE_FORMAT_PACKED 0x0099 /* Studer Professional Audio AG */
- #define WAVE_FORMAT_MALDEN_PHONYTALK 0x00A0 /* Malden Electronics Ltd. */
- #define WAVE_FORMAT_RHETOREX_ADPCM 0x0100 /* Rhetorex Inc. */
- #define WAVE_FORMAT_IRAT 0x0101 /* BeCubed Software Inc. */
- #define WAVE_FORMAT_VIVO_G723 0x0111 /* Vivo Software */
- #define WAVE_FORMAT_VIVO_SIREN 0x0112 /* Vivo Software */
- #define WAVE_FORMAT_DIGITAL_G723 0x0123 /* Digital Equipment Corporation */
- #define WAVE_FORMAT_SANYO_LD_ADPCM 0x0125 /* Sanyo Electric Co., Ltd. */
- #define WAVE_FORMAT_SIPROLAB_ACEPLNET 0x0130 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_SIPROLAB_ACELP4800 0x0131 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_SIPROLAB_ACELP8V3 0x0132 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_SIPROLAB_G729 0x0133 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_SIPROLAB_G729A 0x0134 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_SIPROLAB_KELVIN 0x0135 /* Sipro Lab Telecom Inc. */
- #define WAVE_FORMAT_G726ADPCM 0x0140 /* Dictaphone Corporation */
- #define WAVE_FORMAT_QUALCOMM_PUREVOICE 0x0150 /* Qualcomm, Inc. */
- #define WAVE_FORMAT_QUALCOMM_HALFRATE 0x0151 /* Qualcomm, Inc. */
- #define WAVE_FORMAT_TUBGSM 0x0155 /* Ring Zero Systems, Inc. */
- #define WAVE_FORMAT_MSAUDIO1 0x0160 /* Microsoft Corporation */
- #define WAVE_FORMAT_UNISYS_NAP_ADPCM 0x0170 /* Unisys Corp. */
- #define WAVE_FORMAT_UNISYS_NAP_ULAW 0x0171 /* Unisys Corp. */
- #define WAVE_FORMAT_UNISYS_NAP_ALAW 0x0172 /* Unisys Corp. */
- #define WAVE_FORMAT_UNISYS_NAP_16K 0x0173 /* Unisys Corp. */
- #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
- #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
- #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
- #define WAVE_FORMAT_UHER_ADPCM 0x0210 /* UHER informatic GmbH */
- #define WAVE_FORMAT_QUARTERDECK 0x0220 /* Quarterdeck Corporation */
- #define WAVE_FORMAT_ILINK_VC 0x0230 /* I-link Worldwide */
- #define WAVE_FORMAT_RAW_SPORT 0x0240 /* Aureal Semiconductor */
- #define WAVE_FORMAT_ESST_AC3 0x0241 /* ESS Technology, Inc. */
- #define WAVE_FORMAT_IPI_HSX 0x0250 /* Interactive Products, Inc. */
- #define WAVE_FORMAT_IPI_RPELP 0x0251 /* Interactive Products, Inc. */
- #define WAVE_FORMAT_CS2 0x0260 /* Consistent Software */
- #define WAVE_FORMAT_SONY_SCX 0x0270 /* Sony Corp. */
- #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 /* Fujitsu Corp. */
- #define WAVE_FORMAT_BTV_DIGITAL 0x0400 /* Brooktree Corporation */
- #define WAVE_FORMAT_QDESIGN_MUSIC 0x0450 /* QDesign Corporation */
- #define WAVE_FORMAT_VME_VMPCM 0x0680 /* AT&T Labs, Inc. */
- #define WAVE_FORMAT_TPC 0x0681 /* AT&T Labs, Inc. */
- #define WAVE_FORMAT_OLIGSM 0x1000 /* Ing C. Olivetti & C., S.p.A. */
- #define WAVE_FORMAT_OLIADPCM 0x1001 /* Ing C. Olivetti & C., S.p.A. */
- #define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
- #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
- #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
- #define WAVE_FORMAT_LH_CODEC 0x1100 /* Lernout & Hauspie */
- #define WAVE_FORMAT_NORRIS 0x1400 /* Norris Communications, Inc. */
- #define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500 /* AT&T Labs, Inc. */
- #define WAVE_FORMAT_DVM 0x2000 /* FAST Multimedia AG */
- #if !defined(WAVE_FORMAT_EXTENSIBLE)
- #define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
- #endif // !defined(WAVE_FORMAT_EXTENSIBLE)
- //
- // the WAVE_FORMAT_DEVELOPMENT format tag can be used during the
- // development phase of a new wave format. Before shipping, you MUST
- // acquire an official format tag from Microsoft.
- //
- #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
- #endif /* NONEWWAVE */
- #ifndef WAVE_FORMAT_PCM
- /* general waveform format structure (information common to all formats) */
- typedef struct waveformat_tag {
- WORD wFormatTag; /* format type */
- WORD nChannels; /* number of channels (i.e. mono, stereo...) */
- DWORD nSamplesPerSec; /* sample rate */
- DWORD nAvgBytesPerSec; /* for buffer estimation */
- WORD nBlockAlign; /* block size of data */
- } WAVEFORMAT;
- typedef WAVEFORMAT *PWAVEFORMAT;
- typedef WAVEFORMAT NEAR *NPWAVEFORMAT;
- typedef WAVEFORMAT FAR *LPWAVEFORMAT;
- /* flags for wFormatTag field of WAVEFORMAT */
- #define WAVE_FORMAT_PCM 1
- /* specific waveform format structure for PCM data */
- typedef struct pcmwaveformat_tag {
- WAVEFORMAT wf;
- WORD wBitsPerSample;
- } PCMWAVEFORMAT;
- typedef PCMWAVEFORMAT *PPCMWAVEFORMAT;
- typedef PCMWAVEFORMAT NEAR *NPPCMWAVEFORMAT;
- typedef PCMWAVEFORMAT FAR *LPPCMWAVEFORMAT;
- #endif /* WAVE_FORMAT_PCM */
- /* general extended waveform format structure
- Use this for all NON PCM formats
- (information common to all formats)
- */
- #ifndef _WAVEFORMATEX_
- #define _WAVEFORMATEX_
- typedef struct tWAVEFORMATEX
- {
- WORD wFormatTag; /* format type */
- WORD nChannels; /* number of channels (i.e. mono, stereo...) */
- DWORD nSamplesPerSec; /* sample rate */
- DWORD nAvgBytesPerSec; /* for buffer estimation */
- WORD nBlockAlign; /* block size of data */
- WORD wBitsPerSample; /* Number of bits per sample of mono data */
- WORD cbSize; /* The count in bytes of the size of
- extra information (after cbSize) */
- } WAVEFORMATEX;
- typedef WAVEFORMATEX *PWAVEFORMATEX;
- typedef WAVEFORMATEX NEAR *NPWAVEFORMATEX;
- typedef WAVEFORMATEX FAR *LPWAVEFORMATEX;
- #endif /* _WAVEFORMATEX_ */
- #ifdef GUID_DEFINED
- #ifndef _WAVEFORMATEXTENSIBLE_
- #define _WAVEFORMATEXTENSIBLE_
- typedef struct {
- WAVEFORMATEX Format;
- union {
- WORD wValidBitsPerSample; /* bits of precision */
- WORD wSamplesPerBlock; /* valid if wBitsPerSample==0 */
- WORD wReserved; /* If neither applies, set to zero. */
- } Samples;
- DWORD dwChannelMask; /* which channels are */
- /* present in stream */
- GUID SubFormat;
- } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
- #endif // !_WAVEFORMATEXTENSIBLE_
- //
- // Extended PCM waveform format structure based on WAVEFORMATEXTENSIBLE.
- // Use this for multiple channel and hi-resolution PCM data
- //
- typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX; /* Format.cbSize = 22 */
- typedef WAVEFORMATPCMEX *PWAVEFORMATPCMEX;
- typedef WAVEFORMATPCMEX NEAR *NPWAVEFORMATPCMEX;
- typedef WAVEFORMATPCMEX FAR *LPWAVEFORMATPCMEX;
- //
- // Extended format structure using IEEE Float data and based
- // on WAVEFORMATEXTENSIBLE. Use this for multiple channel
- // and hi-resolution PCM data in IEEE floating point format.
- //
- typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX; /* Format.cbSize = 22 */
- typedef WAVEFORMATIEEEFLOATEX *PWAVEFORMATIEEEFLOATEX;
- typedef WAVEFORMATIEEEFLOATEX NEAR *NPWAVEFORMATIEEEFLOATEX;
- typedef WAVEFORMATIEEEFLOATEX FAR *LPWAVEFORMATIEEEFLOATEX;
- #endif // GUID_DEFINED
- #ifndef _SPEAKER_POSITIONS_
- #define _SPEAKER_POSITIONS_
- // Speaker Positions for dwChannelMask in WAVEFORMATEXTENSIBLE:
- #define SPEAKER_FRONT_LEFT 0x1
- #define SPEAKER_FRONT_RIGHT 0x2
- #define SPEAKER_FRONT_CENTER 0x4
- #define SPEAKER_LOW_FREQUENCY 0x8
- #define SPEAKER_BACK_LEFT 0x10
- #define SPEAKER_BACK_RIGHT 0x20
- #define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
- #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
- #define SPEAKER_BACK_CENTER 0x100
- #define SPEAKER_SIDE_LEFT 0x200
- #define SPEAKER_SIDE_RIGHT 0x400
- #define SPEAKER_TOP_CENTER 0x800
- #define SPEAKER_TOP_FRONT_LEFT 0x1000
- #define SPEAKER_TOP_FRONT_CENTER 0x2000
- #define SPEAKER_TOP_FRONT_RIGHT 0x4000
- #define SPEAKER_TOP_BACK_LEFT 0x8000
- #define SPEAKER_TOP_BACK_CENTER 0x10000
- #define SPEAKER_TOP_BACK_RIGHT 0x20000
- // Bit mask locations reserved for future use
- #define SPEAKER_RESERVED 0x7FFC0000
- // Used to specify that any possible permutation of speaker configurations
- #define SPEAKER_ALL 0x80000000
- #endif // _SPEAKER_POSITIONS_
- #ifndef NONEWWAVE
- /* Define data for MS ADPCM */
- typedef struct adpcmcoef_tag {
- short iCoef1;
- short iCoef2;
- } ADPCMCOEFSET;
- typedef ADPCMCOEFSET *PADPCMCOEFSET;
- typedef ADPCMCOEFSET NEAR *NPADPCMCOEFSET;
- typedef ADPCMCOEFSET FAR *LPADPCMCOEFSET;
- /*
- * this pragma disables the warning issued by the Microsoft C compiler
- * when using a zero size array as place holder when compiling for
- * C++ or with -W4.
- *
- */
- #ifdef _MSC_VER
- #pragma warning(disable:4200)
- #endif
- typedef struct adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- WORD wNumCoef;
- #if defined( _MSC_VER )
- ADPCMCOEFSET aCoef[];
- #else
- ADPCMCOEFSET aCoef[1];
- #endif
- } ADPCMWAVEFORMAT;
- typedef ADPCMWAVEFORMAT *PADPCMWAVEFORMAT;
- typedef ADPCMWAVEFORMAT NEAR *NPADPCMWAVEFORMAT;
- typedef ADPCMWAVEFORMAT FAR *LPADPCMWAVEFORMAT;
- #ifdef _MSC_VER
- #pragma warning(default:4200)
- #endif
- //
- // Microsoft's DRM structure definitions
- //
- typedef struct drmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wReserved;
- ULONG ulContentId;
- WAVEFORMATEX wfxSecure;
- } DRMWAVEFORMAT;
- typedef DRMWAVEFORMAT *PDRMWAVEFORMAT;
- typedef DRMWAVEFORMAT NEAR *NPDRMWAVEFORMAT;
- typedef DRMWAVEFORMAT FAR *LPDRMWAVEFORMAT;
- //
- // Intel's DVI ADPCM structure definitions
- //
- // for WAVE_FORMAT_DVI_ADPCM (0x0011)
- //
- //
- typedef struct dvi_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } DVIADPCMWAVEFORMAT;
- typedef DVIADPCMWAVEFORMAT *PDVIADPCMWAVEFORMAT;
- typedef DVIADPCMWAVEFORMAT NEAR *NPDVIADPCMWAVEFORMAT;
- typedef DVIADPCMWAVEFORMAT FAR *LPDVIADPCMWAVEFORMAT;
- //
- // IMA endorsed ADPCM structure definitions--note that this is exactly
- // the same format as Intel's DVI ADPCM.
- //
- // for WAVE_FORMAT_IMA_ADPCM (0x0011)
- //
- //
- typedef struct ima_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } IMAADPCMWAVEFORMAT;
- typedef IMAADPCMWAVEFORMAT *PIMAADPCMWAVEFORMAT;
- typedef IMAADPCMWAVEFORMAT NEAR *NPIMAADPCMWAVEFORMAT;
- typedef IMAADPCMWAVEFORMAT FAR *LPIMAADPCMWAVEFORMAT;
- /*
- //VideoLogic's Media Space ADPCM Structure definitions
- // for WAVE_FORMAT_MEDIASPACE_ADPCM (0x0012)
- //
- //
- */
- typedef struct mediaspace_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } MEDIASPACEADPCMWAVEFORMAT;
- typedef MEDIASPACEADPCMWAVEFORMAT *PMEDIASPACEADPCMWAVEFORMAT;
- typedef MEDIASPACEADPCMWAVEFORMAT NEAR *NPMEDIASPACEADPCMWAVEFORMAT;
- typedef MEDIASPACEADPCMWAVEFORMAT FAR *LPMEDIASPACEADPCMWAVEFORMAT;
- //
- // Sierra Semiconductor
- //
- // for WAVE_FORMAT_SIERRA_ADPCM (0x0013)
- //
- //
- typedef struct sierra_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } SIERRAADPCMWAVEFORMAT;
- typedef SIERRAADPCMWAVEFORMAT *PSIERRAADPCMWAVEFORMAT;
- typedef SIERRAADPCMWAVEFORMAT NEAR *NPSIERRAADPCMWAVEFORMAT;
- typedef SIERRAADPCMWAVEFORMAT FAR *LPSIERRAADPCMWAVEFORMAT;
- //
- // Antex Electronics structure definitions
- //
- // for WAVE_FORMAT_G723_ADPCM (0x0014)
- //
- //
- typedef struct g723_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD cbExtraSize;
- WORD nAuxBlockSize;
- } G723_ADPCMWAVEFORMAT;
- typedef G723_ADPCMWAVEFORMAT *PG723_ADPCMWAVEFORMAT;
- typedef G723_ADPCMWAVEFORMAT NEAR *NPG723_ADPCMWAVEFORMAT;
- typedef G723_ADPCMWAVEFORMAT FAR *LPG723_ADPCMWAVEFORMAT;
- //
- // DSP Solutions (formerly DIGISPEECH) structure definitions
- //
- // for WAVE_FORMAT_DIGISTD (0x0015)
- //
- //
- typedef struct digistdwaveformat_tag {
- WAVEFORMATEX wfx;
- } DIGISTDWAVEFORMAT;
- typedef DIGISTDWAVEFORMAT *PDIGISTDWAVEFORMAT;
- typedef DIGISTDWAVEFORMAT NEAR *NPDIGISTDWAVEFORMAT;
- typedef DIGISTDWAVEFORMAT FAR *LPDIGISTDWAVEFORMAT;
- //
- // DSP Solutions (formerly DIGISPEECH) structure definitions
- //
- // for WAVE_FORMAT_DIGIFIX (0x0016)
- //
- //
- typedef struct digifixwaveformat_tag {
- WAVEFORMATEX wfx;
- } DIGIFIXWAVEFORMAT;
- typedef DIGIFIXWAVEFORMAT *PDIGIFIXWAVEFORMAT;
- typedef DIGIFIXWAVEFORMAT NEAR *NPDIGIFIXWAVEFORMAT;
- typedef DIGIFIXWAVEFORMAT FAR *LPDIGIFIXWAVEFORMAT;
- //
- // Dialogic Corporation
- // WAVEFORMAT_DIALOGIC_OKI_ADPCM (0x0017)
- //
- typedef struct creative_fastspeechformat_tag{
- WAVEFORMATEX ewf;
- }DIALOGICOKIADPCMWAVEFORMAT;
- typedef DIALOGICOKIADPCMWAVEFORMAT *PDIALOGICOKIADPCMWAVEFORMAT;
- typedef DIALOGICOKIADPCMWAVEFORMAT NEAR *NPDIALOGICOKIADPCMWAVEFORMAT;
- typedef DIALOGICOKIADPCMWAVEFORMAT FAR *LPDIALOGICOKIADPCMWAVEFORMAT;
- //
- // Yamaha Compression's ADPCM structure definitions
- //
- // for WAVE_FORMAT_YAMAHA_ADPCM (0x0020)
- //
- //
- typedef struct yamaha_adpmcwaveformat_tag {
- WAVEFORMATEX wfx;
- } YAMAHA_ADPCMWAVEFORMAT;
- typedef YAMAHA_ADPCMWAVEFORMAT *PYAMAHA_ADPCMWAVEFORMAT;
- typedef YAMAHA_ADPCMWAVEFORMAT NEAR *NPYAMAHA_ADPCMWAVEFORMAT;
- typedef YAMAHA_ADPCMWAVEFORMAT FAR *LPYAMAHA_ADPCMWAVEFORMAT;
- //
- // Speech Compression's Sonarc structure definitions
- //
- // for WAVE_FORMAT_SONARC (0x0021)
- //
- //
- typedef struct sonarcwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wCompType;
- } SONARCWAVEFORMAT;
- typedef SONARCWAVEFORMAT *PSONARCWAVEFORMAT;
- typedef SONARCWAVEFORMAT NEAR *NPSONARCWAVEFORMAT;
- typedef SONARCWAVEFORMAT FAR *LPSONARCWAVEFORMAT;
- //
- // DSP Groups's TRUESPEECH structure definitions
- //
- // for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022)
- //
- //
- typedef struct truespeechwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- WORD nSamplesPerBlock;
- BYTE abReserved[28];
- } TRUESPEECHWAVEFORMAT;
- typedef TRUESPEECHWAVEFORMAT *PTRUESPEECHWAVEFORMAT;
- typedef TRUESPEECHWAVEFORMAT NEAR *NPTRUESPEECHWAVEFORMAT;
- typedef TRUESPEECHWAVEFORMAT FAR *LPTRUESPEECHWAVEFORMAT;
- //
- // Echo Speech Corp structure definitions
- //
- // for WAVE_FORMAT_ECHOSC1 (0x0023)
- //
- //
- typedef struct echosc1waveformat_tag {
- WAVEFORMATEX wfx;
- } ECHOSC1WAVEFORMAT;
- typedef ECHOSC1WAVEFORMAT *PECHOSC1WAVEFORMAT;
- typedef ECHOSC1WAVEFORMAT NEAR *NPECHOSC1WAVEFORMAT;
- typedef ECHOSC1WAVEFORMAT FAR *LPECHOSC1WAVEFORMAT;
- //
- // Audiofile Inc.structure definitions
- //
- // for WAVE_FORMAT_AUDIOFILE_AF36 (0x0024)
- //
- //
- typedef struct audiofile_af36waveformat_tag {
- WAVEFORMATEX wfx;
- } AUDIOFILE_AF36WAVEFORMAT;
- typedef AUDIOFILE_AF36WAVEFORMAT *PAUDIOFILE_AF36WAVEFORMAT;
- typedef AUDIOFILE_AF36WAVEFORMAT NEAR *NPAUDIOFILE_AF36WAVEFORMAT;
- typedef AUDIOFILE_AF36WAVEFORMAT FAR *LPAUDIOFILE_AF36WAVEFORMAT;
- //
- // Audio Processing Technology structure definitions
- //
- // for WAVE_FORMAT_APTX (0x0025)
- //
- //
- typedef struct aptxwaveformat_tag {
- WAVEFORMATEX wfx;
- } APTXWAVEFORMAT;
- typedef APTXWAVEFORMAT *PAPTXWAVEFORMAT;
- typedef APTXWAVEFORMAT NEAR *NPAPTXWAVEFORMAT;
- typedef APTXWAVEFORMAT FAR *LPAPTXWAVEFORMAT;
- //
- // Audiofile Inc.structure definitions
- //
- // for WAVE_FORMAT_AUDIOFILE_AF10 (0x0026)
- //
- //
- typedef struct audiofile_af10waveformat_tag {
- WAVEFORMATEX wfx;
- } AUDIOFILE_AF10WAVEFORMAT;
- typedef AUDIOFILE_AF10WAVEFORMAT *PAUDIOFILE_AF10WAVEFORMAT;
- typedef AUDIOFILE_AF10WAVEFORMAT NEAR *NPAUDIOFILE_AF10WAVEFORMAT;
- typedef AUDIOFILE_AF10WAVEFORMAT FAR *LPAUDIOFILE_AF10WAVEFORMAT;
- //
- /* Dolby's AC-2 wave format structure definition
- WAVE_FORMAT_DOLBY_AC2 (0x0030)*/
- //
- typedef struct dolbyac2waveformat_tag {
- WAVEFORMATEX wfx;
- WORD nAuxBitsCode;
- } DOLBYAC2WAVEFORMAT;
- /*Microsoft's */
- // WAVE_FORMAT_GSM 610 0x0031
- //
- typedef struct gsm610waveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } GSM610WAVEFORMAT;
- typedef GSM610WAVEFORMAT *PGSM610WAVEFORMAT;
- typedef GSM610WAVEFORMAT NEAR *NPGSM610WAVEFORMAT;
- typedef GSM610WAVEFORMAT FAR *LPGSM610WAVEFORMAT;
- //
- // Antex Electronics Corp
- //
- // for WAVE_FORMAT_ADPCME (0x0033)
- //
- //
- typedef struct adpcmewaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } ADPCMEWAVEFORMAT;
- typedef ADPCMEWAVEFORMAT *PADPCMEWAVEFORMAT;
- typedef ADPCMEWAVEFORMAT NEAR *NPADPCMEWAVEFORMAT;
- typedef ADPCMEWAVEFORMAT FAR *LPADPCMEWAVEFORMAT;
- /* Control Resources Limited */
- // WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
- //
- typedef struct contres_vqlpcwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } CONTRESVQLPCWAVEFORMAT;
- typedef CONTRESVQLPCWAVEFORMAT *PCONTRESVQLPCWAVEFORMAT;
- typedef CONTRESVQLPCWAVEFORMAT NEAR *NPCONTRESVQLPCWAVEFORMAT;
- typedef CONTRESVQLPCWAVEFORMAT FAR *LPCONTRESVQLPCWAVEFORMAT;
- //
- //
- //
- // for WAVE_FORMAT_DIGIREAL (0x0035)
- //
- //
- typedef struct digirealwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } DIGIREALWAVEFORMAT;
- typedef DIGIREALWAVEFORMAT *PDIGIREALWAVEFORMAT;
- typedef DIGIREALWAVEFORMAT NEAR *NPDIGIREALWAVEFORMAT;
- typedef DIGIREALWAVEFORMAT FAR *LPDIGIREALWAVEFORMAT;
- //
- // DSP Solutions
- //
- // for WAVE_FORMAT_DIGIADPCM (0x0036)
- //
- //
- typedef struct digiadpcmmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } DIGIADPCMWAVEFORMAT;
- typedef DIGIADPCMWAVEFORMAT *PDIGIADPCMWAVEFORMAT;
- typedef DIGIADPCMWAVEFORMAT NEAR *NPDIGIADPCMWAVEFORMAT;
- typedef DIGIADPCMWAVEFORMAT FAR *LPDIGIADPCMWAVEFORMAT;
- /* Control Resources Limited */
- // WAVE_FORMAT_CONTROL_RES_CR10 0x0037
- //
- typedef struct contres_cr10waveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } CONTRESCR10WAVEFORMAT;
- typedef CONTRESCR10WAVEFORMAT *PCONTRESCR10WAVEFORMAT;
- typedef CONTRESCR10WAVEFORMAT NEAR *NPCONTRESCR10WAVEFORMAT;
- typedef CONTRESCR10WAVEFORMAT FAR *LPCONTRESCR10WAVEFORMAT;
- //
- // Natural Microsystems
- //
- // for WAVE_FORMAT_NMS_VBXADPCM (0x0038)
- //
- //
- typedef struct nms_vbxadpcmmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wSamplesPerBlock;
- } NMS_VBXADPCMWAVEFORMAT;
- typedef NMS_VBXADPCMWAVEFORMAT *PNMS_VBXADPCMWAVEFORMAT;
- typedef NMS_VBXADPCMWAVEFORMAT NEAR *NPNMS_VBXADPCMWAVEFORMAT;
- typedef NMS_VBXADPCMWAVEFORMAT FAR *LPNMS_VBXADPCMWAVEFORMAT;
- //
- // Antex Electronics structure definitions
- //
- // for WAVE_FORMAT_G721_ADPCM (0x0040)
- //
- //
- typedef struct g721_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD nAuxBlockSize;
- } G721_ADPCMWAVEFORMAT;
- typedef G721_ADPCMWAVEFORMAT *PG721_ADPCMWAVEFORMAT;
- typedef G721_ADPCMWAVEFORMAT NEAR *NPG721_ADPCMWAVEFORMAT;
- typedef G721_ADPCMWAVEFORMAT FAR *LPG721_ADPCMWAVEFORMAT;
- //
- //
- // Microsoft MPEG audio WAV definition
- //
- /* MPEG-1 audio wave format (audio layer only). (0x0050) */
- typedef struct mpeg1waveformat_tag {
- WAVEFORMATEX wfx;
- WORD fwHeadLayer;
- DWORD dwHeadBitrate;
- WORD fwHeadMode;
- WORD fwHeadModeExt;
- WORD wHeadEmphasis;
- WORD fwHeadFlags;
- DWORD dwPTSLow;
- DWORD dwPTSHigh;
- } MPEG1WAVEFORMAT;
- typedef MPEG1WAVEFORMAT *PMPEG1WAVEFORMAT;
- typedef MPEG1WAVEFORMAT NEAR *NPMPEG1WAVEFORMAT;
- typedef MPEG1WAVEFORMAT FAR *LPMPEG1WAVEFORMAT;
- #define ACM_MPEG_LAYER1 (0x0001)
- #define ACM_MPEG_LAYER2 (0x0002)
- #define ACM_MPEG_LAYER3 (0x0004)
- #define ACM_MPEG_STEREO (0x0001)
- #define ACM_MPEG_JOINTSTEREO (0x0002)
- #define ACM_MPEG_DUALCHANNEL (0x0004)
- #define ACM_MPEG_SINGLECHANNEL (0x0008)
- #define ACM_MPEG_PRIVATEBIT (0x0001)
- #define ACM_MPEG_COPYRIGHT (0x0002)
- #define ACM_MPEG_ORIGINALHOME (0x0004)
- #define ACM_MPEG_PROTECTIONBIT (0x0008)
- #define ACM_MPEG_ID_MPEG1 (0x0010)
- //
- // MPEG Layer3 WAVEFORMATEX structure
- // for WAVE_FORMAT_MPEGLAYER3 (0x0055)
- //
- #define MPEGLAYER3_WFX_EXTRA_BYTES 12
- // WAVE_FORMAT_MPEGLAYER3 format sructure
- //
- typedef struct mpeglayer3waveformat_tag {
- WAVEFORMATEX wfx;
- WORD wID;
- DWORD fdwFlags;
- WORD nBlockSize;
- WORD nFramesPerBlock;
- WORD nCodecDelay;
- } MPEGLAYER3WAVEFORMAT;
- typedef MPEGLAYER3WAVEFORMAT *PMPEGLAYER3WAVEFORMAT;
- typedef MPEGLAYER3WAVEFORMAT NEAR *NPMPEGLAYER3WAVEFORMAT;
- typedef MPEGLAYER3WAVEFORMAT FAR *LPMPEGLAYER3WAVEFORMAT;
- //==========================================================================;
- #define MPEGLAYER3_ID_UNKNOWN 0
- #define MPEGLAYER3_ID_MPEG 1
- #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
- #define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
- #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
- #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
- //
- // Creative's ADPCM structure definitions
- //
- // for WAVE_FORMAT_CREATIVE_ADPCM (0x0200)
- //
- //
- typedef struct creative_adpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } CREATIVEADPCMWAVEFORMAT;
- typedef CREATIVEADPCMWAVEFORMAT *PCREATIVEADPCMWAVEFORMAT;
- typedef CREATIVEADPCMWAVEFORMAT NEAR *NPCREATIVEADPCMWAVEFORMAT;
- typedef CREATIVEADPCMWAVEFORMAT FAR *LPCREATIVEADPCMWAVEFORMAT;
- //
- // Creative FASTSPEECH
- // WAVEFORMAT_CREATIVE_FASTSPEECH8 (0x0202)
- //
- typedef struct creative_fastspeech8format_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } CREATIVEFASTSPEECH8WAVEFORMAT;
- typedef CREATIVEFASTSPEECH8WAVEFORMAT *PCREATIVEFASTSPEECH8WAVEFORMAT;
- typedef CREATIVEFASTSPEECH8WAVEFORMAT NEAR *NPCREATIVEFASTSPEECH8WAVEFORMAT;
- typedef CREATIVEFASTSPEECH8WAVEFORMAT FAR *LPCREATIVEFASTSPEECH8WAVEFORMAT;
- //
- // Creative FASTSPEECH
- // WAVEFORMAT_CREATIVE_FASTSPEECH10 (0x0203)
- //
- typedef struct creative_fastspeech10format_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } CREATIVEFASTSPEECH10WAVEFORMAT;
- typedef CREATIVEFASTSPEECH10WAVEFORMAT *PCREATIVEFASTSPEECH10WAVEFORMAT;
- typedef CREATIVEFASTSPEECH10WAVEFORMAT NEAR *NPCREATIVEFASTSPEECH10WAVEFORMAT;
- typedef CREATIVEFASTSPEECH10WAVEFORMAT FAR *LPCREATIVEFASTSPEECH10WAVEFORMAT;
- //
- // Fujitsu FM Towns 'SND' structure
- //
- // for WAVE_FORMAT_FMMTOWNS_SND (0x0300)
- //
- //
- typedef struct fmtowns_snd_waveformat_tag {
- WAVEFORMATEX wfx;
- WORD wRevision;
- } FMTOWNS_SND_WAVEFORMAT;
- typedef FMTOWNS_SND_WAVEFORMAT *PFMTOWNS_SND_WAVEFORMAT;
- typedef FMTOWNS_SND_WAVEFORMAT NEAR *NPFMTOWNS_SND_WAVEFORMAT;
- typedef FMTOWNS_SND_WAVEFORMAT FAR *LPFMTOWNS_SND_WAVEFORMAT;
- //
- // Olivetti structure
- //
- // for WAVE_FORMAT_OLIGSM (0x1000)
- //
- //
- typedef struct oligsmwaveformat_tag {
- WAVEFORMATEX wfx;
- } OLIGSMWAVEFORMAT;
- typedef OLIGSMWAVEFORMAT *POLIGSMWAVEFORMAT;
- typedef OLIGSMWAVEFORMAT NEAR *NPOLIGSMWAVEFORMAT;
- typedef OLIGSMWAVEFORMAT FAR *LPOLIGSMWAVEFORMAT;
- //
- // Olivetti structure
- //
- // for WAVE_FORMAT_OLIADPCM (0x1001)
- //
- //
- typedef struct oliadpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- } OLIADPCMWAVEFORMAT;
- typedef OLIADPCMWAVEFORMAT *POLIADPCMWAVEFORMAT;
- typedef OLIADPCMWAVEFORMAT NEAR *NPOLIADPCMWAVEFORMAT ;
- typedef OLIADPCMWAVEFORMAT FAR *LPOLIADPCMWAVEFORMAT;
- //
- // Olivetti structure
- //
- // for WAVE_FORMAT_OLICELP (0x1002)
- //
- //
- typedef struct olicelpwaveformat_tag {
- WAVEFORMATEX wfx;
- } OLICELPWAVEFORMAT;
- typedef OLICELPWAVEFORMAT *POLICELPWAVEFORMAT;
- typedef OLICELPWAVEFORMAT NEAR *NPOLICELPWAVEFORMAT ;
- typedef OLICELPWAVEFORMAT FAR *LPOLICELPWAVEFORMAT;
- //
- // Olivetti structure
- //
- // for WAVE_FORMAT_OLISBC (0x1003)
- //
- //
- typedef struct olisbcwaveformat_tag {
- WAVEFORMATEX wfx;
- } OLISBCWAVEFORMAT;
- typedef OLISBCWAVEFORMAT *POLISBCWAVEFORMAT;
- typedef OLISBCWAVEFORMAT NEAR *NPOLISBCWAVEFORMAT ;
- typedef OLISBCWAVEFORMAT FAR *LPOLISBCWAVEFORMAT;
- //
- // Olivetti structure
- //
- // for WAVE_FORMAT_OLIOPR (0x1004)
- //
- //
- typedef struct olioprwaveformat_tag {
- WAVEFORMATEX wfx;
- } OLIOPRWAVEFORMAT;
- typedef OLIOPRWAVEFORMAT *POLIOPRWAVEFORMAT;
- typedef OLIOPRWAVEFORMAT NEAR *NPOLIOPRWAVEFORMAT ;
- typedef OLIOPRWAVEFORMAT FAR *LPOLIOPRWAVEFORMAT;
- //
- // Crystal Semiconductor IMA ADPCM format
- //
- // for WAVE_FORMAT_CS_IMAADPCM (0x0039)
- //
- //
- typedef struct csimaadpcmwaveformat_tag {
- WAVEFORMATEX wfx;
- } CSIMAADPCMWAVEFORMAT;
- typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT;
- typedef CSIMAADPCMWAVEFORMAT NEAR *NPCSIMAADPCMWAVEFORMAT ;
- typedef CSIMAADPCMWAVEFORMAT FAR *LPCSIMAADPCMWAVEFORMAT;
- //==========================================================================;
- //
- // ACM Wave Filters
- //
- //
- //==========================================================================;
- #ifndef _ACM_WAVEFILTER
- #define _ACM_WAVEFILTER
- #define WAVE_FILTER_UNKNOWN 0x0000
- #define WAVE_FILTER_DEVELOPMENT (0xFFFF)
- typedef struct wavefilter_tag {
- DWORD cbStruct; /* Size of the filter in bytes */
- DWORD dwFilterTag; /* filter type */
- DWORD fdwFilter; /* Flags for the filter (Universal Dfns) */
- DWORD dwReserved[5]; /* Reserved for system use */
- } WAVEFILTER;
- typedef WAVEFILTER *PWAVEFILTER;
- typedef WAVEFILTER NEAR *NPWAVEFILTER;
- typedef WAVEFILTER FAR *LPWAVEFILTER;
- #endif /* _ACM_WAVEFILTER */
- #ifndef WAVE_FILTER_VOLUME
- #define WAVE_FILTER_VOLUME 0x0001
- typedef struct wavefilter_volume_tag {
- WAVEFILTER wfltr;
- DWORD dwVolume;
- } VOLUMEWAVEFILTER;
- typedef VOLUMEWAVEFILTER *PVOLUMEWAVEFILTER;
- typedef VOLUMEWAVEFILTER NEAR *NPVOLUMEWAVEFILTER;
- typedef VOLUMEWAVEFILTER FAR *LPVOLUMEWAVEFILTER;
- #endif /* WAVE_FILTER_VOLUME */
- #ifndef WAVE_FILTER_ECHO
- #define WAVE_FILTER_ECHO 0x0002
- typedef struct wavefilter_echo_tag {
- WAVEFILTER wfltr;
- DWORD dwVolume;
- DWORD dwDelay;
- } ECHOWAVEFILTER;
- typedef ECHOWAVEFILTER *PECHOWAVEFILTER;
- typedef ECHOWAVEFILTER NEAR *NPECHOWAVEFILTER;
- typedef ECHOWAVEFILTER FAR *LPECHOWAVEFILTER;
- #endif /* WAVEFILTER_ECHO */
- /* ------------------------------------------------------------------------------ */
- //
- // New RIFF WAVE Chunks
- //
- #define RIFFWAVE_inst mmioFOURCC('i','n','s','t')
- struct tag_s_RIFFWAVE_inst {
- BYTE bUnshiftedNote;
- char chFineTune;
- char chGain;
- BYTE bLowNote;
- BYTE bHighNote;
- BYTE bLowVelocity;
- BYTE bHighVelocity;
- };
- typedef struct tag_s_RIFFWAVE_INST s_RIFFWAVE_inst;
- #endif
- /* ------------------------------------------------------------------------------ */
- //
- // New RIFF Forms
- //
- #ifndef NONEWRIFF
- /* RIFF AVI */
- //
- // AVI file format is specified in a seperate file (AVIFMT.H),
- // which is available in the VfW and Win 32 SDK
- //
- /* RIFF CPPO */
- #define RIFFCPPO mmioFOURCC('C','P','P','O')
- #define RIFFCPPO_objr mmioFOURCC('o','b','j','r')
- #define RIFFCPPO_obji mmioFOURCC('o','b','j','i')
- #define RIFFCPPO_clsr mmioFOURCC('c','l','s','r')
- #define RIFFCPPO_clsi mmioFOURCC('c','l','s','i')
- #define RIFFCPPO_mbr mmioFOURCC('m','b','r',' ')
- #define RIFFCPPO_char mmioFOURCC('c','h','a','r')
- #define RIFFCPPO_byte mmioFOURCC('b','y','t','e')
- #define RIFFCPPO_int mmioFOURCC('i','n','t',' ')
- #define RIFFCPPO_word mmioFOURCC('w','o','r','d')
- #define RIFFCPPO_long mmioFOURCC('l','o','n','g')
- #define RIFFCPPO_dwrd mmioFOURCC('d','w','r','d')
- #define RIFFCPPO_flt mmioFOURCC('f','l','t',' ')
- #define RIFFCPPO_dbl mmioFOURCC('d','b','l',' ')
- #define RIFFCPPO_str mmioFOURCC('s','t','r',' ')
- #endif
- /*
- //////////////////////////////////////////////////////////////////////////
- //
- // DIB Compression Defines
- //
- */
- #ifndef BI_BITFIELDS
- #define BI_BITFIELDS 3
- #endif
- #ifndef QUERYDIBSUPPORT
- #define QUERYDIBSUPPORT 3073
- #define QDI_SETDIBITS 0x0001
- #define QDI_GETDIBITS 0x0002
- #define QDI_DIBTOSCREEN 0x0004
- #define QDI_STRETCHDIB 0x0008
- #endif
- #ifndef NOBITMAP
- /* Structure definitions */
- typedef struct tagEXBMINFOHEADER {
- BITMAPINFOHEADER bmi;
- /* extended BITMAPINFOHEADER fields */
- DWORD biExtDataOffset;
- /* Other stuff will go here */
- /* ... */
- /* Format-specific information */
- /* biExtDataOffset points here */
- } EXBMINFOHEADER;
- #endif //NOBITMAP
- /* New DIB Compression Defines */
- #define BICOMP_IBMULTIMOTION mmioFOURCC('U', 'L', 'T', 'I')
- #define BICOMP_IBMPHOTOMOTION mmioFOURCC('P', 'H', 'M', 'O')
- #define BICOMP_CREATIVEYUV mmioFOURCC('c', 'y', 'u', 'v')
- #ifndef NOJPEGDIB
- /* New DIB Compression Defines */
- #define JPEG_DIB mmioFOURCC('J','P','E','G') /* Still image JPEG DIB biCompression */
- #define MJPG_DIB mmioFOURCC('M','J','P','G') /* Motion JPEG DIB biCompression */
- /* JPEGProcess Definitions */
- #define JPEG_PROCESS_BASELINE 0 /* Baseline DCT */
- /* AVI File format extensions */
- #define AVIIF_CONTROLFRAME 0x00000200L /* This is a control frame */
- /* JIF Marker byte pairs in JPEG Interchange Format sequence */
- #define JIFMK_SOF0 0xFFC0 /* SOF Huff - Baseline DCT*/
- #define JIFMK_SOF1 0xFFC1 /* SOF Huff - Extended sequential DCT*/
- #define JIFMK_SOF2 0xFFC2 /* SOF Huff - Progressive DCT*/
- #define JIFMK_SOF3 0xFFC3 /* SOF Huff - Spatial (sequential) lossless*/
- #define JIFMK_SOF5 0xFFC5 /* SOF Huff - Differential sequential DCT*/
- #define JIFMK_SOF6 0xFFC6 /* SOF Huff - Differential progressive DCT*/
- #define JIFMK_SOF7 0xFFC7 /* SOF Huff - Differential spatial*/
- #define JIFMK_JPG 0xFFC8 /* SOF Arith - Reserved for JPEG extensions*/
- #define JIFMK_SOF9 0xFFC9 /* SOF Arith - Extended sequential DCT*/
- #define JIFMK_SOF10 0xFFCA /* SOF Arith - Progressive DCT*/
- #define JIFMK_SOF11 0xFFCB /* SOF Arith - Spatial (sequential) lossless*/
- #define JIFMK_SOF13 0xFFCD /* SOF Arith - Differential sequential DCT*/
- #define JIFMK_SOF14 0xFFCE /* SOF Arith - Differential progressive DCT*/
- #define JIFMK_SOF15 0xFFCF /* SOF Arith - Differential spatial*/
- #define JIFMK_DHT 0xFFC4 /* Define Huffman Table(s) */
- #define JIFMK_DAC 0xFFCC /* Define Arithmetic coding conditioning(s) */
- #define JIFMK_RST0 0xFFD0 /* Restart with modulo 8 count 0 */
- #define JIFMK_RST1 0xFFD1 /* Restart with modulo 8 count 1 */
- #define JIFMK_RST2 0xFFD2 /* Restart with modulo 8 count 2 */
- #define JIFMK_RST3 0xFFD3 /* Restart with modulo 8 count 3 */
- #define JIFMK_RST4 0xFFD4 /* Restart with modulo 8 count 4 */
- #define JIFMK_RST5 0xFFD5 /* Restart with modulo 8 count 5 */
- #define JIFMK_RST6 0xFFD6 /* Restart with modulo 8 count 6 */
- #define JIFMK_RST7 0xFFD7 /* Restart with modulo 8 count 7 */
- #define JIFMK_SOI 0xFFD8 /* Start of Image */
- #define JIFMK_EOI 0xFFD9 /* End of Image */
- #define JIFMK_SOS 0xFFDA /* Start of Scan */
- #define JIFMK_DQT 0xFFDB /* Define quantization Table(s) */
- #define JIFMK_DNL 0xFFDC /* Define Number of Lines */
- #define JIFMK_DRI 0xFFDD /* Define Restart Interval */
- #define JIFMK_DHP 0xFFDE /* Define Hierarchical progression */
- #define JIFMK_EXP 0xFFDF /* Expand Reference Component(s) */
- #define JIFMK_APP0 0xFFE0 /* Application Field 0*/
- #define JIFMK_APP1 0xFFE1 /* Application Field 1*/
- #define JIFMK_APP2 0xFFE2 /* Application Field 2*/
- #define JIFMK_APP3 0xFFE3 /* Application Field 3*/
- #define JIFMK_APP4 0xFFE4 /* Application Field 4*/
- #define JIFMK_APP5 0xFFE5 /* Application Field 5*/
- #define JIFMK_APP6 0xFFE6 /* Application Field 6*/
- #define JIFMK_APP7 0xFFE7 /* Application Field 7*/
- #define JIFMK_JPG0 0xFFF0 /* Reserved for JPEG extensions */
- #define JIFMK_JPG1 0xFFF1 /* Reserved for JPEG extensions */
- #define JIFMK_JPG2 0xFFF2 /* Reserved for JPEG extensions */
- #define JIFMK_JPG3 0xFFF3 /* Reserved for JPEG extensions */
- #define JIFMK_JPG4 0xFFF4 /* Reserved for JPEG extensions */
- #define JIFMK_JPG5 0xFFF5 /* Reserved for JPEG extensions */
- #define JIFMK_JPG6 0xFFF6 /* Reserved for JPEG extensions */
- #define JIFMK_JPG7 0xFFF7 /* Reserved for JPEG extensions */
- #define JIFMK_JPG8 0xFFF8 /* Reserved for JPEG extensions */
- #define JIFMK_JPG9 0xFFF9 /* Reserved for JPEG extensions */
- #define JIFMK_JPG10 0xFFFA /* Reserved for JPEG extensions */
- #define JIFMK_JPG11 0xFFFB /* Reserved for JPEG extensions */
- #define JIFMK_JPG12 0xFFFC /* Reserved for JPEG extensions */
- #define JIFMK_JPG13 0xFFFD /* Reserved for JPEG extensions */
- #define JIFMK_COM 0xFFFE /* Comment */
- #define JIFMK_TEM 0xFF01 /* for temp private use arith code */
- #define JIFMK_RES 0xFF02 /* Reserved */
- #define JIFMK_00 0xFF00 /* Zero stuffed byte - entropy data */
- #define JIFMK_FF 0xFFFF /* Fill byte */
- /* JPEGColorSpaceID Definitions */
- #define JPEG_Y 1 /* Y only component of YCbCr */
- #define JPEG_YCbCr 2 /* YCbCr as define by CCIR 601 */
- #define JPEG_RGB 3 /* 3 component RGB */
- /* Structure definitions */
- typedef struct tagJPEGINFOHEADER {
- /* compression-specific fields */
- /* these fields are defined for 'JPEG' and 'MJPG' */
- DWORD JPEGSize;
- DWORD JPEGProcess;
- /* Process specific fields */
- DWORD JPEGColorSpaceID;
- DWORD JPEGBitsPerSample;
- DWORD JPEGHSubSampling;
- DWORD JPEGVSubSampling;
- } JPEGINFOHEADER;
- #ifdef MJPGDHTSEG_STORAGE
- /* Default DHT Segment */
- MJPGHDTSEG_STORAGE BYTE MJPGDHTSeg[0x1A4] = {
- /* JPEG DHT Segment for YCrCb omitted from MJPG data */
- 0xFF,0xC4,0x01,0xA2,
- 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x01,0x00,0x03,0x01,0x01,0x01,0x01,
- 0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0A,0x0B,0x10,0x00,0x02,0x01,0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,
- 0x00,0x01,0x7D,0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,
- 0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xA1,0x08,0x23,0x42,0xB1,0xC1,0x15,0x52,0xD1,0xF0,0x24,
- 0x33,0x62,0x72,0x82,0x09,0x0A,0x16,0x17,0x18,0x19,0x1A,0x25,0x26,0x27,0x28,0x29,0x2A,0x34,
- 0x35,0x36,0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x53,0x54,0x55,0x56,
- 0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x73,0x74,0x75,0x76,0x77,0x78,
- 0x79,0x7A,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,
- 0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,
- 0xBA,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,
- 0xDA,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
- 0xF8,0xF9,0xFA,0x11,0x00,0x02,0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,
- 0x02,0x77,0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,
- 0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91,0xA1,0xB1,0xC1,0x09,0x23,0x33,0x52,0xF0,0x15,0x62,
- 0x72,0xD1,0x0A,0x16,0x24,0x34,0xE1,0x25,0xF1,0x17,0x18,0x19,0x1A,0x26,0x27,0x28,0x29,0x2A,
- 0x35,0x36,0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x53,0x54,0x55,0x56,
- 0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x73,0x74,0x75,0x76,0x77,0x78,
- 0x79,0x7A,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x92,0x93,0x94,0x95,0x96,0x97,0x98,
- 0x99,0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,
- 0xB9,0xBA,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,
- 0xD9,0xDA,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,
- 0xF9,0xFA
- };
- /* End DHT default */
- #endif
- /* End JPEG */
- #endif
- /* ------------------------------------------------------------------------------ */
- //
- // Defined IC types
- //
- #ifndef NONEWIC
- #ifndef ICTYPE_VIDEO
- #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
- #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
- #endif
- #endif
- /*
- // Misc. FOURCC registration
- */
- /* Sierra Semiconductor: RDSP- Confidential RIFF file format
- // for the storage and downloading of DSP
- // code for Audio and communications devices.
- */
- #define FOURCC_RDSP mmioFOURCC('R', 'D', 'S', 'P')
- #ifndef MMNOMIXER
- #define MIXERCONTROL_CONTROLTYPE_SRS_MTS (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6)
- #define MIXERCONTROL_CONTROLTYPE_SRS_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7)
- #define MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8)
- #endif
- #if !defined( RC_INVOKED ) && defined( _MSC_VER )
- #if _MSC_VER <= 800
- #pragma pack(1)
- #else
- #include "poppack.h" /* Revert to default packing */
- #endif
- #endif /* RC_INVOKED */
- #ifdef __cplusplus
- } /* End of extern "C" { */
- #endif /* __cplusplus */
- #endif /* _INC_MMREG */