Hello,
we work with imx264 sony monochhrome image sensors, and up to now we converted the 12bpp received on the mipi csi connection to 8bpp T_L8 (aka GREY, aka GRAY8). This works perfectly.
v4l2-ctl -d /dev/video1 --stream-mmap=3 --stream-count=256 --set-fmt-video=width=2464,height=2056,pixelformat=GREY
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 36.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.82 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.76 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.75 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.72 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.77 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.75 fps
<<<<
We are now trying to use the full 12 bits of each pixel and therefore converting the RAW12 mipi pixels to T_R16_I (aka 'Y14 ') or T_R16 (aka 'Y16 ') Nvidia pixels. Unfortunately we have bandwidth problems, as can be seen below.
v4l2-ctl -d /dev/video0 --stream-mmap=3 --stream-count=256 '--set-fmt-video=width=2464,height=2056,pixelformat=Y16 '
<< 0.50 fps
<<<<<<<<<< 3.64 fps
<<<<<<<<<<<<<<<<<<<< 5.40 fps
< 4.69 fps
< 4.48 fps
<< 3.92 fps
< 3.69 fps
< 3.51 fps
<< 3.51 fps
< 2.90 fps
<<<<<<<< 3.42 fps
<<<<<<<<<<<<<<<<<<<<<< 4.65 fps
<< 4.32 fps
<< 4.16 fps
< 3.98 fps
< 3.92 fps
<< 3.62 fps
< 3.57 fps
<< 3.40 fps
< 3.29 fps
< 3.28 fps
<<<<<<<<<<<<<<<<<<<< 3.95 fps
<<<< 3.82 fps
< 3.65 fps
< 3.38 fps
<< 3.27 fps
< 3.25 fps
< 3.15 fps
< 3.16 fps
<<<<<<<<<<<< 3.38 fps
<<<<<<< 3.16 fps
< 3.08 fps
<VIDIOC_DQBUF: failed: Input/output error
However, if I run
sudo ./jetson_clocks.sh
before starting the capture, then the same capture works perfectly.
v4l2-ctl -d /dev/video0 --stream-mmap=3 --stream-count=256 '--set-fmt-video=width=2464,height=2056,pixelformat=Y16 '
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 36.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.82 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.76 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.75 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.72 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.71 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 35.71 fps
<<<<<
Should I change something in the DT, or is it a bug somewhere in the calculation of the required bandwidth by the vi driver ? I already tried to increase ‘pix_clk_hz’, although the pixel frequency has not increased, but that does not solve the problem.
This is with jetpack-4.6.4 on a TX2