Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.7 KiB

  1. /* CAPDLL.h
  2. *
  3. * Capture DLL.
  4. *
  5. * (C) Copyright Microsoft Corporation 1991. All rights reserved.
  6. */
  7. /* flat addressing - Get a selector to the memory */
  8. LPSTR FAR PASCAL CreatePhysicalSelector( DWORD dwBase, WORD wLimit );
  9. /* Interrupt enable/disable */
  10. WORD FAR PASCAL IRQEnable( void );
  11. WORD FAR PASCAL IRQDisable( void );
  12. /* check to see if card is there */
  13. WORD FAR PASCAL videoInDetect( WORD wBase );
  14. /* Targa card init/fini */
  15. WORD FAR PASCAL TargaInit( WORD wBase, BYTE bIRQ, BYTE bAddress );
  16. void FAR PASCAL TargaFini( void );
  17. /* Assumes TargaInit has been called */
  18. /* Return the value in the advanced reg */
  19. WORD FAR PASCAL TargaAdvancedVal( void );
  20. /* Set the border colour on the targa card */
  21. void FAR PASCAL TargaBorder( WORD wColour );
  22. /* Set the targa memory to the given colour */
  23. void FAR PASCAL TargaFill( WORD wColour );
  24. /* Set the Zoom bits of the MODE2 regester */
  25. void FAR PASCAL TargaZoom( WORD wZoom );
  26. #define ZOOM_1 0
  27. #define ZOOM_2 1
  28. #define ZOOM_4 2
  29. #define ZOOM_8 3
  30. /* Set the Display Mode bits of the MODE2 regester */
  31. void FAR PASCAL TargaDispMode( WORD wDisp );
  32. #define DISP_MEM_BORDER 0
  33. #define DISP_LIVE_BORDER 1
  34. #define DISP_MEM 2
  35. #define DISP_LIVE 3
  36. /* Set/Clear the Genlock bit of the MODE2 regester */
  37. void FAR PASCAL TargaGenlockBit( BOOL fSet );
  38. /* Set/Clear the Capture bit of the MODE2 regester */
  39. void FAR PASCAL TargaCaptureBit( BOOL fSet );
  40. /* Capture a frame from the targa card */
  41. BOOL FAR PASCAL CaptureFrame( LPBITMAPINFO lpbi, LPBYTE lpBits );
  42. /* Calculate the new translation table from the palette */
  43. BOOL FAR PASCAL TransRecalcPal( HPALETTE hPal );
  44. BOOL FAR PASCAL TransSet( LPBYTE );
  45. /* Where is the input coming from? */
  46. void FAR PASCAL CapRGB( void );
  47. void FAR PASCAL CapSVideo( void );
  48. void FAR PASCAL CapComp( void );
  49. DWORD FAR PASCAL videoInError( void );
  50. /* Memory list structure */
  51. typedef struct _DIBNode {
  52. DWORD dwBufferLength; // length of data buffer
  53. DWORD dwFlags; // assorted flags (see defines)
  54. DWORD reserved; // reserved for driver
  55. struct _DIBNode FAR * fpdnNext;
  56. struct _DIBNode FAR * fpdnPrev;
  57. DWORD ckid;
  58. DWORD cksize;
  59. BYTE abBits[0];
  60. } DIBNode;
  61. typedef DIBNode FAR * FPDIBNode;
  62. #define VIDEOIN_PREPARED 1
  63. #define VIDEOIN_DONE 2
  64. /* Video routines for AVI capture */
  65. WORD FAR PASCAL videoInOpen( DWORD dwTime );
  66. WORD FAR PASCAL videoInClose( void );
  67. WORD FAR PASCAL videoInAddBuffer( FPDIBNode fpdn );
  68. WORD FAR PASCAL videoInUnprepareBuffer( FPDIBNode fpdn );
  69. WORD FAR PASCAL videoInPrepareBuffer( FPDIBNode fpdn );
  70. WORD FAR PASCAL videoInReset( void );
  71. WORD FAR PASCAL videoInStart( void );
  72. WORD FAR PASCAL videoInStop( void );
  73. DWORD FAR PASCAL videoInGetPos( void );