I'm trying to capture 1080i5994 with an NVIDIA Quadro 5000 SDI which uses glVideoCapture() from NV_video_capture. However the latency for each frame capture is about 120ms.

A programmer's guide suggested the following but didn't provide too many details.

"For video capture applications that do real or less than real time capture an undesired
latency can appear because of buffering between the GPU and the capture device.
Latency can be minimized by adjusting the size of the ring buffer (see Section 4.6).
Executing a faster than real time capture will eliminate such latency. This can be
achieved by repeatedly capturing frames until the measured latency is less than or equal
to 1.5 times the frame time."