Thu Sep 22, 2022 7:12 pm
I'm building a system that has a PC running Ubuntu 18.04 with a DeckLink SDI 4K card installed. The system captures SDI input, adds a bounding box overlay to the frame, then plays the frame out via the output SDI port. I don't have control over the resolution of the SDI input, it could be 1080p30, 1080p25, 1080i60, or 1080i50, and I don't have a reference signal generator to help me synchronize the input and output frames.
My question is, given the constraint of my system, what is the best approach for me to achieve minimal delay between the input and the output frames? Should I use "ScheduleVideoFrame", or "DisplayVideoFrameSync"? The code to add bounding box has negligible delay. I am not worried if the delay is variable or if I occasionally drop a frame, I just want to achieve the lowest overall delay between the input and the output frames.
And a related question, why does using a reference signal help reduce the delays? What is the mechanism behind it? why can't the card just synchronize the output based on the input signal?
Thank you very much for your help!