Author Topic: Dual-ISO crawling and one of the flickering issues (with solutions)  (Read 208 times)

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 766
Do you still remember this weird issue I had before?

-M03-2337 - 4.5K: Doesn't have flickering issue, can be processed in MLVApp without any problem.
-M03-2338 - 4.3K: Does have flickering issue, the flickering pattern is first frame is dark, second frame is bright, third frame is dark and so on, has flickering issue both in MLVApp and cr2hdr
-M03-2339 - 4K:    Does have flickering issue, the flickering pattern is the first two frames are dark, second two frames are bright and so on, has flickering issue both in MLVApp and cr2hdr

I figured out what was happening :):

-Let's record new Dual-ISO clips in 4.5/4.3/4K 1x3 presets using 700D and showcase the problem:

-Processed Dual-ISO clips:

4.5K                                                                                                                                                                4.3K


4K



-Unprocessed Dual-ISO clips (zoomed in view):

4.5K                                                                                                                                                                4.3K


4K


Have you figured it out yet?
Above flickering problem is happening because of waterfall (moving) Dual-ISO lines in both 4.3K and 4K presets, the waterfall Dual-ISO lines has also another side effect which was called crawling, crawling showcase:

Clip with Crawling                                                                                                                                      Clip without Crawling (I swear to god it's not a static picture)

(both was shot at 1736x976 with Dual-ISO enabled, cropped to 960x540 and zoomed in 140%)

-In 1x3 mode crawling is there but it's minimum compared to 1080p 3x3 mode, because of high vertical resolution.

-So how we can control Dual-ISO lines and make it static (remove waterfall effect)?

I have looked closely into 4.5K/4.3K/4K 1x3 presets, and found out that certain values for Timer B register will cause Dual-ISO waterfall effect :), some values will make waterfall effect faster/slower (that's explain above flickering patterns in 4.3K/4K clips) and other values will make Dual-ISO lines completely static like 4.5K preset.

It seems a1ex has mentioned before that tweaking FPS would solve crawling issue:
To avoid the "crawling" artifacts, tweak the FPS. IIRC, at 25.000 fps it's OK.

But he wasn't very specific about Timer B and moving Dual-ISO lines. 1080p25 mode doesn't have Dual-ISO lines waterfall out of the box (Timer B value there produces static Dual-ISO lines) which will work without crawling artifacts.

For other framerates like 23.976 and 29.970 which both have waterfall effect:

-1080p24: FPS swings among 23.973 and 23.983, Timer B value swings among 2528 and 2527, enabling FPS override and setting it to 23.976 will lock FPS to 23.973 and Timer B to 2528 --> waterfall effect is removed (Dual-ISO lines are static) which means this would solve both crawling and flickering issues.

-1080p30: FPS swings among 29.958 and 29.973, Timer B value swings among 2023 and 2022, enabling FPS override and setting it to 29.970 will lock FPS to 29.973 and Timer B to 2022 --> won't remove waterfall effect --> Increasing FPS Timer B from FPS override submenu to 2024 which make FPS 29.943 removes waterfall effect.

So what's needed is just reducing FPS few steps and would remove waterfall effect, same things worked with 4.3K/4K 1x3 presets and others.


Other solutions for waterfall effect which may work:

-Very easy: Increase FPS Timer B a little bit (my way), probably decreasing it a tiny bit instead of increasing it may work too.
Can be implemented directly e.g. for crop_rec presets, just you need to find right FPS Timer values by trial and error. Stay tuned for my next build release for 650D/700D ;).

-Medium: Reverse Base-ISO and Second-ISO depending on FPS Timer B value every X number of frames, I have not tested this, can't see why it won't work. I think there is a formula for FPS Timer B could be written.

-Difficult: fix it in post :D, flickering issue caused by waterfall effect could be fixed fairly easy (just guessing), but crawling artifact would be a lot harder.

General notes:
-Flickering issue caused by waterfall Dual-ISO lines is more visible at aggressive Dual ISO setting like 100/1600 and 100/3200. setting like 100/400 would have minimum to no flickering (probably same applies for crawling, didn't make much tests).
-There are other flickering issues caused by Dual-ISO processing algorithm because it was designed for Dual ISO photos in the first place, not videos . . this flickering problem related to some parameters like white level and probably other things (same as when processing RAW video with ACR, at certain settings you will have some flickering).

Other flickering issue is probably related to how MLVApp handle Dual-ISO clips with reduced bit-depths like 12/10 bit, these two flickering issues probably won't be presented with latest version of cr2hdr and when using 14-bit lossless clips, and might only happen when processing Dual-ISO clips using MLVApp, to be tested later. (I haven't made any tests yet), I will share example to showcase these flickering issues in future.

-The only advantage I can see for waterfall Dual-ISO lines is the ability to recover full resolution image for Time-lapses (static subjects), needs special algorithm for that.


Results:
-4.3K 1x3 preset:
100/3200 Dual ISO, pushed 3.5 stops in MLVApp.

-Sorry for "witt" typo in 0:06, I meant "with".

Dual-ISO has just become more practical in RAW video :D
Announcement: 100D/SL1 users:
I am willing to port the latest RAW video achievements to 100D. Check this for more info: https://www.magiclantern.fm/forum/index.php?topic=26250.msg238692#msg238692
We are 55% from the goal! any help from any user is appreciated.

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7240
Cool. I think @levas solved it similarly. I started some fps fixes a while ago but left it undone   8)

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 766
Cool. I think @levas solved it similarly. I started some fps fixes a while ago but left it undone   8)

Thanks, hmm maybe I missed @Levas experiments?, where I can read about it? :P


New builds are posted for 650D/700D which include Dual-ISO flicker fix.
Announcement: 100D/SL1 users:
I am willing to port the latest RAW video achievements to 100D. Check this for more info: https://www.magiclantern.fm/forum/index.php?topic=26250.msg238692#msg238692
We are 55% from the goal! any help from any user is appreciated.

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7240
CanĀ“t find it atm. Better ask him directly :).

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 766
Found Levas's problem and notes for Dual ISO. I have never read them before :P.

Anyway a dedicated thread explain this problem is here, it appears to affect all models which support Dual ISO.

Announcement: 100D/SL1 users:
I am willing to port the latest RAW video achievements to 100D. Check this for more info: https://www.magiclantern.fm/forum/index.php?topic=26250.msg238692#msg238692
We are 55% from the goal! any help from any user is appreciated.

Levas

  • Contributor
  • Hero Member
  • *****
  • Posts: 1732
  • 6d - Nightly build user
Glad you figured it out too  ;D