
Device Feedback
Quadro SDI Output PG-03776-001_v06 | 48
9.1.1 Using the GLX/WGL_video_out Extension
Applications that utilize the wglSendPbufferToVideoNV() or
glXSendPbufferToVideoNV()functions within the WGL_video_out or GLX_video_out
extensions should set the bBlock argument to GL_FALSE
in order to queue buffers,
otherwise if blocking is specified, the number queued buffers will always be 1. An
application should then call
wglGetVideoInfoNV()or glxGetVideoInfoNV() in order
to retrieve the number of vertical blanks since the start of video transfers along with the
count of the current buffer being scanned out.
BOOL wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice,
unsigned long *pulCounterOutputVideo,
unsigned long *pulCounterOutputPbuffer);
int glXGetVideoInfoNV(Display *dpy, int screen,
GLXVideoDeviceNV VideoDevice,
unsigned long *pulCounterOutputVideo,
unsigned long *pulCounterOutputPbuffer);
To determine the current number of full buffers queued, an application should subtract
the value of
pulCounterOutputVideo from the value of pulCounterPbuffer returned
from
wglSendPbufferToVideoNV() or glXSendPbufferToVideoNV() as outlined in
Code Listing 37.
Code Listing 37: Determing the Number of Queued Buffers
unsigned long l_ulNumVertBlanks;
unsigned long l_ulNumBufs;
int l_uiNumBufsQueued = 0;
wglGetVideoInfoNV(ghpDevList[0],&l_ulNumBufs,
&l_ulNumVertBlanks);
.
.
.
l_bRes = wglSendPbufferToVideoNV(hpBuf, l_iBufType, &gBufCount,
FALSE);
l_uiNumBufsQueued = gBufCount – l_ulNumBufs;
Comentários a estes Manuais