Understanding shutter speed options while using FPS override?

Started by andycivil, September 10, 2012, 11:07:46 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andycivil

Hi, I installed ML so that I could use FPS override, and of course, I've now discovered the limitations of the timer A and timer B and why I can't get the shutter speed I wanted.

I know there's a brief description of the "jello" modes in the FAQ, but where's the best description of what these timers do, and what my choices are (and why) for these timers?

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

andycivil

Quote from: nanomad on September 10, 2012, 11:28:36 PM
http://wiki.magiclantern.fm/userguide#fps_override
Yes, thank you that was what I meant by "I read the FAQ". It doesn't really explain much; like, it says "Timer A: displays the value of timer A and lets you fine-tune it." Well yeah... but what does Timer A actually do? And I understand that the jello effect and shutter speed are related, but I'm none the wiser why, and without an understanding of the constraints the feature works under, I can't calculate what's possible. Like, if I want a fast shutter of less than 10° for example, what's the slowest fps I can get? There's no explanataion, and no calculations. Even what looks like a formula "the current FPS, computed as TG_FREQ / timerA / timerB" which looks like the most useful part of the guide, I think is only illustrative - not mathematically accurate.

What do Timer A and Timer B actually do? I don't even know if they're two separate timers - they could be the numerator and denominator of one single timer for all the explanation there is. And what are their valid ranges, are they 16-bit signed numbers, or what?

1%


andycivil

I'm sorry, I passed over that program because I thought it was mac or smartphone or something! It's a start, because now I've played with it, I can see that the timers are chained dividers from the main clock (in my case it's 2,880,000Hz) so the frame rate is
FPS = 2,880,000 / (timer A * timer B)
Apart from giving me that information, the program seems to be focused on getting an exact frame rate, which doesn't seem important to me at the moment, since no one's going to know if your timelapse movie is shot at 3x speed or 3.1x speed... but I digress.

Remaining questions are:
What is the difference between timer A and timer B, if any?
What controls the shutter speed?
What controls the jello effect? (I know what causes it, what controls it?)
When you increment the timer values, sometimes they show "(FT + nnn)" where 'nnn' increases and decreases with the value, implying that "FT" is a constant. What is "FT"?
From the program, it appears that Timer A goes up to 8192, and Timer B goes up to 16384, is that right?
The program gives values for Timer B that are always bigger than Timer A. Why?

Thanks

Francis

It is worth noting that the shutter restrictions are model dependent. Perhaps one of the devs can shed some light on what is different between the models that forces some into the hi-jello mode for faster shutters.

Perhaps the topic is better suited for a development board since it is more of a 'how does this work' than a 'how do I do this' question?

andycivil

Quote from: Francis on September 11, 2012, 06:31:34 AM
... it is more of a 'how does this work' than a 'how do I do this' question?
Really, my question is "how do I get the FPS override to work more like a conventional time-lapse, taking a normal exposure frame a few times a second?". I had a feeling that question was likely to be answered with "lmgtfy" or "that depends..." and I'd end up needing to understand what the (camera specific) constraints are - so I thought I'd cut straight to the chase and ask how it worked. Should I ask somewhere else?

Francis

No here is fine. Was more curious what others thought as far as where to sort this to be preserved for posterity.

I know the 550d is restrained in comparison to other models. I believe you can set any shutter with the 60d and the 5d2. On the 5d2 I set the frame rate and to optimize for low jello, then highlight shutter speed range and adjust that to include whatever shutter I need.

What model are you using?

Francis

Also perhaps for general use the timer values could be hidden on the menu by default in a future version since it is not clear in documentation what is achieved by changing the 2 values.

a1ex

If you only alter timer A, you will get rolling shutter (jello effects) and fast shutter speeds.

If you modify timer A by some scaling factor, the shutter speed will be multiplied by the same factor. Example: if you set 1/500 in Canon menu and you choose 12fps from 24 by doubling timer A, you will get 1/250 shutter speed (and a little jello effect).

If you only alter timer B, you will not increase the jello effect, but the shutter speed will become quite a bit slower. The difference in FPS (computed as time units) will be added to your shutter speed.

Example: 1/500 in Canon menu, 12fps from 24 by doubling timer B. Result: 1/500 + 1/12 - 1/24 = 0.0437 = 1/22.9

So, at very low FPS (which can only be obtained by changing both timers), the side effect of timer B will be that frame rate will be effectively 1/fps, no matter what.

