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