i.MX 8 Camera Use Cases

Showing results for 
Search instead for 
Did you mean: 

i.MX 8 Camera Use Cases

No ratings

i.MX 8 Camera Use Cases

This document describes all the i.MX 8 MIPI-CSI use cases, showing the available cameras and daughter cards supported by the boards, the compatible Device Trees (DTS) files, and how to enable these different camera options on the i.MX 8 boards.

Plus, this document describes some Advanced camera use cases too, such as multiples cameras output using imxcompositor_g2d plugin, GStreamer zero-copy pipelines and V4L2 API extra-controls examples.



Thanks for posting this guide. It would be nice to add hardware accelerated JPEG encoding and decoding examples for i.MX8QXP/i.MX8QM

Hi Ofer,

Thanks for your suggestion. But I believe it fits better at the GStreamer doc below:


I will include it in the v2.0 release.



Hi Marco,

Great work!

In your example 3.3 MCIMXCAMERA1MP camera daughter card, you have four cameras connected to the daughter card.

  1. What is max resolution these cameras can be at and not saturate the MIPI-CSI interface?
  2. What is max resolution these cameras can be at and be simultaneously encoded H.264 by a single VPU? If you have any docs on that , I be happy to take a look at that.

Thanks again!

Hi Sebster‌,

I am glad you like it.

Regarding your questions, the i.MX 8QXP and i.MX 8QM has independent MIPI-CSI channel interfaces, so you can get the max camera resolution on each channel. But of course, there will be some bandwidth limitations to be considered as well.

Regarding the VPU, unfortunately, I do not have any doc about it, but it is a great test to be done.

It would be great if you opened a community thread to check these topics. I am sure it will help a lot of people.

Best Regards,


Are there any documents describing control of MIPI and receiving images on a lower level? 

Hi arno_0‌,

For this case, we only have the SoC reference manual.


According to the "use cases" manual "This camera will be allocated on /dev/video0". And the mentioned example (gst-launch1.0 v4l2src device=/dev/video0 ! autovideosink) works - it mirrors the camera input to HDMI.

But: If I want to grab from that camera with examples as : linux/v4l2 – Gateworks I get the message:

./capture /dev/video0 1920 1080 1
VIDIOC_G_STD: Inappropriate ioctl for device
VIDIOC_S_STD: Inappropriate ioctl for device
found NTSC TV decoder
found SECAM TV decoder
found PAL TV decoder
/dev/video0 is no video capture device

Why this is not a capture device ???

This is result of

v4l2-ctl --all -d /dev/video0
Driver Info:
        Driver name      : mxc-isi-cap
        Card type        : mxc-isi-cap
        Bus info         : platform:32e00000.isi:cap_devic
        Driver version   : 5.4.24
        Capabilities     : 0x84201000
                Video Capture Multiplanar
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04201000
                Video Capture Multiplanar
                Extended Pix Format
Media Driver Info:
        Driver name      : mxc-md
        Model            : FSL Capture Media Device
        Serial           :
        Bus info         :
        Media version    : 5.4.24
        Hardware revision: 0x00000000 (0)
        Driver version   : 5.4.24
Interface Info:
        ID               : 0x03000014
        Type             : V4L Video
Entity Info:
        ID               : 0x00000012 (18)
        Name             : mxc_isi.0.capture
        Function         : V4L2 I/O
        Pad 0x01000013   : 0: Sink
          Link 0x02000021: from remote pad 0x100000e of entity 'mxc_isi.0': Data, Enabled
Priority: 2
Format Video Capture Multiplanar:
        Width/Height      : 0/0
        Pixel Format      : 'RGBP' (16-bit RGB 5-6-5)
        Field             : None
        Number of planes  : 1
        Flags             :
        Colorspace        : JPEG
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
        Plane 0           :
           Bytes per Line : 0
           Size Image     : 0
Streaming Parameters Video Capture:
        Capabilities     : timeperframe
        Frames per second: 30.000 (30/1)
        Read buffers     : 0

User Controls

                horizontal_flip 0x00980914 (bool)   : default=0 value=0
                  vertical_flip 0x00980915 (bool)   : default=0 value=0
                alpha_component 0x00980929 (int)    : min=0 max=255 step=1 default=0 value=0

Version history
Revision #:
1 of 1
Last update:
‎06-25-2020 11:00 AM
Updated by: