Dear All. I can not handle ISP parameters, dynamically.
Actually, We need one of below pipelines. Is it possible?
1. sensor -(bayer)-> mipi -(bayer)-> isp0 -(bayer)-> captured(memory)
: do not need dwe.
: need auto or manual control exposure & gain.
: ISP 4k capture with ISI capture (13.4 Image Sensing Interface (ISI) module , IMX8MPRM.pdf p5265)
2. [sensor, with isp] -(yuv422)-> mipi -(yuv422)->isp1-(yuv422) -> captured(memory)
: need dwe(if is is able to rotate) optionally.
; 13.14.2.2.2 MIPI Inputs (IMX8MPRM.pdf p5899) The ISP can support the following image data formats through the MIPI interface (see the MIPI-CSI2 standard for details about the image data formats and byte sequences):
• YUV 4:2:2 8bit / 10bit (to YUV processing chain)
who could help me?
Thanks a lot. Best Regards. kiseokko.
Solved! Go to Solution.
Hi,
1. sensor -(bayer)-> mipi -(bayer)-> isp0 -(bayer)-> captured(memory)
: do not need dwe.
If you configure /dev/video0 to output RAW bayer, ISP and dwe are both bypassed and you get raw image as provided by the sensor. If the sensor delivers 10bpp, it will be packed in 16bit litle endian. You need to convert to big endian prior to debayer it.
: need auto or manual control exposure & gain.
Auto is taken care by *.xml file
Dynamic can be done via /opt/imx8-isp/bin/vvext tool
Launch capture pipeline, launch "vvext 0 0" and setup ISP dynamically.
vvext source code is in BSP. You can use it to write you own dynamic config tool. I did that
There is also one capture and ISP config example in /opt/imx8-isp/bin. This bynary (forgot exact name) opens V4L2, captures an ISP processed image and stores it to disk or displays it using DRM
. [sensor, with isp] -(yuv422)-> mipi -(yuv422)->isp1-(yuv422) -> captured(memory)
: need dwe(if is is able to rotate) optionally.
No need for ISI or ISP for this since ISP is already in sensor. Why use 2x ISP? You can write regular CSI driver and do rotation in G2D. I used G2D to do yuv to RGB conversion and it was easy.
You can also use ISI. Not sure if ISI can do rotation though. I know it can do downscaling. But still you can do rotation using G2D API.
I spent month on this problematic so far...
Hi,
1. sensor -(bayer)-> mipi -(bayer)-> isp0 -(bayer)-> captured(memory)
: do not need dwe.
If you configure /dev/video0 to output RAW bayer, ISP and dwe are both bypassed and you get raw image as provided by the sensor. If the sensor delivers 10bpp, it will be packed in 16bit litle endian. You need to convert to big endian prior to debayer it.
: need auto or manual control exposure & gain.
Auto is taken care by *.xml file
Dynamic can be done via /opt/imx8-isp/bin/vvext tool
Launch capture pipeline, launch "vvext 0 0" and setup ISP dynamically.
vvext source code is in BSP. You can use it to write you own dynamic config tool. I did that
There is also one capture and ISP config example in /opt/imx8-isp/bin. This bynary (forgot exact name) opens V4L2, captures an ISP processed image and stores it to disk or displays it using DRM
. [sensor, with isp] -(yuv422)-> mipi -(yuv422)->isp1-(yuv422) -> captured(memory)
: need dwe(if is is able to rotate) optionally.
No need for ISI or ISP for this since ISP is already in sensor. Why use 2x ISP? You can write regular CSI driver and do rotation in G2D. I used G2D to do yuv to RGB conversion and it was easy.
You can also use ISI. Not sure if ISI can do rotation though. I know it can do downscaling. But still you can do rotation using G2D API.
I spent month on this problematic so far...
Thank you. @malik_cisse
If you configure /dev/video0 to output RAW bayer, ISP and dwe are both bypassed and you get raw image as provided by the sensor. If the sensor delivers 10bpp, it will be packed in 16bit litle endian. You need to convert to big endian prior to debayer it.
it will be packed in 16bit litle endian. You need to convert to big endian prior to debayer it.
This is a answer of "[i.mx8mplus] How to setup bypass-pipeline by 4K Ba... - NXP Community"
Actually, I want to capture both 4K bayer and 1~2M YUV stream, concurrently.
and, It is best way that capture on ISI module, if it is possible.
Unfortunatelly, In my researching, ISI on i.MX8M plus can not pass both 4K Bayer and 1~2M YUV, concurrently.
So, I tried 2 method. and each method has each problem.
case 1) 4K bayer on ISP + 1M YUV ISI
4K bayer on ISP, image is like below
case 2) 4K bayer on ISI + 1M YUV ISP
1M YUV on ISP, image is like below .
this issue is combined with below issues.
[i.mx8mplus] How to setup bypass-pipeline by 4K Ba... - NXP Community
i.MX 8MP using both ISI + ISP for single CSI - NXP Community
--> @malik_cisse 's issue reply
Raw Camera with ISP in i.MX8MPlus - NXP Community 's replys.