home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / misc / vfwdk / samples / bravado / pcvideo.h < prev    next >
Text File  |  1993-01-19  |  10KB  |  236 lines

  1.  
  2. /*╔══════════════════════════════════════════════════════════════════════════╗
  3.   ║  PCVIDEO.H                                                               ║
  4.   ║     C prototypes for the Creative Labs Video Blaster PCVIDEO.DLL.        ║
  5.   ║                                                                          ║
  6.   ║     Copyright (c) Creative Technology Ltd, 1992. All rights reserved.    ║
  7.   ╚══════════════════════════════════════════════════════════════════════════╝*/
  8.  
  9. WORD FAR PASCAL vbcSetMasterVol (WORD);
  10. WORD FAR PASCAL vbcSetMicVol    (WORD);
  11. WORD FAR PASCAL vbcSetLineInVol (WORD);
  12. WORD FAR PASCAL vbcSetFMVol     (WORD);
  13. WORD FAR PASCAL vbcSetLine2Vol  (WORD);
  14. WORD FAR PASCAL vbcGetMasterVol (void);
  15. WORD FAR PASCAL vbcGetMicVol    (void);
  16. WORD FAR PASCAL vbcGetLineInVol (void);
  17. WORD FAR PASCAL vbcGetFMVol     (void);
  18. WORD FAR PASCAL vbcGetLine2Vol  (void);
  19.  
  20. WORD  FAR PASCAL vbcGetDLLInitError (void);
  21.  
  22. int  FAR PASCAL vbcClearVideoRect(WORD, WORD, WORD, WORD);
  23. void FAR PASCAL vbcCreateWindow(WORD, WORD, WORD, WORD, BOOL);
  24. void FAR PASCAL vbcDisableFieldReplication(void);
  25. void FAR PASCAL vbcDisableInterlace(void);
  26. void FAR PASCAL vbcDisableVideo(void);
  27. void FAR PASCAL vbcEnableFieldReplication(void);
  28. void FAR PASCAL vbcEnableInterlace(void);
  29. void FAR PASCAL vbcEnableVideo(void);
  30. void FAR PASCAL vbcExit(void);
  31. void FAR PASCAL vbcFreezeVideo(void);
  32. BYTE FAR PASCAL vbcGetColor(WORD);
  33. WORD FAR PASCAL vbcGetInputFormat(void);
  34. int  FAR PASCAL vbcGetPortAddress(void);
  35. BYTE FAR PASCAL vbcGetRegister(WORD);
  36. WORD FAR PASCAL vbcGetSkewFactor(int);
  37. WORD FAR PASCAL vbcGetSystemMetrics(WORD);
  38. int  FAR PASCAL vbcGetVideoAddress(void);
  39. WORD FAR PASCAL vbcGetVideoSource(void);
  40. void FAR PASCAL vbcHorizontalZoom(int);
  41. WORD FAR PASCAL vbcInitialize(void);
  42. int  FAR PASCAL vbcLoadConfiguration(void);
  43. int  FAR PASCAL vbcLoadImageRect(LPSTR, WORD, WORD);
  44. void FAR PASCAL vbcPanWindow(WORD, WORD);
  45. void FAR PASCAL vbcResetColors(void);
  46. void FAR PASCAL vbcResetSkewFactors(void);
  47. int  FAR PASCAL vbcSaveConfiguration(void);
  48. int  FAR PASCAL vbcSaveImageRect(LPSTR, WORD, WORD, WORD, WORD, WORD, WORD);
  49. void FAR PASCAL vbcSetColor(WORD, BYTE);
  50. void FAR PASCAL vbcSetColorKey(WORD);
  51. int  FAR PASCAL vbcSetPortAddress(int);
  52. void FAR PASCAL vbcSetRegister(WORD, BYTE);
  53. void FAR PASCAL vbcSetSkewFactor(int, WORD);
  54. int  FAR PASCAL vbcSetVideoAddress(int);
  55. void FAR PASCAL vbcSetVideoSource(WORD);
  56. void FAR PASCAL vbcSetWindowPosition(WORD, WORD);
  57. void FAR PASCAL vbcSetWindowSize(WORD, WORD, BOOL);
  58. void FAR PASCAL vbcSetWriteProtectMask(WORD);
  59. void FAR PASCAL vbcUnFreezeVideo(void);
  60. void FAR PASCAL vbcVerticalZoom(int);
  61.  
  62. void FAR PASCAL vbcSetInputFormat(int);
  63. int  FAR PASCAL vbcEnableInterrupt(WORD);
  64. int  FAR PASCAL vbcGetIntrNo(void);
  65. int  FAR PASCAL vbcRemoveVSyncIntr(void);
  66. int  FAR PASCAL vbcSetVSyncIntr(FARPROC, WORD);
  67.  
  68. int  FAR PASCAL vbcSetVideoScaling(WORD, WORD, BOOL);
  69. void FAR PASCAL vbcWaitVGARetrace(void);
  70. void FAR PASCAL vbcEnableColorKey(void);
  71. void FAR PASCAL vbcDisableColorKey(void);
  72. int  FAR PASCAL vbcSetCaptureAddress(WORD, WORD);
  73. int  FAR PASCAL vbcSetDisplayWindow(WORD, WORD, WORD, WORD);
  74. int  FAR PASCAL vbcSetAcquisitionWindow(WORD, WORD, WORD, WORD);
  75. int  FAR PASCAL vbcSmoothVideoImage(WORD, DWORD);
  76.  
  77. void FAR PASCAL vbcSetVideoInputStart(WORD);
  78. void FAR PASCAL vbcSetCropWinPosition(WORD, WORD);
  79. void FAR PASCAL vbcSetCropWinSize(WORD, WORD);
  80. WORD FAR PASCAL vbcGetCropFactor(int);
  81. void FAR PASCAL vbcResetCropFactors(void);
  82.  
  83. void FAR PASCAL vbcSetC800Mode(BOOL);
  84. int  FAR PASCAL vbcGetC800Mode();
  85.  
  86. /* Chips & Technology PCVIDEO.DLL definitions */
  87. int  FAR PASCAL PCV_CreateWindow(WORD, WORD, WORD, WORD, BOOL);
  88. int  FAR PASCAL PCV_SetWindowPosition(WORD, WORD);
  89. int  FAR PASCAL PCV_SetWindowSize(WORD, WORD, BOOL);
  90. int  FAR PASCAL PCV_SetVideoScaling(WORD,WORD,BOOL);
  91. int  FAR PASCAL PCV_SetCaptureAddress(WORD,WORD);
  92. int  FAR PASCAL PCV_SetDisplayWindow(WORD,WORD,WORD,WORD);
  93. int  FAR PASCAL PCV_SetAcquisitionWindow(WORD,WORD,WORD,WORD);
  94. int  FAR PASCAL PCV_PanWindow(WORD, WORD);
  95. int  FAR PASCAL PCV_SetColorKey(WORD);
  96. int  FAR PASCAL PCV_FreezeVideo(void);
  97. int  FAR PASCAL PCV_UnFreezeVideo(void);
  98. int  FAR PASCAL PCV_SetWriteProtectMask(WORD);
  99. int  FAR PASCAL PCV_EnableVideo(void);
  100. int  FAR PASCAL PCV_DisableVideo(void);
  101. int  FAR PASCAL PCV_SaveImageRect(LPSTR, WORD, WORD, WORD, WORD, WORD, WORD);
  102. int  FAR PASCAL PCV_LoadImageRect(LPSTR, WORD, WORD);
  103. int  FAR PASCAL PCV_SaveClipboardFormat(HWND, WORD, WORD, WORD, WORD, WORD, WORD);
  104. int  FAR PASCAL PCV_LoadClipboardFormat(HWND, WORD, WORD);
  105. int  FAR PASCAL PCV_ReadImageRect(PSTR, WORD, WORD, WORD, WORD, WORD, char far *);
  106. int  FAR PASCAL PCV_WriteImageRect(PSTR, PSTR, WORD, WORD, WORD, WORD, WORD);
  107. int  FAR PASCAL PCV_GetInputFormat(void);
  108. int  FAR PASCAL PCV_SetInputFormat(WORD);
  109. void FAR PASCAL PCV_SetColor(WORD, BYTE);
  110. BYTE FAR PASCAL PCV_GetColor(WORD);
  111. void FAR PASCAL PCV_ResetColors(void);
  112. int  FAR PASCAL PCV_ClearVideoRect(WORD, WORD, WORD, WORD);
  113. int  FAR PASCAL PCV_LoadConfiguration(void);
  114. int  FAR PASCAL PCV_SaveConfiguration(void);
  115. int  FAR PASCAL PCV_GetPortAddress(void);
  116. int  FAR PASCAL PCV_SetPortAddress(int);
  117. int  FAR PASCAL PCV_GetVideoAddress(void);
  118. int  FAR PASCAL PCV_SetVideoAddress(int);
  119. int  FAR PASCAL PCV_GetVideoSource(void);
  120. int  FAR PASCAL PCV_SetVideoSource(int);
  121. WORD FAR PASCAL PCV_GetSkewFactor(int);
  122. int  FAR PASCAL PCV_SetSkewFactor(int, WORD);
  123. void FAR PASCAL PCV_ResetSkewFactors(void);
  124. WORD FAR PASCAL PCV_GetSystemMetrics(WORD);
  125. void FAR PASCAL PCV_EnableInterlace(void);
  126. void FAR PASCAL PCV_DisableInterlace(void);
  127. void FAR PASCAL PCV_HorizontalZoom(int);
  128. void FAR PASCAL PCV_VerticalZoom(int);
  129. void FAR PASCAL PCV_EnableFieldReplication(void);
  130. void FAR PASCAL PCV_DisableFieldReplication(void);
  131. void FAR PASCAL PCV_SetRegister(WORD, BYTE);
  132. BYTE FAR PASCAL PCV_GetRegister(WORD);
  133. void FAR PASCAL PCV_TurnBorder(WORD);
  134. int  FAR PASCAL PCV_Initialize(void);
  135. int  FAR PASCAL PCV_Exit(void);
  136. void FAR PASCAL PCV_WaitVGARetrace(void);
  137. void FAR PASCAL PCV_EnableColorKey(void);
  138. void FAR PASCAL PCV_DisableColorKey(void);
  139. WORD FAR PASCAL PCV_GetProfileInt(LPSTR, LPSTR);
  140. int  FAR PASCAL PCV_GetProfileString(LPSTR,LPSTR,LPSTR,int);
  141.  
  142. /* Color adjustments */
  143. #define BRIGHTNESS    0
  144. #define    SATURATION    1
  145. #define    CONTRAST    2
  146. #define    HUE        3
  147. #define    RED        4
  148. #define    GREEN        5
  149. #define    BLUE        6
  150.  
  151. /* System metrics */
  152. #define    SM_VIDEOWIDTH    0
  153. #define    SM_VIDEOHEIGHT    1
  154. #define    SM_BOARDTYPE    2
  155. #define    SM_VERSION    3
  156. #define    SM_INTERLACE    4
  157. #define    SM_REPLICATE    5
  158. #define    SM_IMAGEWIDTH    6
  159. #define    SM_IMAGEHEIGHT    7
  160. #define    SM_IMAGETYPE    8
  161.  
  162. #define INTERLACE_CNTL    0x50
  163. #define    INTERLACE_ON    1
  164. #define    REPLICATE_ON    8
  165.  
  166. /* Crop metrics */
  167. #define CM_VIDEOSTART   0
  168. #define CM_CROPSTARTX   1
  169. #define CM_CROPSTARTY   2
  170. #define CM_CROPWIDTH    3
  171. #define CM_CROPHEIGHT   4
  172.  
  173. /* Video board types */
  174. #define    BT_YUV411    0
  175.  
  176. /* Bitmap types */
  177. #define    BM_DIB24    0        /* Windows DIB 24 bit true color */
  178. #define    BM_DIB8P    1        /* Windows DIB 8 bit palettized */
  179. #define    BM_DIB8G    2        /* Windows DIB 8 bit gray-scale */
  180. #define    BM_DIB4D    3        /* Windows DIB 4 bit dithered */
  181. #define    BM_TRG32    4        /* Targa 32 bit true color */
  182. #define    BM_TRG24    5        /* Targa 24 bit true color */
  183. #define    BM_TRG16    6        /* Targa 16 bit true color */
  184. #define    BM_YUV411    7        /* IBM MMotion format 4:1:1 YUV */
  185. #define    BM_TIFF24    8        /* TIFF 24 bit true color */
  186. #define    BM_TIFF8P    9        /* TIFF 8 bit palettized */
  187. #define    BM_TIFF8G    10        /* TIFF 8 bit gray-scale */
  188. #define    BM_PCX8P    11        /* PCX 8 bit palettized */
  189. #define    BM_PCX8G    12        /* PCX 8 bit gray-scale */
  190. #define    BM_PCX4D    13        /* PCX 4 bit dithered */
  191. #define    BM_GIF8P    14        /* GIF 8 bit palettized */
  192. #define    BM_GIF8G    15        /* GIF 8 bit gray-scale */
  193.  
  194. /* Palette types */
  195. #define    WM_DIB        1
  196. #define PM_DIB          2
  197. #define PCX8        3
  198. #define PCX4        4
  199. #define TIFF        5
  200. #define GIF        6
  201. #define CF        7
  202.  
  203. #define NO_COLOR_SETTINGS 8        /* Available color controls */
  204. #define NO_COLOR_CONTROLS 7        /* Actual number of color controls */
  205. #define NO_SKEW_FACTORS    7        /* Number of skew factors */
  206. #define NO_VIDEO_MODES    16        /* Number of video modes supported */
  207. #define NO_PHIXEL_CHIPS    4        /* Number of Phixel chips supported */
  208.  
  209. /* Configuration flags */
  210. #define CF_PAL        0        /* Input format is PAL */
  211. #define CF_NTSC        1        /* Input format is NTSC */
  212. #define    CF_HASPLL    2        /* Board has a phase-locked loop */
  213. #define    CF_REPLICATE    REPLICATE_ON    /* Replicate field feature enabled */
  214.  
  215. /* Skew adjustment IDs */
  216. #define    SF_DISPWINSKEWX        0    /* Display Window X Skew */
  217. #define    SF_DISPWINSKEWY        1    /* Display Window Y Skew */
  218. #define    SF_DISPADDRSKEWX    2    /* Display Address X Skew */
  219. #define    SF_DISPADDRSKEWY    3    /* Display Address Y Skew */
  220. #define    SF_SHIFTCLOCKSTART    4    /* Shift Clock Start */
  221. #define    SF_PALETTESKEW        5    /* Palette Skew */
  222. #define    SF_PLLDIVISOR        6    /* Phase Lock Loop Divisor */
  223.  
  224. /* Skew adjustment ranges */
  225. #define    DISPWINSKEWXRANGE    0x7FF    /* Display Window X Skew Range */
  226. #define    DISPWINSKEWYRANGE    0x7FF    /* Display Window Y Skew Range */
  227. #define    DISPADDRSKEWXRANGE    0x3FF    /* Display Address X Skew Range */
  228. #define    DISPADDRSKEWYRANGE    0x3FF    /* Display Address Y Skew Range */
  229. #define    SHIFTCLOCKSTARTRANGE    0x7F    /* Shift Clock Start Range */
  230. #define    PALETTESKEWRANGE    0x03    /* Palette Skew Range */
  231. #define    PLLDIVISORRANGE        0x3FF    /* Phase Lock Loop Divisor Range */
  232.  
  233. /* Smooth Method */
  234. #define SMOOTH_AVERAGE      1
  235. #define SMOOTH_REPLICATE    2
  236.