
Advanced Topics
Quadro SDI Output PG-03776-001_v06 | 54
Code Listing 40: Configuring the SDI Device to Output Two
Independent Video Channels
l_gvoConfig.dataFormat=
NVGVODATAFORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422;
Once configured, an application must utilize separate render targets for each video
channel. The application draw loop would then bind and update each render target in
turn prior to utilizing
glPresentFrameDualFillNV()to send the rendered data to the
SDI device as demonstrated in Code Listing 41.
Code Listing 41: Sending Two Independent Video Channels
gFBO1.bind(gWidth, gHeight);
drawChannel1();
gFBO1.unbind();
gFBO2.bind(gWidth, gHeight);
drawChannel2();
gFBO2.unbind();
glPresentFrameDualFillNV(1, 0, 0, 0, GL_FRAME_NV,
GL_RENDERBUFFER_EXT, gFBO1.renderbufferIds[0],
GL_NONE, 0,
GL_RENDERBUFFER_EXT, gFBO2.renderbufferIds[0],
GL_NONE, 0);
10.2 SENDING THE DESKTOP TO VIDEO OUTPUT
In addition to sending the contents of one or more pbuffers, buffer objects or textures as
video output data, the desktop, or a region of the desktop can be displayed on the SDI
video output from within an application. This mode of operation permits an application
to control the Quadro SDI output in much the same was as the control panel.
The programming of this operating mode is similar as that described in Chapter 4 except
that this usage model requires the specification of
NVVIOOWNERTYPE_DESKTOP to
NvAPI_VIO_Open(). Once the desktop is opened, the video output device is configured
similarly to the buffer object case as outlined in code sample 4 except that in the desktop
case, an application can initialize the
NVGVOOUTPUTREGION structure to define the region of
the desktop area that will be visible on the video output. Initialization of the Quadro SDI
for desktop output to video from within an application is outlined in Code Listing 42.
This example sends a 1280 × 720 rectangular area of the desktop with the top left corner
at location (gX, gY) to the Quadro SDI output as 720p5994 SDI video output.
Comentários a estes Manuais