Minimum and Maximum Framerate IMX462 PiVariety Camera

  1. Where did you get the camera module(s)? PiHut UK

  2. Model number of the product(s)?B0333

  3. What hardware/platform were you working on?Pi4

  4. Instructions you have followed. (link/manual/etc.)
    Installation script

  5. Problems you were having?
    Not a problem just some questions

  6. The dmesg log from your hardware?

  7. Troubleshooting attempts you’ve made?

  8. What help do you need?

Similar to Watchever I am interested in extending the framerate limits to as low as possible. Also interested in whether support for up to 120fps is possible. Will any future firmware updates support > 60fps?

Could I request copy of firmware update to get the 1fps support? Is lower than 1 fps on the firmware routemap?

Thank you in advance

PS I also vote in support of the libcamera-python module - very useful!

[email protected] has exceeded the maximum limit of the Raspberry Pi 2lane MIPI interface. So currently only 60fps (the minimum frame rate of the release version is 5fps)

Of course, you can email [email protected] with a link to this post.

got it, thanks for your vote, I’ll make further confirmation (I think the biggest problem is that the code is too messy XD)

Hi Wong,

Thanks for the replies.

On the faster framerates question and reply, I’ve tried windowing or requesting reduced sized frames but that doesn’t allow any higher than 60fps. So is 60fps a hard limit that can’t be exceeded?

On the firmware upgrade package I’ve e-mailed my request but had no response yet. Any chance you could push it along???!

Thanks again

[email protected] is very close to the upper limit that the Raspberry Pi 2lane can transmit.

You can send me your email address via private message on the forum.
[email protected] has a large number of emails every day, sometimes there are delays or omissions.

Hi Wong,

Thank you for the firmware upgrade package, received and installed successfully.

1 fps now available.

On the faster framerates is it correct to assume that as the only video capture formats supported are :-

ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
	Size: Discrete 1920x1080
[1]: 'RG10' (10-bit Bayer RGRG/GBGB)
	Size: Discrete 1920x1080

that the camera package will only output at full 1920x1080 , with no windowed or binned modes. And that any lower requested resolutions are performed by cropping after image capture. So no increase is possible in framerate as the sensor is always outputting the full frame size even if reduced later in the pipeline?

Just trying to understand the constraints of the system.

Thanks again for your help.

I understand what you mean, I will submit this suggestion to my colleagues, I am not sure why only one mode can be used (IMX462 is special compared to other Sony sensors, which may be the reason)

Hi,
Using the new 1fps framerate firmware and the python libcamera library , I’ve been looking at the range of achievable exposure times.

The maximum exposure time seems to be just over 0.97 seconds, pretty close to the 1 sec expected from a 1 fps framerate.
I’ve also been checking the range of minimum exposure times. The results are summarised in the chart below.
The chart was created from data collected by using the cam.set(libcamera.ExposureTime,Exp)
to set the exposure times and using v4l2-ctl --list-ctrls to read the achieved exposure.

The returned exposure is in units of line time which seems to approximate to 14.1 microseconds.
What is the actual value of a 'line time"?
(1920 + ???pixels) * 1/148500000 pixel rate ??
The maximum achieved exposure time seems to be linked to the point at which the vertical blanking interval reaches it’s maximum. Is this just a coincidence or is the vertical blanking interval linked to the maximum exposure time?

And can you say what are the units that the vertical blanking is reported in?

Many Thanks

I don’t want to explain too much about the internals of the camera here, so I’ll just give a brief answer to your question.

The unit of exposure setting is the line length (line blanking + image width), the line length divided by the pixel clock is the time per line.
Under normal circumstances, you only need to pay attention to the value you set. The unit of cam.set setting value is microseconds.

Also line length.

The exposure time of most image sensors needs to be less than frame length( or VTS).
And line length, frame length (VTS and HTS), and pixel rate determine the frame rate.

Thanks for all of the above, understand that you don’t want to say much about the internal operation of the camera. I’ll just get on using it now!! (Or at least I will in earnest once I get my C-mount adapter :wink:

Thanks again