Wrong captured images with odd resolutions (IMX267 and IMX334)

Hello all,

We’re implementing multiple sensors on a custom carrier for the Jetson TX2 (using L4T R32.2.0). We’ve managed to got it working but ran into a problem when trying to capture an image (V4L raw capture) from the IMX334 in binning mode (it then outputs resolution 1944x1092). Then I also configured the IMX267 to output a 1944x1092 resolution which resulted into the same effect. 1920x1080 is working fine, see also attached pictures.

Is there a limitation for the resolution input capturing an image through V4L? Should the horizontal resolution be divisible by any number, for example 16? Or is this a known issue that is resolved in later L4T releases? Any help would be appreciated!

Kind regards,

Falco

Do you mean unable capture if sensor configure as 1944x1092?
This resolution should not have problem.

I am able to capture images, but they are distorted, as shown in the attached images in the first post

Looks like height need 64 alignment.

I changed the height from 1092 to 1090 and even 1080, but the same effect still occurred.

Modify below define to try.

./media/tegra_camera_core.h:#define TEGRA_STRIDE_ALIGNMENT 1

It was already defined as 1:

/* Width alignment */
#define TEGRA_WIDTH_ALIGNMENT	1
/* Stride alignment */
#define TEGRA_STRIDE_ALIGNMENT	1
/* Height alignment */
#define TEGRA_HEIGHT_ALIGNMENT	1
/* Size alignment */
#define TEGRA_SIZE_ALIGNMENT	0

Try to make TEGRA_STRIDE_ALIGNMENT to 4096

Just to be sure, when updating this TEGRA_STRIDE_ALIGNMENT, is it sufficient to only update the /lib/modules/ folder or should I update the whole image and flash it again?

Just need to replace the /boot/Image

Changing it to 4096 made it even worse, the ‘normal’ 1920x1080 resolution turned unrecognizable. See also attached pictures.

I’ve also changed it to 4 and 8, but it doesn’t seem to make difference for the 1944x1090 resolution.