Hi,
My camera output is 16bit YUV422, the code stream format is UYVY. The parallel data is 8 bit, so I had to enable 2-clock/pixel. So, I set mxc_isi_src_formats as
{
.name = "YUV16 (X-Y-U-V)",
.fourcc = V4L2_PIX_FMT_UYVY,
.depth = { 8, 8 },
.memplanes = 2,
.colplanes = 2,
}
However, it looks like the kernel did not support this kind of camera output. Now the picture I got is in green color. And it is useless to change the polarity of HSYNC and VSYNC. I used to change the value of PLM_CTRL, then I could not get display any more.
Could some one give me some advices about this? How could I get the memory address of camera data sent by ISI? I saw 'only support one plane' in function mxc_isi_channel_set_m2m_src_addr, should '2 plane support' be what I need?
Thanks.
Hi, Igor,
I am confused now. The imx8qxp RM ISI chapter said:
The ISI includes the following features:
• Stream Multiplexing
• Writes YUV planar and semi-planar formats to Memory
• Stream Manipulation Features
• Supported Pixel Formats when storing image into memory
• YUV444, YUV422, YUV420 (8-bit, 10-bit, 12-bit)
As we know, there are 2 formats for YUV, one is packed, the other is planar. So the YUC planar means there are 3 planes, Y, U, and V. If a driver support one plane only, does it mean that what the driver support is packed?
Thanks.
Hi Carolyn
for testing one can look at camera unit test code
mx8_v4l2_cap_drm.c\mxc_v4l2_test\test - imx-test - i.MX Driver Test Application Software
mx8_v4l2_cap_drm.c is the camera unit test code, one can capture ISI output image
into a file. Run command: mx8_v4l2_cap_drm -cam 1 -fmt 1 -of
Best regards
igor
Hi, Bert,
The ISI chapter say 'Writes YUV planar and semi-planar formats to Memory'. It looks like my camera output format is YUV semi-planar. My code stream is 8 8 UYVY. In my opinion, semi-planar meets the driver should support 2 planar, but the kernel is only support one planar now. I think that is why I received green image.
Could you please give me some advices? Thanks.