Author Topic: Exact fractional FPS value (59.92...) on EOS 700D?  (Read 833 times)

largactyl

  • New to the forum
  • *
  • Posts: 3
Exact fractional FPS value (59.92...) on EOS 700D?
« on: August 18, 2022, 10:24:21 PM »
My goal is to achieve a video frame rate that's just below NTSC's 59.94 fps.  Or to be exact, 59.923.

Why? - I'm trying to shoot some footage of a CRT monitor that runs at just that frequency. "Classic" computers and consoles often deviated from NTSC specs just a bit, and that's what I'm trying to capture (see http://nerdlypleasures.blogspot.com/2017/01/classic-systems-true-framerate.html).

With my EOS 700D, Canon's 60 FPS setting (which I assume is really 59.94..) produces dark bands and tear-lines moving up the screen, since it's just a bit too fast to sync with the CRT's vertical refresh rate.

Does ML make it possible to achieve something closer to 59.923?  Or 59.9227 to be even more exact?  If so, how could I set this up?

Thanks.

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 8539
Re: Exact fractional FPS value (59.92...) on EOS 700D?
« Reply #1 on: August 19, 2022, 03:37:32 AM »
Please lookup if your 700D build has the option -> Movie tab -> FPS override.
If not you may have to use a build made by TheBilalFakhouri. https://www.magiclantern.fm/forum/index.php?topic=25784.0

Mandatory: Setting "Optimize for Exact FPS".
You may have to open "Advanced ..." which may be overwhelming at the beginning ... whom am I kidding? This menu frightens me, TBH.
Basic help: https://wiki.magiclantern.fm/camera_help#fps_override

But it can be done, see https://www.magiclantern.fm/forum/index.php?topic=25851.msg234276#msg234276

Skinny

  • Member
  • ***
  • Posts: 204
Re: Exact fractional FPS value (59.92...) on EOS 700D?
« Reply #2 on: August 19, 2022, 08:51:01 PM »
By the way, it is possible to do it from the opposite side - change your retro computer frequency to match the camera fps.. It can be done by feeding the external clock from any oscillator (diy osc or special chip). At least, slight under/overclocking should work fine.. But fps override in ML is probably much easier/faster

largactyl

  • New to the forum
  • *
  • Posts: 3
Re: Exact fractional FPS value (59.92...) on EOS 700D?
« Reply #3 on: August 20, 2022, 01:19:57 AM »
Please lookup if your 700D build has the option -> Movie tab -> FPS override.
If not you may have to use a build made by TheBilalFakhouri. https://www.magiclantern.fm/forum/index.php?topic=25784.0

Mandatory: Setting "Optimize for Exact FPS".
You may have to open "Advanced ..." which may be overwhelming at the beginning ... whom am I kidding? This menu frightens me, TBH.
Basic help: https://wiki.magiclantern.fm/camera_help#fps_override

But it can be done, see https://www.magiclantern.fm/forum/index.php?topic=25851.msg234276#msg234276

Thanks for the pointers! The 700D build does have FPS override enabled, and I had a go at the Advanced menu.  I select:
  • Desired FPS: 60
  • Optimize for: Exact FPS
But in fine-tuning the timers, I have a problem.
Actually, two problems:
  • FPS timer A can only be adjusted in increments of 2 (I can set "FP+2", "FP+4" etc. but not "FP+1", "FP+3")
  • For both timers A and B: only positive adjustments seem to have any effect on Actual FPS (=they lower it).
    Negative adjustments ("FP-1", etc.) don't allow me to fine-tune it the other way by raising it. They have no effect - it's the same as setting "+0".
Given these two issues, I can't achieve the required precision for 59.923.  The closest values I can get are 59.946 (NTSC default) and 59.887, nothing in between.

Are there any other options hidden somewhere that could make a difference?
Does Bilal's build have additional features that could improve precision for FPS override? (didn't see relevant mentions in that thread, but perhaps I've missed something)

For reference... on my camera, the main clock is 32.00 MHz and the default timer settings for 60 FPS are A = 528 (+0), B = 1011 (+0).

Any help appreciated.

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1068
  • UHS-I
Re: Exact fractional FPS value (59.92...) on EOS 700D?
« Reply #4 on: August 20, 2022, 05:45:39 AM »
Negative adjustments ("FP-1", etc.) don't allow me to fine-tune it the other way by raising it. They have no effect - it's the same as setting "+0".

Same thing on my 700D, it seems like a bug. FPS override should be able to raise FPS too. I don't know since when this broken. on 100D it works, I could achieve 59.925 FPS.
The bug should be fixable on 700D, probably somewhere in fps.c or fps-engio.c

Are there any other options hidden somewhere that could make a difference?
Does Bilal's build have additional features that could improve precision for FPS override? (didn't see relevant mentions in that thread, but perhaps I've missed something)

Nope, no other hidden options.
Also, my build act same as official crop_rec_4k branch and the both have the mentioned bug, I don't know if FPS override works better (e.g. FPS can be raised) in other branches on 700D.
Waiting some new DIGIC 5 models . . .

largactyl

  • New to the forum
  • *
  • Posts: 3
Re: Exact fractional FPS value (59.92...) on EOS 700D?
« Reply #5 on: August 23, 2022, 07:34:17 PM »
@Bilal: thanks for checking!  Hope this could indeed be fixed at some point- I'm not sure what the process is for bug reports and so on.

On the other hand, I'm already getting quite good results by just using shutter fine-tuning (in the Image fine-tuning menu), and ensuring that the shutter speed is the same as the frame rate (59.946).  There's still a moving bar artifact but it's much less noticeable this way! 
It won't be 100% perfect without being able to set 59.923 (for both FPS and shutter speed), but ML is already giving me much better results than just the stock firmware. :)