Rocketmagnet
Rocketmagnet

Reputation: 5880

How much latency does the operating system add transferring video over USB to the host application?

I am transferring raw uncompressed video from an image sensor to a C++ OpenCV application running on Linux. The signal chain is this:

MIPI output Image sensor -> MIPI to USB 3.0 chip -> USB 3.0 Hub chip -> USB port on PC -> Application code.

I know roughly how much latency is added by the first 3 steps, up to the USB port on the PC. However, I'm not sure how much latency is likely to be added by the software.

Questions:

Once a frame of video is fully transferred to the PC, roughly how long before it's available to the application software?

Will Linux or OpenCV buffer multiple frames, or will each frame be available to the application very soon after it arrives?

Does anyone have any actual measurements of the latency?

Added: I'd be happy to have an answer in terms of a likely range in units frame intervals. For example, possible answers might be: "There's probably no multi-frame buffering, and the latency will be an insignificant fraction of a frame interval." or "I've seen a similar setup buffer a couple of frames, and so you may get a latency of 1 - 2 frames on a 50 FPS video."

Upvotes: 0

Views: 60

Answers (0)

Related Questions