Re: [PATCH 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 4/8/20 10:24 AM, Fabio Estevam wrote:
Hi Steve,

On Wed, Apr 8, 2020 at 1:35 PM Steve Longerbeam <slongerbeam@xxxxxxxxx> wrote:

change to:

media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
If I make this change I get:

# v4l2-ctl --stream-mmap -d /dev/video1
[  501.143012] ipu1_ic_prpenc: capture format not valid
                 VIDIOC_STREAMON returned -1 (Invalid argument)

Going back to the original example:

#  media-ctl -V "'ipu1_ic_prpenc':1 [fmt:AYUV32/640x480]"
# v4l2-ctl --stream-mmap -d /dev/video1
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.03 fps

Changing only the resolution:

#  media-ctl -V "'ipu1_ic_prpenc':1 [fmt:AYUV32/800x600]"
# v4l2-ctl --stream-mmap -d /dev/video1
[  658.358246] ipu1_ic_prpenc: capture format not valid
                 VIDIOC_STREAMON returned -1 (Invalid argument)

Any ideas?

You have to set a format at the capture interface as the last step before streaming can start:

# v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3


or whatever RGB format is supported. It's enough to sinmply set one parameter, such as width or height or pixelformat. The driver will propagate the reset from the source subdev ipu1_ic_prpenc.

The capture interface used to be automatically propagated from the source subdev, but now it must be done by userland.

Steve


These are the lines I am currently using as per your feedback:

    # Setup links
    media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
    media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
    media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
    media-ctl -l "'ipu1_csi0':1 -> 'ipu1_ic_prp':0[1]"
    media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]"
    media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]"
    # Configure pads
    media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
    media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
    media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"

Thanks,

Fabio Estevam

    # Setup links
    media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
    media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
    media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
    media-ctl -l "'ipu1_csi0':1 -> 'ipu1_ic_prp':0[1]"
    media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]"
    media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]"
    # Configure pads
    media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
    media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
    media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
    media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux