Imx219 resolution on 3w

Hey everyone.
Sorry if it’s dumm question, but could anyone explain how to configure camera/ips pipeline?
I’m interested in creating a rtp stream of imx219 camera with gstreamer, and would like to configure it with 720p at max fps, but with any parameters I get ±21 fps. Which leads to assumption, that imx is configured to capture at max resolution, and isp does crop it to 1080p.

media-ctl -p                                                    Media controller API version 5.10.160

Media device information
------------------------
driver          rkisp-vir0
model           rkisp0
serial
bus info
hw revision     0x0
driver version  5.10.160

Device topology
- entity 1: rkisp-isp-subdev (4 pads, 7 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Sink
                [fmt:SRGGB10_1X10/1920x1080 field:none
                 crop.bounds:(0,0)/1920x1080
                 crop:(0,0)/1920x1080]
                <- "rkisp-csi-subdev":1 [ENABLED]
                <- "rkisp_rawrd0_m":0 []
                <- "rkisp_rawrd2_s":0 []
        pad1: Sink
                <- "rkisp-input-params":0 [ENABLED]
        pad2: Source
                [fmt:YUYV8_2X8/1920x1080 field:none colorspace:smpte170m quantization:full-range
                 crop.bounds:(0,0)/1920x1080
                 crop:(0,0)/1920x1080]
                -> "rkisp_mainpath":0 [ENABLED]
                -> "rkisp_selfpath":0 [ENABLED]
        pad3: Source
                -> "rkisp-statistics":0 [ENABLED]

- entity 6: rkisp-csi-subdev (6 pads, 5 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:SRGGB10_1X10/1920x1080 field:none]
                <- "rockchip-csi2-dphy0":1 [ENABLED]
        pad1: Source
                [fmt:SRGGB10_1X10/1920x1080 field:none]
                -> "rkisp-isp-subdev":0 [ENABLED]
        pad2: Source
                -> "rkisp_rawwr0":0 [ENABLED]
        pad3: Source
        pad4: Source
                -> "rkisp_rawwr2":0 [ENABLED]
        pad5: Source
                -> "rkisp_rawwr3":0 [ENABLED]

- entity 13: rkisp_mainpath (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
        pad0: Sink
                <- "rkisp-isp-subdev":2 [ENABLED]

- entity 19: rkisp_selfpath (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
        pad0: Sink
                <- "rkisp-isp-subdev":2 [ENABLED]

- entity 25: rkisp_rawwr0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
        pad0: Sink
                <- "rkisp-csi-subdev":2 [ENABLED]

- entity 31: rkisp_rawwr2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                <- "rkisp-csi-subdev":4 [ENABLED]

- entity 37: rkisp_rawwr3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
        pad0: Sink
                <- "rkisp-csi-subdev":5 [ENABLED]

- entity 43: rkisp_rawrd0_m (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
        pad0: Source
                -> "rkisp-isp-subdev":0 []

- entity 49: rkisp_rawrd2_s (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
        pad0: Source
                -> "rkisp-isp-subdev":0 []

- entity 55: rkisp-statistics (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video7
        pad0: Sink
                <- "rkisp-isp-subdev":3 [ENABLED]

- entity 61: rkisp-input-params (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video8
        pad0: Source
                -> "rkisp-isp-subdev":1 [ENABLED]

- entity 67: rockchip-csi2-dphy0 (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev2
        pad0: Sink
                [fmt:SRGGB10_1X10/1920x1080@10000/300000 field:none]
                <- "m00_b_imx219 2-0010":0 [ENABLED]
        pad1: Source
                -> "rkisp-csi-subdev":0 [ENABLED]

- entity 70: m00_b_imx219 2-0010 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev3
        pad0: Source
                [fmt:SRGGB10_1X10/1920x1080@10000/300000 field:none]
                -> "rockchip-csi2-dphy0":0 [ENABLED]
sudo dmesg | grep imx                                           [   15.314516] imx219 2-0010: driver version: 00.01.01
[   15.339410] imx219 2-0010: Model ID 0x0219, Lot ID 0x482274, Chip ID 0x02df
[   15.350498] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_im 219 2-0010:bus type 5

I use following command to test it:

gst-launch-1.0 v4l2src ! "video/x-raw,width=1280,height=720,framerate=60/1" ! fpsdisplaysink name=fpssink  video-sink="kmssink"

Try this: ROCK 3A Camera streaming with RTSP

With performance governor i can get ~ 30 FPS using your command:

gst-launch-1.0 v4l2src ! “video/x-raw,format=NV12,width=1280,height=720,framerate=30/1” ! fpsdisplaysink name=fpssink video-sink=“waylandsink”

I think your assumption is correct, i think there are two modes, 1920x1080 and 3280x2464.
I tried 3280x2464 but my kernel crashed and with mpi i got :

[ 177.172917] rkisp-vir0: MIPI drop frame

Yah, but 30fps is still much less than I would expect for 1280x720.
And for some reason I can’t change frameformat. No errors, just it stays same on any v4l node I’m trying it on.

Ahhh, ok, :man_facepalming:
media/i2c/imx219.c in radxa kernel has only one mode 1080@30.
will try to change it on weekend.
Hope there will be no problems with isp