Contents
1. Installation, Configuration, and Usage - Compile Time........................ 4
1.A Introduction............................................................. 4
1.B Library Installation..................................................... 4
1.C Compiling................................................................ 5
1.C.1 Stack............................................................. 5
1.C.2 Heap.............................................................. 6
1.C.3 Example: Microsoft C/C++.......................................... 6
1.C.4 Example: Borland C/C++............................................ 7
1.C.5 Example: Watcom 32 Bit C/C++...................................... 7
1.D Compile Time Inclusions.................................................. 7
1.E Common Types and Structures.............................................. 8
1.E.1 Coordinates, Images, and Image Window Structures.................. 8
1.F Usage Assumptions........................................................ 10
1.G Error Codes.............................................................. 10
1.H Memory Allocation Hooks.................................................. 10
1.I 16 Bit Environment Notes................................................. 11
1.J Windows 3.x Environment Notes............................................ 11
1.J.1 Windows 3.x Environment - Callback Functions...................... 12
1.K Tenberry DOS4GW Environment Notes........................................ 13
1.L Windows 95 Environment Notes............................................. 13
2. Installation and Configuration - Run Time.................................... 14
2.A Driver Configuration Parameters.......................................... 14
2.B DOS Environment.......................................................... 15
2.B.1 DOS Environment - Installation Errors............................. 16
2.B.2 DOS Environment - Software Interrupt Selection.................... 16
2.B.3 DOS Environment - EMM386.......................................... 19
2.C Windows 3.X Environment.................................................. 19
2.D Tenberry DOS4GW Environment.............................................. 20
2.E Windows 95 Environment................................................... 20
3. SCF Level Interface............................................................ 22
SILICON VIDEO: Open and Set Video Format - pxd_svopen.......................... 22
Get Version ID String, Run Time - pxd_id....................................... 24
Get Version ID String, Compile Time - pxd_idstr................................ 24
SILICON VIDEO: Close - pxd_close............................................... 24
Get Total Image Memory Size - pxd_imsize....................................... 25
Set Video Mode and Buffer - pxd_video.......................................... 25
Acquire: Snap Video into Buffer - pxd_snap..................................... 27
Set Field for Video Switch - pxd_vidfield...................................... 28
Set Genlock vs. Master Modes - pxd_vidgenlock.................................. 28
Set Video Resolution - pxd_vidparm............................................. 29
Set Digitize Resolution of Split Video Formats - pxd_vidigparm................. 31
Get Horizontal Image Dimension - pxd_xdim...................................... 32
Get Vertical Image Dimension - pxd_ydim........................................ 32
Get Vertical Interlace Dimension - pxd_ylace................................... 32
Get Pixel Component Dimension - pxd_cdim....................................... 32
Get Horizontal Display Dimension - pxd_xdim_disp............................... 32
Get Vertical Display Dimension - pxd_ydim_disp................................. 32
Get Vertical Interlace Display Dimension - pxd_ylace_disp...................... 32
Get Pixel Component Display Dimension - pxd_cdim_disp.......................... 32
Get Current Image Buffer Number - pxd_imbuf.................................... 33
Get Number of Image Buffers - pxd_imbufs....................................... 33
Get Field Time - pxd_vidtime................................................... 34
Pixel Value: Read - pxd_pixread................................................ 34
Pixel Value: Write - pxd_pixwrite.............................................. 35
Imaging Board Buffer: Open Access to Buffer - pxd_iopen........................ 36
Imaging Board Buffer: Open Access to Color Buffer - pxd_iopencolor............. 36
Imaging Board Buffer: Read &Write, Char - pxd_ioc............................. 38
Imaging Board Buffer: Read &Write, Short - pxd_ios............................ 38
Imaging Board Buffer: Read &Write, Long - pxd_iol............................. 38
Imaging Board Buffer: Test End of Access - pxd_ioeof........................... 40
Output Lookup Table: Read &Write - pxd_lut.................................... 41
Soft Cursor: Draw &Remove - pxd_drcurs........................................ 42
Hardware Cursor: Draw &Remove - pxd_drcurd.................................... 43
Soft Rectangular Box: Draw &Remove - pxd_drbox................................ 45
External Input Signal: Sense - pxd_extin....................................... 45
External Output Signal: Set - pxd_extout....................................... 46
Set Video Input Multiplexer - pxd_vidmux....................................... 47
Set Subimage Pan Position - pxd_pan............................................ 47
Get PXIMAGE: Access Imaging Board Buffer - pxd_defimage........................ 48
Get PXIMAGE: Access Imaging Board Color Buffer - pxd_defimagecolor............. 48
Errors: Check &Report Insufficient Stack Space - pxd_chkstack................. 50
Errors: Check &Report Severe Fault - pxd_chkfault............................. 50
Save Image: BMP Format - pxd_bmpsave........................................... 50
Load Image: BMP Format - pxd_bmpload........................................... 50
Save Image: TIFF Format - pxd_tiffsave......................................... 52
Load Image: TIFF Format - pxd_tiffload......................................... 52
Save Image: PCX Format - pxd_pcxsave........................................... 54
Windows: Display Image Buffer On Device - pxd_StretchDIBits.................... 55
4. Initialization &Support Functions............................................. 57
SILICON VIDEO Driver: Open - svdrv_open........................................ 57
SILICON VIDEO Driver: Close - svdrv_close...................................... 59
Errors: Obtain Last Posted Fault Information - pxdrv_fault..................... 59
Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage.............. 61
Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage2............. 61
Construct PXIMAGE3: Access Imaging Board Buffers - pxvid_setpximage3........... 64
Errors: Translate Error Code to String - pxerrnomesg........................... 65
5. Video Definition &Control..................................................... 67
SVFORMAT: SILICON VIDEO, Video Format Specification - Struct svformat.......... 67
PXVIDPARM: Video Resolution Specification - Struct pxvidparm................... 69
PXVIDMODE: Video Mode Specification - Struct pxvidmode......................... 74
PXCAMCARD: Auxiliary Camera Control Card Specification - Struct pxcamcard...... 76
Video States, Define - pxvid_define............................................ 76
Video States, Define - pxvid_define4........................................... 76
Video States, Undefine - pxvid_undefine........................................ 81
Video States: Load - pxvid_load................................................ 82
Video States: Unload - pxvid_unload............................................ 83
Video State: Activate State &Mode - pxvid_gomode.............................. 83
Video State: Activate State &Buffer - pxvid_gobuf............................. 84
Video State: Activate State &Buffer - pxvid_go................................ 84
Video State: Activate State &Mode, Async. - pxvid_gomodea..................... 85
Video State: Test Completion of Activate State, Async. - pxvid_gomodew......... 86
Video State: Get State's Video Components - pxvid_xstatevect................... 87
Video State: Get State's Video Resolution - pxvid_xparm........................ 87
Video State: Get State's Video Format - pxvid_xformat.......................... 87
Video State: Get State's Video Mode - pxvid_xmode.............................. 87
Video State: Get State's Definition Options - pxvid_xdipopt.................... 87
Video State: Get State's Device Independent Format - pxvid_xpformat............ 87
Video State: Get State's Current Image Buffer - pxvid_xbuf..................... 87
Video State: Get State's Maximum Image Buffers - pxvid_xbufs................... 87
Video State: Get Current State - pxvid_xstate.................................. 89
Get Vertical Blanking Time - pxdrv_xvbtime..................................... 89
Get Video Status - pxdrv_xstatus............................................... 90
Get Video State - pxdrv_xstate................................................. 91
Video States: Import - pxvib_defimport......................................... 92
Video States: Export - pxvib_defexport......................................... 92
6. Image Memory Access............................................................ 94
Image Memory: Translate X, Y Coordinate to Address - pxvid_xyadrs.............. 94
Image Memory: Read &Write - pxdrv_imio........................................ 95
Image Memory: Test Completion of Read &Write - pxdrv_imiow.................... 96
Image Memory: Get Optimal Read &Write Length - pxdrv_imioz.................... 96
Image Memory: Obtain Direct Mapping - pxdrv_imap............................... 97
Image Memory: Release Direct Mapping - pxdrv_imapr............................. 98
PXIMAGE: Image and Pixel Specifications - Struct pximage....................... 99
PXIMAGE: Set &Get Area of Interest Window - pximage::xwind.................... 103
PXIMAGE: Get Advice, Errors, Info &Options - pximage::aeiou................... 103
PXIMAGE: Set to Access Sequential Pixels - pximage::ioset...................... 105
PXIMAGE: Read Sequential Pixels - pximage::ioread.............................. 105
PXIMAGE: Write Sequential Pixels - pximage::iorite............................. 105
PXIMAGE: Wait for Sequential Access Completion - pximage::iowait............... 105
PXIMAGE: Obtain Sequential Access Pixel Count - pximage::iolen................. 105
PXIMAGE: Set to Access Non-Sequential Pixels - pximage::bxts................... 107
PXIMAGE: Prepare for Non-Sequential Pixel Access - pximage::bxtp............... 107
PXIMAGE: Access Non-Sequential Pixels - pximage::bxta.......................... 107
PXIMAGE: Wait for Non-Sequential Access Completion - pximage::bxtw............. 107
PXIMAGE: Set to Obtain Pointer to Pixels - pximage::imapset.................... 109
PXIMAGE: Obtain Pointer to Pixels - pximage::imap.............................. 109
PXIMAGE: Release Pointer to Pixels - pximage::imapr............................ 109
Sequential Access: Establish Access to Image Buffer - pxb8_iopen............... 113
Sequential Access: Read &Write Image Buffer - pxb8_io......................... 113
Sequential Access: Test End of Image Buffer - pxb8_ioeof....................... 113
Sequential Access: Reposition within Image Buffer - pxb8_ioseek................ 113
Sequential Access: Read &Write Image Buffer, Async. - pxb8_iof................ 113
Sequential Access: Test Read &Write Complete - pxb8_iow....................... 113
Sequential Access: Get Transfer Count - pxb8_iodone............................ 113
Sequential Access: Check or Wait upon Read &Write - pxb8_ioflush.............. 113
Sequential Access: Terminate Access - pxb8_ioclose............................. 113
Sequential Access: Obtain Number of Unused Handles - pxb8_iopens............... 113
Pixel List: Access &Modify Pixels - pxdrv_pixbxt.............................. 114
Pixel List: Test Access Completion - pxdrv_pixbxtw............................. 114
Pixel List: Get Optimal Asynchronous Length - pxdrv_pixbxtz.................... 114
Pixel List: Translate Memory Addresses - pxdrv_pixlate......................... 114
Pixel List: Translate X, Y Coordinates - pxvid_pixlate......................... 114
7. Lookup Tables.................................................................. 116
Output Lookup Table: Read &Write - pxdrv_olutio............................... 116
Output Lookup Table: Test Completion of Read &Write - pxdrv_olutiow........... 117
Output Lookup Table: Get Number of Table Sets - pxdrv_olutsetn................. 117
Output Lookup Table: Select Table Set - pxdrv_olutset.......................... 118
Output Lookup Table: Test Completion of Select Table Set - pxdrv_olutsetw...... 119
Output Lookup Table: Get Current Table Selection - pxdrv_olutsetv.............. 119
8. Hardware Cursor................................................................ 120
Hardware Cursor: Draw - pxvid_curon............................................ 120
Hardware Cursor: Remove - pxvid_curoff......................................... 120
Hardware Cursor: Draw Box - pxvid_curboxon..................................... 121
Hardware Cursor: Remove Box - pxvid_curboxoff.................................. 121
Hardware Cursor: Save State - pxdrv_cursave.................................... 122
Hardware Cursor: Load State - pxdrv_curload.................................... 122
Hardware Cursor: Get State Size - pxdrv_cursavez............................... 122
Hardware Cursor: Set Appearance - svdrv_curopt................................. 123
Hardware Cursor: Set Icon - svdrv_curicon...................................... 124
9. Miscellaneous Services......................................................... 126
External Input Signal: Sense - pxdrv_extin..................................... 126
External Output Signal: Set - pxdrv_extout..................................... 126
External Output Signal: Test Completion of Set - pxdrv_extoutw................. 127
External Output Signal: Get Current Value - pxdrv_extoutv...................... 127
Interrupt Invocation: Request - pxdrv_intfun................................... 128
Interrupt Invocation: Cancel - pxdrv_intfunr................................... 129
10. Multiple Imaging Boards........................................................ 130
Imaging Boards: Get Number of Units - pxdrv_xunits............................. 130
Imaging Boards: Select Units - pxdrv_devunits.................................. 130
Imaging Boards: Select Unit - pxdrv_devunit.................................... 133
Imaging Boards: Get Selected Unit(s) - pxdrv_xdevunits......................... 134
Imaging Boards: Select V.B. Sync Board(s) - svdrv_vbunits...................... 134
Imaging Boards: Get Current V.B. Sync Selection - svdrv_xvbunits............... 135
11. Additional Features............................................................ 137
User-Defined Premature Termination Functions - pxabortfunc_t................... 137
Copy Image Buffer to Raw Image Address - pxip8_copyintoradrs................... 138
Copy Image Buffer from Raw Image Address - pxip8_copyfromradrs................. 138
Image Sequence: Save in Image Memory Format - pxio8_fmbwrite................... 139
Image Sequence: Load in Image Memory Format - pxio8_fmbread.................... 139
Image Sequence: Acquire - pxvib_gosequence..................................... 142
Acquire: Triggered Video Capture - pxvib_gotrig2............................... 143
Acquire: Triggered Video Capture - pxvib_gotrig................................ 143
12. Hints &Code Fragments......................................................... 146
12.A Saving and Restoring Image Buffers....................................... 146
12.B Porting Custom Video Parameters.......................................... 148
12.C Mouse Control............................................................ 149
13. Release Notes.................................................................. 152
14. Distribution Contents.......................................................... 159
15. Index.......................................................................... 161
Specifications and prices subject to change without notice.
EPIX® imaging products are made in the USA.
EPIX, SILICON VIDEO, and PIXCI are registered trademarks of EPIX, Inc. 4MIP, SVIP, XCIP, XCAP, 4MEG VIDEO, 1MEG VIDEO, SILICON VIDEO MUX, QUICK SET VIDEO, 12-7 MUX, IMAGE MEMORY EXPANSION, COC40, COC402, CL3SD, 4MOBJ, SVOBJ, XCOBJ, XCLIB, PXIPL, and XCLIBIPL are trademarks of EPIX, Inc. Other brand, product, and company names are trademarks or registered trademarks of their respective owners.
Copyright © 2008 EPIX, Inc. All rights reserved.