Unable to reduce V4L2 buffers count

I am using IMX296 monochrome image sensor from Vision components connected to the carrier board with Jetson TX2 NX SoM.
I tried setting the exposure time settings dynamically from ioctl commands. It is taking 4-5 frames for these new settings to get applied. For reducing this, i tried reducing the number of buffers in the v4l2 capture queue by setting the req.count to 2.
Even after that it takes 4-5 frames for the change to appear.
What could be the root cause of this issue?
Am I missing something? How to solve this issue?

Suppose you are means the Argus instead of v4l2.
Take 4-5 frames is know for current design for Argus.

Hi @ShaneCCC
I’m not using Argus. Instead I’m using APIs from v4l2-utils for capturing from our Image sensor (Monochrome).

OK, then try low latency mode by below command.

v4l2-ctl -c low_latency_mode=1

Hi @ShaneCCC
I have got a slight improvement in my situation when i tried reducing the QUEUED_BUFFERS macro to 3 in mc_common.h file. Now the latency is 3 frames mostly. I further tried reducing QUEUED_BUFFERS to 2 but then, there occured “select timeout” error in v4l2 capture application. Is there any way I could reduce this further?

Check this patch.

Hi @ShaneCCC
Sorry for the delayed response. I tried this patch on my device. It started capturing, but the exposure change is not getting affected on all the frames after 2nd frame

Suppose it’s sensor REG write latency and CMOS need time have new exposure take effect.
I don’t think it’s a problem.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.