As this is a third party product that isn't using the Pi's ISP, support largely needs to come from the vendor as they know about how the ISP on their product works.
That said, my initial thoughts are that the trigger will start exposure, so you've inherently got the exposure time and readout time before you get the EOF and hence a buffer to pass through GStreamer. Typical ISPs on camera boards have minimal buffering (a few lines), so that shouldn't be adding any significant delay.
Is there a good reason for going through GStreamer? OpenCV's VideoCapture should be able to directly interface with simple V4L2 devices, although it does have a tendency to always convert the image format which can be CPU intensive.
All V4L2 devices should timestamp the incoming frames, generally with the system monotonic clock. If you tweak your code so that the Pi generates the external trigger and you read the monotonic clock at that point, you can then compare it with the buffer timestamp. Note that the buffer timestamp is for the Start of Frame interrupt, so you can also read the clock when your application gets the buffer to estimate the readout time.
That said, my initial thoughts are that the trigger will start exposure, so you've inherently got the exposure time and readout time before you get the EOF and hence a buffer to pass through GStreamer. Typical ISPs on camera boards have minimal buffering (a few lines), so that shouldn't be adding any significant delay.
Is there a good reason for going through GStreamer? OpenCV's VideoCapture should be able to directly interface with simple V4L2 devices, although it does have a tendency to always convert the image format which can be CPU intensive.
All V4L2 devices should timestamp the incoming frames, generally with the system monotonic clock. If you tweak your code so that the Pi generates the external trigger and you read the monotonic clock at that point, you can then compare it with the buffer timestamp. Note that the buffer timestamp is for the Start of Frame interrupt, so you can also read the clock when your application gets the buffer to estimate the readout time.
Statistics: Posted by 6by9 — Fri Feb 02, 2024 9:39 am