Question: Firmware and shutter speed - General Help and Assistance on using CHDK stable releases - CHDK Forum
supplierdeeply

Question: Firmware and shutter speed

  • 5 Replies
  • 1877 Views
Question: Firmware and shutter speed
« on: 15 / June / 2009, 21:50:11 »
Advertisements
Do any of you know how the firmware sets the shutter speed? I imagine it calculates a number given ISO/aperture/metering and then picks the closest value from a table of allowed values. If so, is it possible to trick the camera into using other shutter speeds by expanding that table?

The reason I am interested in this is actually DSLRs. Whereas Canon compacts can do 1/32 ev exposure steps on automatic settings, Canon DSLRs will only do 1/8 ev steps (and other brands seem no better) which is a major problem for timelapse shooting (gives flicker). So I'm wondering if DSLR firmware has a simple table to pick values from and if it would be possible to add new values to it to allow smaller exposure steps. I know DSLR hackers haven't gotten very far yet, but if it's a real possibility, then I might want to look into DSLR hacking myself once I get some time on my hands.

Thank you for any insight!
SX100, S3

*

Offline reyalp

  • ******
  • 12944
Re: Question: Firmware and shutter speed
« Reply #1 on: 15 / June / 2009, 22:41:20 »
On the P&S cameras, normal exposure controls work in APEX*96 units. This allows the camera to use APEX exposure calculations and integer math. The APEX96 value is converted to microseconds (!) later in the shooting process. See apex2us in the cameras with extra long exposure support. I don't know how many significant digits of that are used in the actual exposure, one would assume it it's not all of them.

If you are hacking an DSLR, you could also using ISO for fine control. On the P&S cameras, this can also be adjusted by arbitrary APEX96 values.
Don't forget what the H stands for.

Re: Question: Firmware and shutter speed
« Reply #2 on: 16 / June / 2009, 12:55:00 »
Thank you reyalp. So, as I understand this there is no lookup table, but rather an exposure unit which defines the step size and happens to be 4 times smaller on the compacts than on the DSLRs. If that is correct it seems like the task on a DSLR would be to change that unit and the exposure calculation to take the smaller unit into account. Do you think that is doable?
SX100, S3

*

Offline reyalp

  • ******
  • 12944
Re: Question: Firmware and shutter speed
« Reply #3 on: 16 / June / 2009, 17:57:24 »
Thank you reyalp. So, as I understand this there is no lookup table, but rather an exposure unit which defines the step size and happens to be 4 times smaller on the compacts than on the DSLRs. If that is correct it seems like the task on a DSLR would be to change that unit and the exposure calculation to take the smaller unit into account. Do you think that is doable?
I'm a bit unclear what you mean (perhaps due to not having a DSLR, and not following the DSLR hacking threads closely)

Are you talking about the adjustment available in the UI, or have you hacked the DSLR and determined that it only uses 1/8th stops internally ? If the former, don't worry about it. The UI almost certainly doesn't reflect the underlying units. If the latter, then you must already know ???

I would assume that in the worst case, DSLRs have something like ExpDrvTask that you could fiddle with the value in.


Don't forget what the H stands for.


Re: Question: Firmware and shutter speed
« Reply #4 on: 17 / June / 2009, 00:49:11 »
The adjustments available in the UI on DSLRs are 1/3 ev, and on the Canon DSLRs the adjustments the camera uses on automatic settings are 1/8 ev. I found this out simply by superposing EXIF data on timelapse tests:



(A single link shows up as a double video, sorry... don't know what's going on there)

This video shows exactly why I want smaller ev adjustment steps on DSLRs. The 1/32 ev steps on the compact camera result in smooth looking timelapse while the 1/8 ev steps on the DSLR cause quite visible and distracting steps. So I'm curious exactly what in the firmware determines the size of these steps (in order to realize whether it would be an easy fix), and my first idea was that there was simply a table of allowed exposure times. But now I understand it as if the step size is a predefined unit and then the calculated shutter speed can only be an integer multiple of that unit - is that correct?

I've presented the issue in the DSLR hacking forum, hoping that somebody might take a look at it, but odds are probably better if I can be specific (and correct!) about what it would take to do this hack. I have no hacking experience myself and know it would take a lot of time to get into, so I'm hoping somebody who has the skills already would consider doing it. The exposure stepping you see in above video is probably the biggest and most discussed problem among timelapse shooters worldwide, and it would be a *big* deal if a fix was developed. Personally I've promised a $100 reward to whoever can come up with a fix I can apply to my own cameras. But if nobody has the time/motivation to dig into this, then I'll probably try to look into it myself if I can find the time. In which case it would also be very valuable to know exactly what it is I need to do.  :)
SX100, S3

*

Offline reyalp

  • ******
  • 12944
Re: Question: Firmware and shutter speed
« Reply #5 on: 17 / June / 2009, 01:34:19 »
Video definitely makes the effect clear. It seems like you should be able to fix this this with some clever post processing.
But now I understand it as if the step size is a predefined unit and then the calculated shutter speed can only be an integer multiple of that unit - is that correct?
All speculation without disassembling the DSLR firmware. It seems unlikely that there's a fundamental limit that would prevent operating in smaller steps. If it's anything like the P&S cams, there isn't, but the codebases appear to be very different.

Quote
In which case it would also be very valuable to know exactly what it is I need to do.
1) Dump your firmware
2) Start hacking.
Don't forget what the H stands for.

 

Related Topics