V4l2 VIDIOC_REQBUFS limitation

We are encountering an issue with V4L2 CAPTURE. We are using the V4L2 IOCTL: VIDIOC_REQBUFS, requesting a low-resolution size such as 1280x720, and we can get 10 or even 20 buffers. However, when we request 10 buffers of 7680x4320, the Orin NX system only provides us with 4 buffers of that size. What kernel settings do we need to change to potentially adjust this limit of 4 buffers?

hello howardevxpr,

may I also know what’s your v4l capture pipelines.
for example,
could you please try with below to request 100 frames.
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

Hi Jerry,
Thanks for the reply,
I think our VIDIOC_REQBUFS and what you referred to as stream-count may be a bit different. VIDIOC_REQBUFS is used in the V4L2 API to request a memory space queue from the kernel, which is then provided to the V4L2 API for use with VIDIOC_QBUF and VIDIOC_DQBUF. The issue we are currently facing seems to be related to requesting memory through VIDIOC_REQBUFS, but the default space allocated by JetPack is limited. We are wondering if there is a way to change the kernel configuration to overcome this limitation.

hello howardevxpr,

could you please see-also Topic 271431, and apply the kernel patch for confirmation.

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