Author Topic: How to find TG_FREQ_NTSC_SHUTTER - FPS override.  (Read 3531 times)

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
How to find TG_FREQ_NTSC_SHUTTER - FPS override.
« on: June 08, 2013, 01:55:56 AM »
I think TG_FREQ_NTSC_SHUTTER might be wrong on some digic V. Where do I find this? Copying 5d3 for 6D seemed to give better shutter speeds but still didn't seem correct.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12258
  • Emergencies only
Re: How to find TG_FREQ_NTSC_SHUTTER - FPS override.
« Reply #1 on: June 09, 2013, 08:45:46 AM »
It's the value that gives 1/60.000 shutter speed when Canon shutter is set to 1/60 (of course, in a NTSC video mode, e.g. 30p and 24p).

dpjpandone

  • Senior
  • ****
  • Posts: 284
Re: How to find TG_FREQ_NTSC_SHUTTER - FPS override.
« Reply #2 on: August 16, 2014, 05:30:03 AM »
Code: [Select]
#elif defined(CONFIG_7D)
    #define TG_FREQ_BASE 24000000
    #define TG_FREQ_SHUTTER (ntsc ? 51120000 : 50000000) // todo, just copied
    #define FPS_TIMER_A_MIN MIN(fps_timer_a_orig - (ZOOM ? 0 : 20), ZOOM ? 0x262 : 0x228) // todo


Have we settled on these values for 7D? If not, can someone please tell me how to find the correct values?




dpjpandone

  • Senior
  • ****
  • Posts: 284
Re: How to find TG_FREQ_NTSC_SHUTTER - FPS override.
« Reply #3 on: August 16, 2014, 07:24:26 PM »
My goal is to find the necessary values to implement HIGH FPS on 7D:  (these are for 600D)

Code: [Select]
   #define NEW_FPS_METHOD 1
    #define SENSOR_TIMING_TABLE MEM(0xCB20)
    #define VIDEO_PARAMETERS_SRC_3 0x70AE8 // notation from g3gg0
    #undef FPS_TIMER_B_MIN
    #define FPS_TIMER_B_MIN MIN(fps_timer_b_orig, 1420)


can I use the procedure described here:  http://magiclantern.wikia.com/wiki/Register_Map/Brute_Force

to find these values? Or is there a different/better way?  Or is it not possible/outside the scope of our understanding with the dual processors?



a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12258
  • Emergencies only
Re: How to find TG_FREQ_NTSC_SHUTTER - FPS override.
« Reply #4 on: August 19, 2014, 07:50:27 AM »
The solution for high FPS is to let Canon code know the value of timer B, so it can optimize the shutter blanking and other timings. Some hints here: http://www.magiclantern.fm/forum/index.php?topic=11965

There is a FPS table on old cameras too, for example, on 5D2 it's at MEM(0x44F8); however, on these cameras, the table must be patched outside LiveView (otherwise the camera will lockup, not sure why). This means the current method of patching the table probably must be changed.

BTW, you no longer need to find TG_FREQ_NTSC_SHUTTER - it's simply MainClock / timerA. I'm doing some major cleanup here, on the fps-override branch, and I hope to come up with a portable implementation that works on all cameras (including high FPS and correct shutter speeds, and without requiring a ton of ifdefs and magic numbers).