Is there any way to reduce the 1080P video frame rate from 60 fps to 30 fps in jetson-tx2 kernel driver?

hello,

In my case there is a 1080p@60fps pre-configured mipi csi video connect to TX2(run with jetpack4.2) carrier board,and I can grab the 1080p@60fps video stream.

But our application on tx2 needs 1080p@30fps video stream not 60fps. so how to make the video stream become 1080P@30fps in video driver code?

Looking forward to reply, Many thanks.

hello suchb,

may I know what’s your usage?
several approaches as below for your reference,

  1. if you would like to encode with different frame-rate setting, the fastest approach would be sending 30-fps request from application side.
    for example,
    you could turn-on argus_camera, modify the “frame rate” option through user-interface to modify the output frame-rate.

  2. there’s device tree properties settings, you could adjust the frame-rate range to do the trick.
    for example,

<i>$l4t-r32.2/kernel_src/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-modules/tegra186-camera-e3326-a00.dtsi</i>

        i2c@3180000 {
                ov5693_c@36 {
                        mode0 { 
                                min_framerate = "1816577";/*1.816577 */
                                max_framerate = "30000000";/*30*/
                                default_framerate = "30000000";
  1. you should contact with your sensor vendor to provide another 30-fps register settings if you would like to reduce the sensor streaming as exactly 30-fps output. thanks

Thanks JerryChang,

There is no I2C camera in our system,the input video stream is generated by a SDI-to-CSI2 adapter, it’s a 4-lane, 1920*1080@60fps, UYVY signal, connected the input MIPI-CSI data and clk lines directly to the CSI port of tx2.

No 30-fps register we can set,video stream to tx2 mipi-csi is always 1080P@60fps,so I think 1) and 3) maybe not work.