
Device Setup and Control
Quadro SDI Output PG-03776-001_v06 | 10
l_vioSyncDelay.horizontalDelay = hDelay;
l_vioSyncDelay.verticalDelay = vDelay;
l_vioConfig.fields |= NVVIOCONFIG_SYNCDELAY;
l_vioConfig.vioConfig.outConfig.syncDelay = l_gvoSyncDelay;
// Setup external sync
if (NvAPI_VIO_SetConfig(m_vioHandle, &l_vioConfig) != NVAPI_OK) {
return E_FAIL;
}
On Linux, the video device is configured using XNVCTRLSetAttribute. The following
example configures the video device for RGBA 4:4:4:4 input and 1080i YCrCbA 4:2:2:4
video output with composite tri-level sync.
Code Listing 6: Configuring a Video Device on Linux
screen = DefaultScreen(dpy);
// Set video signal format
XNVCTRLSetAttribute(dpy, screen, 0,
NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT,
NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274);
// Set video data format
XNVCTRLSetAttribute(dpy, screen, 0,
NV_CTRL_GVO_DATA_FORMAT,
NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4224);
// Enable genlock
XNVCTRLSetAttribute(dpy, screen, 0,
NV_CTRL_GVO_SYNC_MODE,
NV_CTRL_GVO_SYNC_MODE_GENLOCK);
// Set sync type to composite.
XNVCTRLSetAttribute(dpy, screen, 0,
NV_CTRL_GVO_SYNC_SOURCE,
NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE);
XFlush(dpy);
// Sleep to allow time for sync detection
sleep(2);
// Detect input sync.
XNVCTRLQueryAttribute(dpy, screen, 0,
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED,
&val);
// If valid sync detected, query input video format.
If (val) {
XNVCTRLQueryAttribute(dpy, screen
NV_CTRL_GVO_INPUT_VIDEO_FORMAT
Comentarios a estos manuales