I’m trying to capture images with two IMX264 modules (monochrome), using the recent 36.2 release (kernel 5.15). I’m using a custom carrier board with an Orin NX. The same board and cameras were tested successfully with the previous release so I know the hardware is OK.
I receive almost good images, but I get a lot of black stripes.
Changing the pix_clk_hz property and the csi/vi/etc clocks seems to impact the number of stripes, but I could not find a proper configuration to remove all of them. The stripes are multiples of 32 bits, if that helps.
Using more buffers with v4l2 generates better images. For example, the first image is obtained with only 1 buffer requested, and the second one with 20 buffers requested (There are at least two stripes).
If I get 30 images, with 10 buffers, then frames 0, 10, and 20 have the the same defects, which I find strange.
The pixel format is Y12.
Is there any way to debug such behavior? Thank you.
P.S.: I tried applying the patch from here but it changed nothing.
@ShaneCCC: The resolution is 2432x2048, Y12 (RAW12) format, but the result is the same with Y10 (RAW10) or RAW8. I tried --set-ctrl preferred_stride=2432/4864 and the proposed patch by @phdm but I got the same results.
@phdm: My defects are quite random, as opposed to your original post, so I think there’s an issue elsewhere. The fact that allocating more buffers improves the image is strange.