
Device Setup and Control
Quadro SDI Output PG-03776-001_v06 | 9
if (NvAPI_VIO_Status(m_vioHandle, &l_vioStatus) != NVAPI_OK) {
return E_FAIL;
}
// Verify that incoming sync is compatible with outgoing signal
if (frameLock) {
if (l_vioStatus.vioStatus.outStatus.syncFormat !=
l_vioConfig.vioConfig.outConfig.signalFormat) {
return E_FAIL;
}
l_vioConfig.vioConfig.outConfig.frameLockEnable = FALSE;
l_vioConfig.fields |= NVVIOCONFIG_FRAMELOCKENABLE;
} else { // Framelock Case
NvU32 l_compatible;
if (NvAPI_VIO_IsFrameLockModeCompatible(m_vioHandle,
l_vioStatus.vioStatus.outStatus.syncFormat,
l_vioConfig.vioConfig.outConfig.signalFormat,
&l_compatible) != NVAPI_OK) {
return E_FAIL;
}
if (l_compatible) {
l_vioConfig.vioConfig.outConfig.frameLockEnable =
TRUE;
l_vioConfig.fields |= NVVIOCONFIG_FRAMELOCKENABLE;
} else {
return E_FAIL;
}
}
l_vioConfig.vioConfig.outConfig.syncEnable =
l_vioStatus.vioStatus.outStatus.syncEnable;
l_vioConfig.vioConfig.outConfig.syncSource =
l_vioStatus.vioStatus.outStatus.syncSource;
switch(l_vioStatus.vioStatus.outStatus.syncSource) {
case NVVIOSYNCSOURCE_SDISYNC:
l_vioConfig.fields |= NVVIOCONFIG_SYNCSOURCEENABLE;
break;
case NVVIOSYNCSOURCE_COMPSYNC:
l_vioConfig.vioConfig.outConfig.compositeSyncType =
NVVIOCOMPSYNCTYPE_AUTO;
l_gvoConfig.fields |=
(NVVIOCONFIG_SYNCSOURCEENABLE |
NVVIOCONFIG_COMPOSITESYNCTYPE);
break;
} // switch
// Sync delay
NVVIOSYNCDELAY l_vioSyncDelay;
memset(&l_vioSyncDelay, 0, sizeof(l_vioSyncDelay));
l_vioSyncDelay.version = NVVIOSYNCDELAY_VER;
Kommentare zu diesen Handbüchern