home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
videotlk.zip
/
H
/
VCAI.H
< prev
next >
Wrap
Text File
|
1998-11-05
|
13KB
|
297 lines
#ifdef INCL_32
#pragma pack(1)
#pragma linkage(VcaiDllVersionQuery, far16 cdecl)
#pragma linkage(VcaiLastError, far16 cdecl)
#pragma linkage(VcaiQuery, far16 cdecl)
#pragma linkage(VcaiDeviceOpen, far16 cdecl)
#pragma linkage(VcaiDeviceClose, far16 cdecl)
#pragma linkage(VcaiDeviceConnect, far16 cdecl)
#pragma linkage(VcaiDeviceStateSave, far16 cdecl)
#pragma linkage(VcaiDeviceStateRestore, far16 cdecl)
#pragma linkage(VcaiScreenInfoSet, far16 cdecl)
#pragma linkage(VcaiVideoInputSet, far16 cdecl)
#pragma linkage(VcaiVideoDefaultSet, far16 cdecl)
#pragma linkage(VcaiVideoInputQuery, far16 cdecl)
#pragma linkage(VcaiCaptureRectSet, far16 cdecl)
#pragma linkage(VcaiImageScaleGet, far16 cdecl)
#pragma linkage(VcaiDeviceInfoGet, far16 cdecl)
#pragma linkage(VcaiVideoRectValidate, far16 cdecl)
#pragma linkage(VcaiVideoSet, far16 cdecl)
#pragma linkage(VcaiVideoGet, far16 cdecl)
#pragma linkage(VcaiAudioSet, far16 cdecl)
#pragma linkage(VcaiAudioGet, far16 cdecl)
#pragma linkage(VcaiFrameRateSet, far16 cdecl)
#pragma linkage(VcaiOverlay, far16 cdecl)
#pragma linkage(VcaiColourkey, far16 cdecl)
#pragma linkage(VcaiColourkeySet, far16 cdecl)
#pragma linkage(VcaiColourkeyGet, far16 cdecl)
#pragma linkage(VcaiChromakey, far16 cdecl)
#pragma linkage(VcaiFreeze, far16 cdecl)
#pragma linkage(VcaiAdvSet, far16 cdecl)
#pragma linkage(VcaiAdvGet, far16 cdecl)
#pragma linkage(VcaiSmartlockSet, far16 cdecl)
#pragma linkage(VcaiSmartlockGet, far16 cdecl)
#pragma linkage(VcaiConfigSet, far16 cdecl)
#pragma linkage(VcaiConfigGet, far16 cdecl)
#pragma linkage(VcaiInfoGet, far16 cdecl)
#pragma linkage(VcaiCkSet, far16 cdecl)
#pragma linkage(VcaiCkGet, far16 cdecl)
#pragma linkage(VcaiReset, far16 cdecl)
#pragma linkage(VcaiRedraw, far16 cdecl)
#pragma linkage(VcaiI2cWrite, far16 cdecl)
#pragma linkage(VcaiI2cWriteRead, far16 cdecl)
#pragma linkage(VcaiI2cRead, far16 cdecl)
#pragma linkage(VcaiVarRead, far16 cdecl)
#pragma linkage(VcaiVarWrite, far16 cdecl)
#pragma linkage(VcaiVarEnum, far16 cdecl)
#pragma linkage(VcaiVxpSet, far16 cdecl)
#pragma linkage(VcaiVxpGet, far16 cdecl)
#pragma linkage(VcaiBt848Set, far16 cdecl)
#pragma linkage(VcaiBt848Get, far16 cdecl)
#pragma linkage(VcaiBt812Set, far16 cdecl)
#pragma linkage(VcaiBt812Get, far16 cdecl)
#pragma linkage(VcaiBt848SetGpio, far16 cdecl)
#pragma linkage(VcaiBt848GetGpio, far16 cdecl)
#pragma linkage(VcaiTeletextStatus, far16 cdecl)
#pragma linkage(VcaiTeletextAcquire, far16 cdecl)
#pragma linkage(VcaiTeletextQuery, far16 cdecl)
#pragma linkage(VcaiTeletextGet, far16 cdecl)
#pragma linkage(VcaiTunerSignal, far16 cdecl)
#pragma linkage(VcaiTunerSet, far16 cdecl)
#pragma linkage(VcaiTunerGet, far16 cdecl)
#pragma linkage(VcaiTunerFreqSet, far16 cdecl)
#pragma linkage(VcaiTunerFreqGet, far16 cdecl)
#pragma linkage(VcaiTunerRegionGet, far16 cdecl)
#pragma linkage(VcaiTunerFineGet, far16 cdecl)
#pragma linkage(VcaiPaletteGet, far16 cdecl)
#pragma linkage(VcaiSnapStart, far16 cdecl)
#pragma linkage(VcaiSnapGet, far16 cdecl)
#pragma linkage(VcaiSnapStop, far16 cdecl)
#pragma linkage(VcaiPlayStart, far16 cdecl)
#pragma linkage(VcaiPlaySet, far16 cdecl)
#pragma linkage(VcaiPlayStop, far16 cdecl)
#pragma linkage(VcaiWCastMonitor, far16 cdecl)
#pragma linkage(VcaiDMAStart, far16 cdecl)
/*
#pragma linkage(VcaiWCastPos, far16 cdecl)
#pragma linkage(VcaiRegisterHwnd, far16 cdecl)
#pragma linkage(VcaiHwndSet, far16 cdecl)
#pragma linkage(VcaiHwndGet, far16 cdecl)
*/
#endif
#define DRIVERHANDLE short int
USHORT VcaiDllVersionQuery (VOID);
USHORT VcaiLastError (VOID);
VOID VcaiQuery (VOID);
DRIVERHANDLE VcaiDeviceOpen (CHAR *name, USHORT device);
USHORT VcaiDeviceClose (DRIVERHANDLE vcahand);
VOID VcaiDeviceConnect (DRIVERHANDLE vcahandle);
VOID VcaiDeviceStateSave (VOID);
VOID VcaiDeviceStateRestore (VOID);
VOID VcaiScreenInfoSet (PVCASCREENINFO vs);
ULONG VcaiVideoInputSet (LONG connector);
ULONG VcaiVideoDefaultSet (VOID);
ULONG VcaiVideoInputQuery (VOID);
VOID VcaiCaptureRectSet (USHORT sx, USHORT sy,
USHORT swid, USHORT sht,
USHORT dx, USHORT dy,
USHORT dwid, USHORT dht);
VOID VcaiImageScaleGet (USHORT len, ULONG address,
USHORT sx, USHORT sy,
USHORT swid, USHORT sht,
USHORT dx, USHORT dy,
USHORT dwid, USHORT dht);
VOID VcaiDeviceInfoGet (PVCADEVINFO info);
VOID VcaiVideoRectValidate (USHORT sx, USHORT sy,
USHORT swid, USHORT sht,
USHORT dx, USHORT dy,
USHORT dwid, USHORT dht);
VOID VcaiVideoGet (USHORT *b, USHORT *c, USHORT *s, USHORT *h);
VOID VcaiVideoSet (USHORT b, USHORT c, USHORT s, USHORT h);
VOID VcaiAudioGet (USHORT *lv, USHORT *rv, USHORT *lb, USHORT *rb,
USHORT *lt, USHORT *rt, USHORT *mute);
VOID VcaiAudioSet (USHORT lv, USHORT rv, USHORT lb, USHORT rb,
USHORT lt, USHORT rt, USHORT mute);
VOID VcaiFrameRateSet (ULONG fps, USHORT flag);
VOID VcaiOverlay (BOOL OnOffFlag);
VOID VcaiColourkey (BOOL OnOffFlag);
VOID VcaiColourkeySet (ULONG ckey);
ULONG VcaiColourkeyGet (VOID);
VOID VcaiChromakey (BOOL OnOffFlag);
VOID VcaiFreeze (BOOL OnOffFlag);
VOID VcaiAdvSet (PAF paf);
VOID VcaiAdvGet (PAF paf);
VOID VcaiSmartlockSet (USHORT settings[]);
VOID VcaiSmartlockGet (USHORT settings[]);
VOID VcaiConfigSet (USHORT settings[]);
VOID VcaiConfigGet (USHORT settings[]);
VOID VcaiInfoGet (USHORT settings[]);
VOID VcaiCkSet (USHORT settings[]);
VOID VcaiCkGet (USHORT settings[]);
VOID VcaiReset (VOID);
VOID VcaiRedraw (VOID);
USHORT VcaiI2cWrite (UCHAR id, USHORT length, UCHAR FAR *db);
USHORT VcaiI2cRead (UCHAR id, USHORT length, UCHAR FAR *db);
USHORT VcaiI2cWriteRead (UCHAR id, USHORT length_out, UCHAR FAR *db_out,
USHORT length_in, UCHAR FAR *db_in);
USHORT VcaiVarRead (UCHAR FAR *name, USHORT table, ULONG FAR *value);
USHORT VcaiVarWrite (UCHAR FAR *name, USHORT table, ULONG value);
USHORT VcaiVarEnum (UCHAR FAR *name, USHORT table, USHORT off, ULONG FAR *value);
VOID VcaiVxpSet (USHORT reg, USHORT value);
USHORT VcaiVxpGet (USHORT reg);
VOID VcaiBt848Set (USHORT reg, USHORT value);
USHORT VcaiBt848Get (USHORT reg);
VOID VcaiBt812Set (USHORT reg, USHORT value);
USHORT VcaiBt812Get (USHORT reg);
VOID VcaiBt848SetGpio (USHORT value);
USHORT VcaiBt848GetGpio (void);
USHORT VcaiTeletextStatus (PTTSTATUS ptt_status);
VOID VcaiTeletextAcquire (USHORT page_no, USHORT acq);
USHORT VcaiTeletextQuery (USHORT page_no);
USHORT VcaiTeletextGet (USHORT page_no, USHORT offset, USHORT length,
UCHAR FAR *buff);
USHORT VcaiTunerSignal (VOID);
USHORT VcaiTunerSet (ULONG region, ULONG channel, ULONG freq, LONG finetune,
BOOL afc, BOOL polarization);
VOID VcaiTunerGet (ULONG FAR *region, ULONG FAR *channel,
ULONG FAR *freq, LONG FAR *fine);
USHORT VcaiTunerFreqSet (ULONG freq, LONG finetune);
ULONG VcaiTunerFreqGet (VOID);
ULONG VcaiTunerRegionGet (VOID);
LONG VcaiTunerFineGet (VOID);
VOID VcaiPaletteGet (ULONG len, ULONG *address, USHORT type);
VOID VcaiSnapStart (USHORT width, USHORT height);
VOID VcaiSnapGet (ULONG address);
VOID VcaiSnapStop (VOID);
VOID VcaiFastSnapStart (USHORT width, USHORT height, ULONG address);
VOID VcaiFastSnapGet (VOID);
VOID VcaiFastSnapStop (VOID);
VOID VcaiPlayStart (USHORT width, USHORT height);
VOID VcaiPlaySet (ULONG address);
VOID VcaiPlayStop (VOID);
/* Driver specific functions for the WinCast board */
VOID VcaiWCastMonitor (ULONG width, ULONG height, ULONG address);
// VOID VcaiWCastPos (CRECT *prect);
VOID VcaiDMAStart (VOID);
// E S C
#define VCAI_USER_CODE (0x45534300L)
#define VCAI_GET_ADVANCED (0x01 | VCAI_USER_CODE)
#define VCAI_SET_ADVANCED (0x02 | VCAI_USER_CODE)
#define VCAI_GET_SL (0x03 | VCAI_USER_CODE)
#define VCAI_SET_SL (0x04 | VCAI_USER_CODE)
#define VCAI_GET_CONF (0x05 | VCAI_USER_CODE)
#define VCAI_SET_CONF (0x06 | VCAI_USER_CODE)
#define VCAI_GET_INFO (0x07 | VCAI_USER_CODE)
#define VCAI_I2CIO (0x08 | VCAI_USER_CODE)
#define VCAI_RESET (0x09 | VCAI_USER_CODE)
#define VCAI_HARDWARE (0x0A | VCAI_USER_CODE)
#define VCAI_SET_CK (0x0B | VCAI_USER_CODE)
#define VCAI_GET_CK (0x0C | VCAI_USER_CODE)
#define VCAI_SET_TUNER (0x0D | VCAI_USER_CODE)
#define VCAI_GET_TUNER (0x0E | VCAI_USER_CODE)
#define VCAI_VARIABLE (0x0F | VCAI_USER_CODE)
#define VCAI_GET_PALETTE (0x10 | VCAI_USER_CODE)
#define VCAI_REDRAW (0x11 | VCAI_USER_CODE)
#define VCAI_SNAP_START (0x12 | VCAI_USER_CODE)
#define VCAI_SNAP_GET (0x13 | VCAI_USER_CODE)
#define VCAI_SNAP_STOP (0x14 | VCAI_USER_CODE)
#define VCAI_PLAY_START (0x15 | VCAI_USER_CODE)
#define VCAI_PLAY_SET (0x16 | VCAI_USER_CODE)
#define VCAI_PLAY_STOP (0x17 | VCAI_USER_CODE)
/* Added in support of the Hauppauge WinCast board. */
#define VCAI_WCAST_MONITOR (0x18 | VCAI_USER_CODE)
// #define VCAI_WCAST_POS (0x19 | VCAI_USER_CODE)
// #define VCAI_SET_HWND (0x1A | VCAI_USER_CODE)
// #define VCAI_GET_HWND (0x1B | VCAI_USER_CODE)
#define VCAI_DMA_START (0x1C | VCAI_USER_CODE)
#define VCAI_GRADD_MODEINFO (0x20 | VCAI_USER_CODE)
#define VCAI_GRADD_MOVEPTR (0x21 | VCAI_USER_CODE)
#define VCAI_GRADD_SETPTR (0x22 | VCAI_USER_CODE)
#define VCAI_GRADD_SHOWPTR (0x23 | VCAI_USER_CODE)
// This is a USER EScape IOCTL and is provided
// because the MCI layer does not set or
// get Region or channel information from the
// driver. But the driver needs the information !
typedef struct VCATUNER
{
ULONG tune_region;
ULONG tune_channel;
ULONG tune_freq;
LONG tune_fine;
BOOL tune_afc;
BOOL tune_polarization;
} VCATUNER, FAR * PVCATUNER;
// This is a USER EScape IOCTL and is provided
// to allow configuration utilities access to
// internal variables within the device driver.
typedef struct VCAVARIABLE
{
USHORT var_func; // ENUM, GET, SET
USHORT var_type; // VCA Generic, or HW specific variable table
UCHAR var_name[40]; // Null terminated variable name
ULONG var_value; // Value to set or value to return
USHORT var_offset; // Offset of variable in its table
} VCAVARIABLE, FAR * PVCAVARIABLE;
#define VCA_VARIABLE_GET (0) // Get the value for a variable
#define VCA_VARIABLE_SET (1) // Set a variables value
#define VCA_VARIABLE_ENUM (2) // Get the name of a variable
#define VCA_VARIABLE_GENERIC (0) // Use the generic variable table
#define VCA_VARIABLE_HW (1) // Use the hardware specific table
typedef struct VCAPALETTE
{
ULONG pal_len;
ULONG FAR *pal_address;
USHORT pal_type;
} VCAPALETTE, FAR * PVCAPALETTE;
#define VCA_HW_PALETTE (0)
#define VCA_MCI_PALETTE (1)
#define VCA_CFG_WIDTH (0)
#define VCA_CFG_HEIGHT (1)
#define VCA_CFG_HSCALE (2)
#define VCA_CFG_VSCALE (3)
#define VCA_CFG_XOFFSET (4)
#define VCA_CFG_YOFFSET (5)
#define VCA_CFG_INPUT (6)
#define VCA_CFG_INTERLACE (7)
#define VCA_CFG_HSYNC (8)
#define VCA_CFG_VSYNC (9)
#define VCA_CFG_SLAUTO (10)
#define VCA_CFG_DIVIDER (11)
#define VCA_CFG_VCOGAIN (12)
#define VCA_CFG_PHDETGAIN (13)
#define VCA_CFG_VGA_CLOCK (11)
#define VCA_CFG_VGA_COLOUR (12)
#define VCAI_DLL_VERSION (0x502)
#define VCAI_DLL_MIN_VERSION (PMTV_DLL_VERSION)