background image

NVIDIA Corporation

56

 

Quadro FX 4800/5800 and Quadro CX SDI User’s Guide

– Version 1.0

C

HAPTER

 5

API Control

NvGvo Structures, Enumerations, and Defines

Miscellaneous Defines

typedef UINT NVGVOHANDLE;        // Handle from NvGvoOpen() or NvGvoDesktopOpen()
#define INVALID_NVGVOHANDLE  0   // Invalid NVGVOHANDLE

typedef DWORD NVGVOOWNERID;      // Unique identifier for owner of Graphics to
                                 // Video output (process identifier or
                                 // NVGVOOWNERID_NONE)
#define NVGVOOWNERID_NONE    0   // Unregistered ownerId

enum NVGVOOWNERTYPE              // Owner type for device
{
    NVGVOOWNERTYPE_NONE      ,   //  No owner for device
    NVGVOOWNERTYPE_OPENGL    ,   //  OpenGL application owns device
    NVGVOOWNERTYPE_DESKTOP   ,   //  Desktop transparent mode owns device
};

// Access rights for NvGvoOpen() or NvGvoDesktopOpen()
#define NVGVO_O_READ                0x00000000      // Read access
#define NVGVO_O_WRITE_EXCLUSIVE     0x00010001      // Write exclusive access

Video Signal Format and Resolution Enumerations

