Failed to open over 16 video devices

Hi there

We found that to decode a video stream and obtain the decoded data we need to create 2 instances of decoder for handling on TX2, not knowing the reason though, and meanwhile v4l2 seems to limit the number of video devices under 16.

Unfortunately we need to process 8 input streams at the same time and render 1 output stream, and so have to create 8 x 2 = 16 decoder devices and 1 encode device, totally 17 devices. Right, we need exactly 1 more video device to run the whole process but could not…

libv4l2: error attempting to open more then 16 video devices

Is there any possible that we could use only 1 decoder for each input stream to save 8 devices, or any way to skip the limitation from v4l2?

It is limitation of libv4l2. Please refer to


We modified the v4l2 library like your post and it works now. Thanks!