Hello JerryChang,
As mentioned in Image sequence numbers incrementing even if no image captured we are using a Sony IMX567. We set up a V4L subdevice that gives us access to the sensor registers via custom V4L ioctls. The complete register initialisation is done in user space so that we can set up different resolutions and frame rates. We then use the standard video device e.g. /dev/video0 to access the image data, just like a normal V4L application.
Unfortunately I am unable to reproduce the timestamp problem using a RaspberryPi camera and v4l2-ctl at the moment, but, in theory at least, in JetPack 4.6.1 the buffer timestamp no longer strictly conforms to the v4l definition (3.6. Buffers — The Linux Kernel documentation) which states:
For capture streams this is time when the first data byte was captured, as returned by the
clock_gettime()
function for the relevant clock id;
This is because, since refactoring the low-latency mode, you no longer have a SOF syncpt and so cannot be sure when the first data byte has been captured. Instead, you are now taking the time stamp from just before the frame is enqueued in the hardware. The frame will always start sometime later but you can no longer know how much later.
I will keep trying to find a way of reproducing the problem in a more standard way.
Regards,
Goad