With FPS override enabled, the shutter speed(s) don't match - who's right?

Started by Shield, June 11, 2013, 11:35:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Shield

ML software or Canon software?  It's off by quite a bit with FPS override enabled - sorry if the answer is posted on here.  I think the Canon said 1/100 when ML said 1/48 or something.

a1ex


1%

Speaking of that... where do I test values to get that 1/60 or 50? 50D/6D/M? are probably hella wrong.

a1ex

First stop: get_current_shutter_reciprocal_x1000

It should work with FRAME_SHUTTER_TIMER, not with apex units. The apex trick is just a fallback thing that works without much porting effort.

Second stop: find FRAME_SHUTTER_TIMER (near FRAME_ISO and others). When shutter gets slower, the timer increases.

Third: adjust TG_FREQ_SHUTTER so it shows 1/50.000 in PAL with Canon shutter speed at 1/50, and 1/60.000 in NTSC with Canon shutter speed at 1/60. For high FPS modes, use 1/100.000 (PAL) and 1/120.000 (NTSC). There are usually two constants: one for PAL and one for NTSC. The values are usually round. 50D only has 30fps natively, so there's only one value to find.

These things are used to display exact shutter speed in movie mode (with or without fps override). In photo mode it will use apex.

That should be it. The formula for FPS seems portable, see comments from get_current_shutter_reciprocal_x1000, fps_setup_timerA and fps_try_to_get_180_360_shutter.


1%

I have shutter_timer on all cameras I think.

When canon shutter is 1/60 the 1000x reciprocal says 62500 so then timer is 62500000? ML says shutter is actually 62.5 deg. Or should it just be 600000000... that would be 1/60.00... pal 1/50 is like 48.2


a1ex

Look at the formulas.

int shutter_r_x1000 = TIMER_TO_SHUTTER_x1000(timer);
=> int shutter_r_x1000 = TG_FREQ_SHUTTER/timer
=> TG_FREQ_SHUTTER = shutter_r_x1000 * timer
=> at 1/60, 60000 * timer

Look at shutter display from ML menu, the one with 3 decimal places.

1%