At moderate FPS (that can be obtained only by changing timer A - that's around 2-3 FPS I think) you can get pretty fast shutter speeds with jello effects (around 1/400 or so).

This thing is documented in the source code (fps-engio.c), and I thought it's too technical and most people won't understand it. Here it is:
Quote
    // FPS override will alter shutter speed (exposure time)
    // FPS "difference" from C0F06014 will be added as a constant term to exposure time
    // FPS factor from C0F06008 will multiply the exposure time (as scalar gain)
   
    // TG = base timer (28.8 MHz on most cams)
    // Ta = current value from C0F06008
    // Tb = current value from C0F06014
    // Ta0, Tb0 = original values
    //
    // FC = current fps = TG / Ta / Tb
    // F0 = factory fps = TG / Ta0 / Tb0
    //
    // E0 = exposure time (shutter speed) as indicated by Canon user interface
    // EA = actual exposure time, after FPS modifications (usually higher)
    //
    // If we only change Tb => Fb = TG / Ta0 / Tb
    //
    // delta_fps = 1/Fb - 1/F0 => this quantity is added to exposure time
    //
    // If we only change Ta => exposure time is multiplied by Ta/Ta0.
    //
    // If we change both, Tb "effect" is applied first, then Ta.
    //
    // So...
    // EA = (E0 + (1/Fb - 1/F0)) * Ta / Ta0

With new cameras (60D+), if you optimize from something else than "low light", you will cancel the side effect of timer B, so the shutter speed will only be multiplied by timer A.

andycivil

Thank you A1ex, that's certainly getting to the information I wanted; I'm on my way to understanding it, if you happen to read this message, could you tell me what "FT" is in the display? Is it Ta0 or Tb0 depending on whether it appears under Timer A or Timer B? (i.e. "Factory Timer-value")

Also, when a value of exactly 8192  occurs, which would also be by implication "FT + 0" the display changes to "x15.00" - why?


a1ex

FT is fine-tune (from what ML computes, you can alter the value in small increments).

If no fine tuning is used, ML shows how much the timer value was altered (compared to Canon default value).

To see default values, look in the submenu when FPS override is off.

andycivil

Right, I'm getting there. I see that Tb is coerced to be at least Tb0, which means that you can never get a faster shutter speed than is set in the Canon menu. In fact, the best you can get (by choosing "High Jello") is that you slow it entirely with Ta, which would in principle keep the exposure angle constant. However, I notice that if I choose 1/4000 before I start, I can get down to 2 FPS quite nicely with a roughly 1/150 shutter, but if it was strictly proportional, it would be more like 1/250. What started as 2.7° crept up to 4.8°. I want to look at the code: I found it at bitbucket because you quoted it and I googled, but how can I be sure that I'm looking at the source of the version I have in my camera? I don't know how bitbucket handles versioning.

a1ex

You are probably running this: https://bitbucket.org/hudson/magic-lantern/get/ML2.3-stable.zip

Maybe at 2 FPS you have some small change to timer B (this is where timer B starts to be used).

If you are using it for daylight timelapse, it's probably better to use a ND filter (you also get some nice motion blur).

Smartie

I was trying this too.  Had the same confusion as the original poster did.  Once I figured out you can set the camera speed to 4000 and the frame rate up a little bit and placing the camera on Tv mode, I can get pretty decent images with no blur.  I don't see the appeal to having motion blur, maybe it depends on the application.  My application was to run a security camera type operation where the time lapse gives you an overview of what happened and the individual frames give you detail, such as a license plate number...  Maybe you want motion blur for a timelapse of clouds or something for smoother looking video.  I think the documentation could be improved, maybe if it was described from a users point of view instead of jello view would be better.  As a user, I think about it like this...1. set the frame rate, 2. set the shutter speed... any thoughts about jello or timers comes after I decide if the quality is good enough or not.

ricardofg

I am facing the same problem. I installed ML yesterday, very anxious to check the announced function " How about the idea of just pressing Record to start filming a timelapse video instead of still frames?"

Well, that function certainly could be more intuitive. If I choose, for example, 1fps (very used in time-lapse), the system considers that the shutter speed should also be 1 sec., which generates high exposition, especially in daylight. You can compensate it with low aperture and low ISO, but the result is not so good, and hard to achieve. Until now, I haven't really figured out how to shoot, for example, 1fps and 1/100 shutter speed, and I consider myself good with photography and computing.

a1ex

I haven't figured it out either... ;)

See post #9 for the complete answer.