home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / H / OS2MEDEF.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  13KB  |  306 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /* Module Name: OS2MEDEF.H                                                  */
  4. /*                                                                          */
  5. /* OS/2 2.0 Multimedia Extensions Common Definitions file                   */
  6. /*                                                                          */
  7. /* Copyright (c) International Business Machines Corporation 1991, 1992     */
  8. /*                        All Rights Reserved                               */
  9. /*                                                                          */
  10. /****************************************************************************/
  11.  
  12. /* XLATOFF */
  13. #ifndef  _OS2MEDEF_H
  14. #define  _OS2MEDEF_H
  15.  
  16. #ifndef WORD
  17. typedef USHORT WORD;
  18. #endif
  19.  
  20. #ifndef DWORD
  21. typedef ULONG  DWORD;
  22. #endif
  23.  
  24. typedef WORD  VERSION;
  25. typedef FAR * LPSTR;
  26. typedef FAR * LPTR;
  27. typedef FAR * LPRECT;
  28. typedef HWND HANDLE;
  29. typedef WORD *  PW;
  30. typedef WORD *  PAW;
  31. typedef WORD * PWORD;
  32. typedef PFN  FAR *  PPFN;
  33. typedef DWORD (APIENTRY FNMCI) (LPTR, WORD, DWORD, DWORD, WORD);
  34. typedef FNMCI *PFNMCI;
  35.  
  36. /* XLATON */
  37.  
  38. #ifdef XXXXX
  39. typedef PVOID PFNMCI;
  40. typedef PVOID LPTR;
  41. #endif
  42.  
  43. typedef char   SZ;                    /* ASCIIZ char string type*/
  44. typedef ULONG  MMTIME;                /* universal Chinatown time (1/3000 second)*/
  45. typedef MMTIME FAR *PMMTIME;          /* Ptr to MMTIME unit*/
  46.  
  47. typedef ULONG HMMIO;                  /* Handle to an MMIO object*/
  48. typedef HMMIO FAR *PHMMIO;            /* Handle to an MMIO object*/
  49.  
  50.  
  51. /**********************************************
  52.  *
  53.  * SPCBKEY - Stream Protocol Key
  54.  *
  55.  **********************************************/
  56. typedef struct _SPCBKEY { /* spcbkey SPCB key (Stream data type) */
  57.    ULONG    ulDataType;
  58.    ULONG    ulDataSubType;
  59.    ULONG    ulIntKey;                 /* generated internal key            */
  60.    } SPCBKEY;
  61. typedef SPCBKEY FAR *PSPCBKEY;
  62. #define  _SPCBKEY_DEFINED   1
  63.  
  64.  
  65. /**********************************************
  66.  *
  67.  * MMTRACKINFO - This structure is used to
  68.  *            represent a video, audio or
  69.  *            some other type of track
  70.  *            within a digital video movie
  71.  *            file.
  72.  *
  73.  **********************************************/
  74. typedef struct _MMTRACKINFO {       /* mmtrackinfo */
  75.    ULONG       ulTrackID;         /* track identifier */
  76.    ULONG       ulMediaType;       /* media type */
  77.    ULONG       ulCountry;         /* country code for the track */
  78.    ULONG       ulCodePage;        /* country code page for the track */
  79.    ULONG       ulReserved1;       /* reserved must be 0 */
  80.    ULONG       ulReserved2;       /* reserved must be 0 */
  81.    } MMTRACKINFO;
  82. typedef MMTRACKINFO  *PMMTRACKINFO;/* Ptr to a track table entry */
  83.  
  84.  
  85. /************************
  86.  * Clipboard formats
  87.  ************************/
  88. #define         CF_RMID                 10
  89. #define         CF_RIFF                 11
  90. #define         CF_WAVE                 12
  91. #define         CF_AVI                  13
  92.  
  93. /************************
  94.  * Resource formats
  95.  ************************/
  96. #define         RT_RMID                 100
  97. #define         RT_RIFF                 101
  98. #define         RT_WAVE                 102
  99. #define         RT_AVI                  103
  100. #define         RT_AVS                  104
  101.  
  102. /************************
  103.  * Sampling Rate
  104.  ************************/
  105. #define         HZ_8000                 8000            /* 8.0 kHz*/
  106. #define         HZ_11025                11025           /* 11.025 kHz*/
  107. #define         HZ_14700                14700           /* 14.700 kHz (SPV/2)*/
  108. #define         HZ_18900                18900           /* 18.900 kHz (CD/XA LVL C)*/
  109. #define         HZ_22050                22050           /* 22.050 kHz*/
  110. #define         HZ_37800                37800           /* 37.800 kHz (CD/XA LVL B)*/
  111. #define         HZ_44100                44100           /* 44.100 kHz*/
  112.  
  113. /************************
  114.  * Bits per Sample
  115.  ************************/
  116. #define         BPS_4                   4               /* 4 bits/sample (ADPCM)*/
  117. #define         BPS_8                   8               /* 8 bits/sample (PCM)*/
  118. #define         BPS_16                  16              /* 16 bits/sample(PCM)*/
  119.  
  120. /************************
  121.  * Channels
  122.  ************************/
  123. #define         CH_1                    1               /* Mono*/
  124. #define         CH_2                    2               /* Stereo*/
  125. #define         CH_4                    4               /* Quad*/
  126.  
  127. /*************************************************************************
  128.  * Multimedia Datatypes (spcbkey values)
  129.  *************************************************************************/
  130.  
  131.  
  132. /****************
  133.  * NULL datatype
  134.  ****************/
  135. #define  DATATYPE_NULL           0x0000L     /* NULL stream data type (NULL)*/
  136. #define    SUBTYPE_NONE            0x0000L   /* No subtype for this data type*/
  137.  
  138.  
  139. /*********************
  140.  * WAVEFORM datatypes
  141.  *********************/
  142. #define  DATATYPE_WAVEFORM       0x0001L     /* WAVEFORM audio (PCM)*/
  143.  
  144. /* Subtypes for DATATYPE_WAVEFORM:*/
  145. #define    WAVE_FORMAT_1M08        0x0001L   /* 11.025kHz, Mono  , 8-bit*/
  146. #define    WAVE_FORMAT_1S08        0x0002L   /* 11.025kHz, Stereo, 8-bit*/
  147. #define    WAVE_FORMAT_1M16        0x0003L   /* 11.025kHz, Mono  , 16-bit*/
  148. #define    WAVE_FORMAT_1S16        0x0004L   /* 11.025kHz, Stereo, 16-bit*/
  149. #define    WAVE_FORMAT_2M08        0x0005L   /* 22.05kHz , Mono  , 8-bit*/
  150. #define    WAVE_FORMAT_2S08        0x0006L   /* 22.05kHz , Stereo, 8-bit*/
  151. #define    WAVE_FORMAT_2M16        0x0007L   /* 22.05kHz , Mono  , 16-bit*/
  152. #define    WAVE_FORMAT_2S16        0x0008L   /* 22.05kHz , Stereo, 16-bit*/
  153. #define    WAVE_FORMAT_4M08        0x0009L   /* 44.1kHz  , Mono  , 8-bit*/
  154. #define    WAVE_FORMAT_4S08        0x000aL   /* 44.1kHz  , Stereo, 8-bit*/
  155. #define    WAVE_FORMAT_4M16        0x000bL   /* 44.1kHz  , Mono  , 16-bit*/
  156. #define    WAVE_FORMAT_4S16        0x000cL   /* 44.1kHz  , Stereo, 16-bit*/
  157. #define    WAVE_FORMAT_8M08        0x000dL   /*  8.0kHz  , Mono  , 8-bit*/
  158. #define    WAVE_FORMAT_8S08        0x000eL   /*  8.0kHz  , Stereo, 8-bit*/
  159. #define    WAVE_FORMAT_8M16        0x000fL   /*  8.0kHz  , Mono  , 16-bit*/
  160. #define    WAVE_FORMAT_8S16        0x0010L   /*  8.0kHz  , Stereo, 16-bit*/
  161.  
  162.  
  163. /*********************
  164.  * DIGVIDEO datatypes
  165.  *********************/
  166. #define  DATATYPE_DIGVIDEO       0x0002L     /* Digital Video */
  167.  
  168. /* Subtypes for DATATYPE_DIGVIDEO:*/
  169. #define    DIGVIDEO_PHOTOM         0x544F4850L   /* Photmotion video, FOURCC value for phio */
  170. #define    DIGVIDEO_ULTIM          0x49544c55L   /* Ultimotion video, FOURCC value for ulio */
  171. #define    DIGVIDEO_AVI            0x20495641L   /* AVI video, FOURCC value for avio */
  172. #define    DIGVIDEO_MONITOR        0x206E6F6DL   /* MONITOR video, FOURCC value for monitoring */
  173. #define    DIGVIDEO_FLC            0x63696C66L   /* FLIC video, FOURCC value for flic */
  174. #define    DIGVIDEO_MPEG           0x4745504DL   /* MPEG video, FOURCC value for MPEG */
  175.  
  176.  
  177. /******************
  178.  * MuLaw datatypes
  179.  ******************/
  180. #define DATATYPE_MULAW           0x0101L     /* MuLaw*/
  181. #define DATATYPE_RIFF_MULAW      0x0007L    /* MuLaw*/
  182.  
  183. /* Subtypes for DATATYPE_MULAW:*/
  184. #define    MULAW_8B8KS             0x0001L   /* 8bit 8kHz stereo*/
  185. #define    MULAW_8B11KS            0x0002L   /* 8bit 11kHz stereo*/
  186. #define    MULAW_8B22KS            0x0003L   /* 8bit 22kHz stereo*/
  187. #define    MULAW_8B44KS            0x0004L   /* 8bit 44kHz stereo*/
  188. #define    MULAW_8B8KM             0x0005L   /* 8bit 8kHz mono*/
  189. #define    MULAW_8B11KM            0x0006L   /* 8bit 11kHz mono*/
  190. #define    MULAW_8B22KM            0x0007L   /* 8bit 22kHz mono*/
  191. #define    MULAW_8B44KM            0x0008L   /* 8bit 44kHz mono*/
  192.  
  193. /*****************
  194.  * ALaw datatypes
  195.  *****************/
  196. #define DATATYPE_ALAW            0x0102L     /* ALaw*/
  197. #define DATATYPE_RIFF_ALAW       0x0006L     /* ALaw*/
  198.  
  199. /* Subtypes for DATATYPE_ALAW:*/
  200. #define    ALAW_8B8KS              0x0001L   /* 8bit 8kHz stereo*/
  201. #define    ALAW_8B11KS             0x0002L   /* 8bit 11kHz stereo*/
  202. #define    ALAW_8B22KS             0x0003L   /* 8bit 22kHz stereo*/
  203. #define    ALAW_8B44KS             0x0004L   /* 8bit 44kHz stereo*/
  204. #define    ALAW_8B8KM              0x0005L   /* 8bit 8kHz mono*/
  205. #define    ALAW_8B11KM             0x0006L   /* 8bit 11kHz mono*/
  206. #define    ALAW_8B22KM             0x0007L   /* 8bit 22kHz mono*/
  207. #define    ALAW_8B44KM             0x0008L   /* 8bit 44kHz mono*/
  208.  
  209.  
  210. /*******************************
  211.  * AVC ADPCM WAVEFORM datatypes
  212.  *******************************/
  213. #define  DATATYPE_ADPCM_AVC      0x0103L     /* ADPCM audio*/
  214.  
  215. /* Subtypes for DATATYPE_ADPCM_AVC:*/
  216. #define    ADPCM_AVC_VOICE         0x0001L
  217. #define    ADPCM_AVC_MUSIC         0x0002L
  218. #define    ADPCM_AVC_STEREO        0x0003L
  219. #define    ADPCM_AVC_HQ            0x0004L
  220.  
  221. /******************
  222.  * CT_ADPCM datatypes
  223.  ******************/
  224. #define DATATYPE_CT_ADPCM          0x0200L     /* Creative technologies */
  225.  
  226. /* Subtypes for DATATYPE_CT_ADPCM:*/
  227. #define    CT_ADPCM_16B8KS          0x0001L   /* 16bit 8kHz stereo*/
  228. #define    CT_ADPCM_16B11KS         0x0002L   /* 16bit 11kHz stereo*/
  229. #define    CT_ADPCM_16B22KS         0x0003L   /* 16bit 22kHz stereo*/
  230. #define    CT_ADPCM_16B44KS         0x0004L   /* 16bit 44kHz stereo*/
  231. #define    CT_ADPCM_16B8KM          0x0005L   /* 16bit 8kHz mono*/
  232. #define    CT_ADPCM_16B11KM         0x0006L   /* 16bit 11kHz mono*/
  233. #define    CT_ADPCM_16B22KM         0x0007L   /* 16bit 22kHz mono*/
  234. #define    CT_ADPCM_16B44KM         0x0008L   /* 16bit 44kHz mono*/
  235.  
  236. /****************
  237.  * MIDI datatype
  238.  ****************/
  239. #define  DATATYPE_MIDI           0x0201L     /* MIDI*/
  240. /*         SUBTYPE_NONE            0x0000L      No subtype for this data type*/
  241.  
  242.  
  243. /********************
  244.  * GENERIC datatypes
  245.  ********************/
  246. #define  DATATYPE_GENERIC        0x0202L     /* Generic for files / memory. This*/
  247.                                              /* datatype will match any other*/
  248.                                              /* datatype at stream creation time.*/
  249.  
  250. /**************************
  251.  * Speech Viewer datatypes
  252.  **************************/
  253. #define  DATATYPE_SPV2           0x0203L     /* Speech Viewer*/
  254.  
  255. /* Subtypes for DATATYPE_SPV2:*/
  256. #define    SPV2_BPCM               0x0001L
  257. #define    SPV2_PCM                0x0002L
  258. #define    SPV2_NONE               0x0003L
  259.  
  260.  
  261. /******************
  262.  * CD-XA datatypes
  263.  ******************/
  264. #define  DATATYPE_CDXA_VIDEO     0x0204L     /* CD-XA Video datatype*/
  265. #define  DATATYPE_CDXA_DATA      0x0205L     /* CD-XA sub-band data datatype*/
  266. #define  DATATYPE_CDXA_AUDIO     0x0206L     /* CD-XA ADPCM Audio datatype*/
  267. #define  DATATYPE_CDXA_AUDIO_HD  0x0207L     /* CD-XA ADPCM Audio with Headers*/
  268. #define  DATATYPE_CDXA_HEADERS   0x0208L     /* CD-XA Headers and Subheaders*/
  269.  
  270.  
  271. /* Subtypes for DATATYPE_CDXA_AUDIO:*/
  272. #define    CDXA_LEVELB             0x0000L /* LEVEL B Audio Stereo*/
  273. #define    CDXA_LEVELC             0x0001L /* LEVEL C Audio Stereo*/
  274. #define    CDXA_LEVELB_MONO        0x0002L /* LEVEL B Audio Mono*/
  275. #define    CDXA_LEVELC_MONO        0x0003L /* LEVEL C Audio Mono*/
  276.  
  277.  
  278. /*********************
  279.  * DIGISPEECH datatype
  280.  *********************/
  281. #define  DATATYPE_DIGISPEECH     0x0208L     /* DIGISPEECH */
  282. #define    DIGISPEECH_NATIVE       0x0001L   /* Native digispeech */
  283.  
  284.  
  285. /*********************
  286.  * MPEG-1 Audio datatypes
  287.  *********************/
  288. #define  DATATYPE_MPEG1AUDIO       0x0050L     /* MPEG-1 Audio */
  289.  
  290. /* Subtypes for DATATYPE_MPEG1AUDIO:*/
  291. #define    MPEG1_FORMAT_3M16        0x0001L   /* 32.000kHz,  Mono  , 16-bit*/
  292. #define    MPEG1_FORMAT_3S16        0x0002L   /* 32.000kHz,  Stereo, 16-bit*/
  293. #define    MPEG1_FORMAT_4M16        0x0003L   /* 44.1/48kHz, Mono  , 16-bit*/
  294. #define    MPEG1_FORMAT_4S16        0x0004L   /* 44.1/48kHz, Stereo, 16-bit*/
  295.  
  296. /*******************
  297.  * UNKNOWN datatype
  298.  *******************/
  299. #define  DATATYPE_UNKNOWN        0xFFFFFFFFL   /* Unknown datatype */
  300. /*         SUBTYPE_NONE            0x0000L      No subtype for this data type*/
  301.  
  302.  
  303. /* XLATOFF */
  304. #endif
  305. /* XLATON */
  306.