enum NVGVOSIGNALFORMAT
{
    NVGVOSIGNALFORMAT_ERROR = -1               , // Invalid signal format 
    NVGVOSIGNALFORMAT_487I_5994_SMPTE259_NTSC  , // 01  487i  59.94Hz  (SMPTE259)
                                                 //                     NTSC
    NVGVOSIGNALFORMAT_576I_5000_SMPTE259_PAL   , // 02  576i  50.00Hz  (SMPTE259)
                                                  //                     PAL
    NVGVOSIGNALFORMAT_720P_5994_SMPTE296       , // 03  720p  59.94Hz  (SMPTE296)
    NVGVOSIGNALFORMAT_720P_6000_SMPTE296       , // 04  720p  60.00Hz  (SMPTE296)
    NVGVOSIGNALFORMAT_1035I_5994_SMPTE260      , // 05  1035i 59.94Hz  (SMPTE260)
    NVGVOSIGNALFORMAT_1035I_6000_SMPTE260      , // 06  1035i 60.00Hz  (SMPTE260)
    NVGVOSIGNALFORMAT_1080I_5000_SMPTE274      , // 08  1080i 50.00Hz  (SMPTE274)
    NVGVOSIGNALFORMAT_1080I_5994_SMPTE274      , // 09  1080i 59.94Hz  (SMPTE274)
    NVGVOSIGNALFORMAT_1080I_6000_SMPTE274      , // 10  1080i 60.00Hz  (SMPTE274)

Summary of Contents for Quadro CX SDI

Page 1: ...Quadro Professional Drivers Quadro FX 4800 5800 and Quadro CX SDI User s Guide Version 1 0...

Page 2: ...change without notice NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation NVIDIA the...

Page 3: ...Applying Gamma Correction 24 Setting Up the Color Space Conversion 25 About Dualview Mode 26 Enabling Multiple SDI Cards 27 Allowing Application Control of the SDI Output 28 Viewing the SDI Connectio...

Page 4: ...N V I D I A C o r p o r a t i o n N V I D I A D r i v e r s Q u a d r o F X 4 8 0 0 5 8 0 0 a n d Q u a d r o C X S D I U s e r s G u i d e V e r s i o n 1 0...

Page 5: ...upported SDI features and explains the basic operation in a broadcast environment Windows Using the Graphics to SDI Control Panel on page 15 describes how to use the Display Properties control panel t...

Page 6: ...lowing operating systems are supported Windows XP Linux NVIDIA Quadro CX SDI NVIDIA Quadro FX 4800 SDI or NVIDIA Quadro FX 5800 SDI Graphics Card PCI Express Motherboard NVIDIA Professional Graphics D...

Page 7: ...functionality described in the following sections Feature Overview on page 4 lists the hardware connections supported SDI formats and additional SDI support features of the NVIDIA Quadro FX SDI graph...

Page 8: ...mats Standard Definition SD Modes 487i 59 95 Hz SMPTE259 NTSC 576i 50 00 Hz SMPTE259 PAL High Definition HD Modes 720p 23 97 Hz 24 00 Hz 25 00 Hz 29 97 Hz 30 00 Hz and 50 00 Hz 720p 59 94Hz 60 00 Hz S...

Page 9: ...e Application controlled Mode using NVIDIA SDI APIs Desktop Region Adjustment Capability When in Clone mode lets you define a portion of the desktop to convert to SDI output Genlock and Frame Lock Cap...

Page 10: ...X SDI consists of the following two cards NVIDIA Quadro CX NVIDIA Quadro FX 4800 or NVIDIA Quadro FX 5800 graphics card NVIDIA SDI Output Card Cables In addition you need the following cables which sh...

Page 11: ...to the auxiliary power connector s The NVIDIA Quadro FX 5800 requires power to two auxiliary power connections 3 Install the NVIDIA SDI Output card a Insert the NVIDIA SDI Output card into any availa...

Page 12: ...IDIA Quadro FX SDI card as shown in Figure 2 1 and Figure 2 2 The cable must be connected to the north DVI connector The NVIDIA Quadro FX SDI will not work properly if the cable is connected to the ot...

Page 13: ...re graphics driver software before installing updated graphics drivers 1 Follow the instructions on the NVIDIA com Web site driver download page to locate the appropriate driver to download based on y...

Page 14: ...About the Software on page 11 Recommended Operating Practices on page 13 Understanding the Connections Figure 2 4 shows the available SDI and external sync connectors on the NVIDIA Quadro FX SDI Figur...

Page 15: ...ternal synchronization signal types SDI Composite which can be one of the following Composite Bi level NTSC or PAL sources use bi level composite signals Composite Tri level HDTV sources commonly use...

Page 16: ...instructions on using the APIs Using the Control Panel When the SDI output is not being controlled by an application the SDI software works on top of existing applications and the active workstation d...

Page 17: ...disturbances in the on air broadcast 1 Set up the SDI format settings and start the SDI output 2 Start the application to be broadcast 3 Verify the video quality 4 Close the Graphics to SDI control p...

Page 18: ...trol Panel NVIDIA recommends the following Set the desktop to the same or higher resolution than the SDI output for better image quality Close all background applications such as virus scan backup and...

Page 19: ...under Clone or Dualview mode using the NVIDIA Control Panel Send Graphics to SDI output page It contains the following sections How to Set Up the Graphics to SDI Output on page 16 provides step by st...

Page 20: ...s Indicators on page 21 Basic SDI Setup 1 From the NVIDIA Control Panel navigation tree pane under Workstation click Send graphics to SDI output To ensure proper operation NVIDIA recommends the follow...

Page 21: ...ng Multiple SDI Cards on page 27 for instructions on enabling the cards 3 Under Send SDI output using select the SDI output mode that you want to use Clone mode In Clone mode the SDI output is a clone...

Page 22: ...internal timing then click the list arrow and choose from the list of available SDI signal formats To synchronize to an external signal source make sure the house sync is connected to the INPUT BNC co...

Page 23: ...t enter the pixel or line delay values in the appropriate HSYNC or VSYNC delay boxes See Synchronizing the SDI Output to an External Source on page 20 for additional information 6 Check the Terminate...

Page 24: ...synchronization synchronizes the frame rate of the SDI output to the house sync signal The sync signal determines the available SDI signal formats Supported Synchronization Signals The NVIDIA driver s...

Page 25: ...the SDI outputs and the synchronization input signals Figure 3 1 SDI Connection LED Indicators The activity of the LEDs indicates the signal status as follows FILL or KEY Out Input Status Meaning Off...

Page 26: ...ce Conversion on page 25 Synchronizing the SDI Output to an External Source on page 20 Adjusting the Desktop Area By default the entire desktop is converted to SDI output If the desktop is smaller tha...

Page 27: ...the rectangular outline to adjust its position on the desktop Click and drag the appropriate corner or side handles to resize the outline You can also adjust the region size by specifying the X Y Wid...

Page 28: ...on click Send graphics to SDI output 2 Click the Color Settings bar to open the Color Settings dialog box 3 Click the Gamma Correction tab 4 Specify the RGB Gamma values using one or more of the follo...

Page 29: ...output 2 Click the Color Settings button to open the Color Settings dialog box 3 Click the Color Space Conversion tab 4 Check Override the default color space conversion 5 Click the Initialize the col...

Page 30: ...display to the SDI output This lets you move windows between the SDI output and the graphics DVI display part of the extended desktop With applications that use video overlay or Microsoft VMR you can...

Page 31: ...s card that you want to enable There should be two monitor icons for each graphics card in the system Typically monitors 1 and 3 are connected to one graphics card and monitors 2 and 4 are connected t...

Page 32: ...ion click Send graphics to SDI output 2 If you are using more than one NVIDIA Quadro FX SDI card under Select a display to configure SDI output click the display icon corresponding to the display you...

Page 33: ...User s Guide Version 1 0 29 CHAPTER 3 Windows Using the Graphics to SDI Control Panel To view the SDI status open the NVIDIA Control Panel and click Send graphics to SDI output from the Select a Task...

Page 34: ...for each display the graphics card to SDI card pairing and the connection status information for the NVIDIA Quadro FX SDI cards In addition to viewing status information you can also change various se...

Page 35: ...he NVIDIA Quadro FX SDI graphics cards under Linux using the NVIDIA Graphics to Video Out properties page1 It contains the following sections How to Set Up the SDI Output on page 32 provides step by s...

Page 36: ...t and the graphics DVI display part of the extended desktop See Basic SDI Setup with X window or under Dualview Mode on page 36 X screen mode You can display the SDI output on an x window In X screen...

Page 37: ...rol Panel Step 1 Open the NVIDIA Graphics to Video Out Property Page 1 From the command line enter nvidia settings The NVIDIA X Server Settings page appears Figure 4 1 NVIDIA X Server Settings Page 2...

Page 38: ...hronized with the timing chosen from the SDI signal format list Genlock The SDI output will be synchronized with the external sync signal Frame Lock The SDI output will be synchronized with the timing...

Page 39: ...or supports appear in the Video Format list Your options for this setting also depend on which Sync option you chose in the previous step If you chose genlock synchronization the sync source controls...

Page 40: ...The NVIDIA X Server Settings page appears Figure 4 3 NVIDIA X Server Settings Page To ensure proper operation NVIDIA recommends the following Set the desktop resolution to be the same or larger than...

Page 41: ...0 5800 and Quadro CX SDI User s Guide Version 1 0 37 CHAPTER 4 Linux Using the Graphics to Video Out Control Panel 2 Click X Server Display Configuration from the side view menu tree and then configur...

Page 42: ...NVIDIA Corporation 38 Quadro FX 4800 5800 and Quadro CX SDI User s Guide Version 1 0 CHAPTER 4 Linux Using the Graphics to Video Out Control Panel or x screen mode...

Page 43: ...en click the method you want to use to synchronize the SDI output Free Running The SDI output will be synchronized with the timing chosen from the SDI signal format list Genlock The SDI output will be...

Page 44: ...ts 1 Click the Graphics to Video Out tree item from the side menu 2 Specify the Data Format Click the Output Data Format arrow and then click the color format you want to use Data Format controls the...

Page 45: ...Desktop Area on page 42 Customizing the Color Space Conversion on page 43 Synchronizing the SDI Output to an External Source on page 44 Understanding the Status Indicators The Graphics to SDI propert...

Page 46: ...than the SDI output it will be cropped to fit Instead of using the entire desktop you can specify a region of the desktop to convert to SDI output as follows On the main Graphics to Video Out page adj...

Page 47: ...side menu The Color Space Conversion page appears 2 Check Override default Color Space Conversion 3 Click the Initialize Color Space Conversion with list arrow and then click one of the standards to u...

Page 48: ...al synchronization source When using genlock the SDI refresh rate is determined by the sync source so any refresh rates that you may have chosen in the Output Video Format list do not apply Using Fram...

Page 49: ...Options Page a Click the Sync Mode list arrow and then click either Genlock or Framelock synchronizing modes b Click the Sync Format list arrow and then click the format that matches external sync sou...

Page 50: ...of video from other equipment is delayed because of greater cable length you can introduce a delay in the SDI output from this card so that both deliveries are in sync To introduce a synchronization d...

Page 51: ...ontrolling the SDI output is also known as extended mode This chapter gives a brief introduction to this method of implementing graphics to SDI and includes the following sections SDI Application Prog...

Page 52: ...ting and stopping of data transfers This chapter covers the APIs related to data control Data transfer is the sequence of operations that send graphics data to the video device for output Under Window...

Page 53: ...interface NvGvoDesktopOpen Open the graphics cards for graphics to vVideo operations using the Desktop transparent mode interface NvGvoDesktopClose Close the graphics cards for graphics to video opera...

Page 54: ...scription Open graphics adapter for Graphics to Video operations using the OpenGL application interface Read operations are permitted in this mode by multiple clients but Write operations are applicat...

Page 55: ...cs adapter number nReserved Reserved must be set to zero dwClass Class interface NVGVOCLASS_ value dwAccessRights Access rights NVGVO_O_ mask phGvoHandle Pointer to receive handle Returns NV_OK Succes...

Page 56: ...tion NvGvoSyncFormatDetect Description Detects Graphics to Video incoming sync video format Parameters hGvoHandle Handle to graphics adapter pdwWait Pointer to receive milliseconds to wait before NvGv...

Page 57: ...NDLE hGvoHandle IN const NVGVOCONFIG pConfig IN NvGvoIsRunning Function NvGvoIsRunning Description Determine if Graphics to Video output is running Parameters hGvoHandle Handle to graphics adapter Ret...

Page 58: ...GvoEnumSignalFormats Function NvGvoEnumSignalFormats Description Enumerate signal formats supported by Graphics to Video Parameters hGvoHandle Handle to graphics adapter nEnumIndex Enumeration index b...

Page 59: ...VAPIENTRY NvGvoIsFrameLockModeCompatible NVGVOHANDLE hGvoHandle IN int nSrcEnumIndex IN int nDestEnumIndex IN BOOL pbCompatible OUT NvGvoEnumDataFormats Function NvGvoEnumDataFormats Description Enume...

Page 60: ...ss rights for NvGvoOpen or NvGvoDesktopOpen define NVGVO_O_READ 0x00000000 Read access define NVGVO_O_WRITE_EXCLUSIVE 0x00010001 Write exclusive access Video Signal Format and Resolution Enumerations...

Page 61: ...7_SMPTE296 23 720p 29 97Hz SMPTE296 NVGVOSIGNALFORMAT_720P_2500_SMPTE296 24 720p 25 00Hz SMPTE296 NVGVOSIGNALFORMAT_720P_2400_SMPTE296 25 720p 24 00Hz SMPTE296 NVGVOSIGNALFORMAT_720P_2398_SMPTE296 26...

Page 62: ...TYPE_HD High definition HD Interlace Mode Enumeration enum NVINTERLACEMODE NVINTERLACEMODE_PROGRESSIVE Progressive p NVINTERLACEMODE_INTERLACE Interlace i NVINTERLACEMODE_PSF Progressive Segment Frame...

Page 63: ...8 CR8 CB8 Y8 CR8 CB8 YCrCb 4 2 2 4 2 2 NVGVODATAFORMAT_R10G10B10_TO_YCRCB422 R10 G10 B10 YCrCb 4 2 2 NVGVODATAFORMAT_R10G10B10_TO_YCRCB444 R10 G10 B10 YCrCb 4 4 4 NVGVODATAFORMAT_Y12CR12CB12_TO_YCRCB4...

Page 64: ...Enumeration enum NVGVOOUTPUTSTATUS NVGVOOUTPUTSTATUS_OFF Output not in use NVGVOOUTPUTSTATUS_ERROR Error detected NVGVOOUTPUTSTATUS_SDI_SD SDI output standard definition NVGVOOUTPUTSTATUS_SDI_HD SDI o...

Page 65: ...mode define NVGVOCAPS_OUTPUTMODE_OPENGL 0x00020000 Supports OpenGL application mode define NVGVOCLASS_SDI 0x00000001 SDI class interface SDI output with two genlock inputs Driver Version Structure st...

Page 66: ...Video 1 output status NVGVOOUTPUTSTATUS vid2Out Video 2 output status NVGVOSYNCSTATUS sdiSyncIn SDI sync input status NVGVOSYNCSTATUS compSyncIn Composite sync input status BOOL syncEnable Sync enabl...

Page 67: ...8 bit index 16 bit values WORD wGreen 256 Green channel gamma ramp 8 bit index 16 bit values WORD wBlue 256 Blue channel gamma ramp 8 bit index 16 bit values NVGAMMARAMP8 Gamma Ramp 10 bit Index Stru...

Page 68: ...ATDETAIL NVGVOSIGNALFORMAT signalFormat Signal format enumerated value char szValueName NVVALUENAME_MAXLEN Signal format name in the form name t rate tHz t standard t description 480i t59 94 tHz t SMP...

Page 69: ...format capabilities NVGVOCAPS_ mask struct DWORD dwPbufferFormats Supported p buffer formats NVGVOPBUFFERFORMAT_ mask DWORD dwPbufferCount Number of p buffers char szValueName NVVALUENAME_MAXLEN Data...

Page 70: ...G_CSCOVERRIDE 0x00002000 dwFields colorConversion override define NVGVOCONFIG_FLIPQUEUELENGTH 0x00004000 dwFields flipqueuelength control define NVGVOCONFIG_ANCTIMECODEGENERATION 0x00008000 dwFields b...

Page 71: ...ut 0 colorMatrix n 0 NVFLOAT colorScale 3 Input 1 colorMatrix n 1 Input 2 colorMatrix n 2 OutputRange colorOffset n where OutputRange is the standard magnitude of Output n n and colorMatrix and colorO...

Page 72: ...ource NVGVOSYNCDELAY syncDelay Sync delay NVGVOCOMPSYNCTYPE compositeSyncType Composite sync type BOOL frameLockEnable Flag indicating whether framelock was on off double fGammaValueR Red Gamma value...

Page 73: ...5800 and Quadro CX SDI User s Guide Version 1 0 69 CHAPTER 5 API Control Linux CONTROL X Extension API This section describes the NvGvo APIs inthe following sections NV Control X Functions on page 70...

Page 74: ...Queries for the existence of the Nv_Gvo extensions XNVCTRLQueryVersion Queries the extension version XNVCTRLIsNvScreen Queries whether the specified screen is controlled by the NVIDIA driver XNVCTRLS...

Page 75: ...DIA driver otherwise False XNVCTRLSetAttribute void XNVCTRLSetAttribute Display dpy int screen unsigned int display_mask unsigned int attribute int value This function sets the attribute to the given...

Page 76: ...tain the value of the specified attribute Not all attributes require the display_mask parameter See NV_CTRL_GVO Attributes on page 75 for details Possible errors BadValue The screen doesn t exist BadM...

Page 77: ...ion succeeded otherwise False Possible X errors BadValue The screen doesn t exist BadMatch The NVIDIA driver is not present on that screen BadAlloc Insufficient resources to fulfill the request XNVCTR...

Page 78: ...should be used for GVO Graphic to Video Out The Color Space Conversion data is ordered as follows colorMatrix 0 0 r Y colorMatrix 0 1 g Y colorMatrix 0 2 b Y colorMatrix 1 0 r Cr colorMatrix 1 1 g Cr...

Page 79: ...float colorScale 3 This function retrieves the color conversion matrix and color offset that are currently being used for GVO Graphic to Video Out The values are ordered within the arrays according to...

Page 80: ...on to display one or more pbuffers call glXGetVideoDeviceNV to lock the GVO output for use by the GLX client then bind the pbuffer s to the GVO output with glXBindVideoImageNV and send pbuffers to the...

Page 81: ...to any external signal GENLOCK the GVO output is genlocked to an incoming sync signal genlocking locks at hsync This requires that the output video format exactly match the incoming sync video format...

Page 82: ...re valid value bits than will fit in a single 32 bit value To solve this query the ValidValues for NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT to check which of the first 31 VIDEO_FORMATS are valid then query the...

Page 83: ...ine NV_CTRL_GVO_VIDEO_FORMAT_720P_23_98_SMPTE296 23 define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_25_00_SMPTE274 24 define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_29_97_SMPTE274 25 define NV_CTRL_GVO_VIDEO_FORMAT_...

Page 84: ...fine NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8_TO_YCRCB444 10 define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8A10_TO_YCRCBA4444 11 define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444 12 define NV_CTRL_GVO_DATA_...

Page 85: ...GVO_COMPOSITE_SYNC_INPUT_DETECTED 74 R define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE 0 define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_TRUE 1 NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE NV_...

Page 86: ...EO_OUTPUTS 77 R define NV_CTRL_GVO_VIDEO_OUTPUTS_NONE 0 define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO1 1 define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO2 2 define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO_BOTH 3 NV_CTRL_GVO_FP...

Page 87: ...alue can be written but always reads back _FALSE define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE 81 W define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE 0 define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REAC...

Page 88: ...CTRLQueryAttribute should be used and the video format specified in the display_mask field eg XNVCTRLQueryAttribute dpy screen NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC NV_CTRL_GVO_VIDEO_FORMA...

Page 89: ...DIA Corporation Quadro FX 4800 5800 and Quadro CX SDI User s Guide Version 1 0 85 CHAPTER 5 API Control end of the X screen define NV_CTRL_GVO_X_SCREEN_PAN_X 86 RW define NV_CTRL_GVO_X_SCREEN_PAN_Y 87...

Page 90: ...NVIDIA Corporation 86 Quadro FX 4800 5800 and Quadro CX SDI User s Guide Version 1 0 CHAPTER 5 API Control...

Page 91: ...D DIP SWITCH The Quadro FX SDI graphics card has an onboard dip switch located on the SDI output card that determines the default SDI operating mode Subsequent software changes override these settings...

Page 92: ...1920x1080 30 Hz Interlace 1110 SMPTE 274 1920x1080 30 1 001 Hz Interlace 0001 SMPTE 274 1920x1080 25 Hz Interlace 1001 SMPTE 274 1920x1080 30 Hz Progressive 0101 SMPTE 274 1920x1080 30 1 001 Hz Progre...

Reviews: