Hi,
I’m using a custom camera with triggered image acquisition at Jetson Nano.
By default, there is a delay of two frames due to the ring buffer in vi_channel.c
.
The low latency mode (v4l2-ctl -c low_latency_mode=1
) solves the delay.
Now I wonder why low latency mode is not the default.
Looking at vi2_fops.c
I basically just see the following differences:
- In default mode, there is only one
kthread
that handles capturing and releasing buffers to user space.
In low latency mode, there are twokthread
s: one for capturing frames and one for releasing buffers to user space. - In default mode, frames are placed into a ring buffer and released with a two frames delay.
In low latency mode frames are released as soon asMW_ACK_DONE
syncpt is reached (so when frame is written to memory as far as I understand).
These differences don’t seem problematic to me.
So do I miss anything important?
Are there any disadvantages when using low latency mode in comparison to the default mode?
Thanks.