Author Topic: Magic Lantern Cinema Camera - Dual ISO without aliasing & without quality loss!  (Read 20418 times)

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5717
Think I found out why we were getting gain stripes when changing timers. Well found out without really understand why it caused image corruption:
Code: [Select]
                /* assuming FPS timer B was overridden before this */
                int fps_timer_b = (shamem_read(0xC0F06014) & 0xFFFF) + 1;
                int readout_end = shamem_read(0xC0F06804) >> 16;    /* fixme: D5 only */

Changed this to following and image is corruption free!:
Code: [Select]
                int fps_timer_b = (shamem_read(0xC0F06014) & 0xFFFF) - 3;
Also tested below but wouldn´t work:
Code: [Select]
                int fps_timer_b = (shamem_read(0xC0F06014) & 0xFFFF) - 1;
Maybe @a1ex knows the story here?

 
Reduced settings to following in crop_rec.mo. 12bit is gonna work best previewing etc but feel free to test the other bitrates as well for comparison. White balance will be hard coded to 5000 so make sure to test and stretch in post if it looks like it works.



Download here:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_1x3_10bit.5D3113_presets.zip

Would be good if we could confirm that the gain stripe issue is gone or not now. Please report.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12260
  • Emergencies only
Changed this to following and image is corruption free!:
Code: [Select]
                int fps_timer_b = (shamem_read(0xC0F06014) & 0xFFFF) - 3;
Also tested below but wouldn´t work:
Code: [Select]
                int fps_timer_b = (shamem_read(0xC0F06014) & 0xFFFF) - 1;

Very nice find!

The FPS timer itself is correct with +1; the issue is what gets computed afterwards.

Is it enough to reduce the value just for 0x8179 and 0x8197 (i.e. fps_timer_b - 5 or maybe lower)?

Canon values: https://www.magiclantern.fm/forum/index.php?topic=19300.msg202783#msg202783



squig

  • Hero Member
  • *****
  • Posts: 518
  • Crash test dummy MK3
@Danne the movie menu options are all greyed out.

mothaibaphoto

  • Senior
  • ****
  • Posts: 385
  • pesky kid
Wow, Danne, congratulations!!!
Greatly appreciate your efforts, you get something new and interesting to experiment with.
Shoot "Battleship Potemkin" remake for example :)
This is what I like about ML most: a big journey could be started just by uncommenting a couple of strings in sourcecode :)

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5717
Is it enough to reduce the value just for 0x8179 and 0x8197 (i.e. fps_timer_b - 5 or maybe lower)?
Yes, works!
Commit(wip):
https://bitbucket.org/Dannephoto/magic-lantern/commits/86910cefc6a58e9fc67db8f655ba983df0b0cce4#Lmodules/crop_rec/crop_rec.cF911

Canon values: https://www.magiclantern.fm/forum/index.php?topic=19300.msg202783#msg202783
Thanks for that link

@squig
Just to be sure. Are you in movie mode? Works as expected here. Could you show me how it looks(screenshot, video)?

@mothaibaphoto
Agreed :)

Uploaded a new build for testing:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_1x3_10bit.5D3113_presets.zip

squig

  • Hero Member
  • *****
  • Posts: 518
  • Crash test dummy MK3
Oops, my bad.

I tested the latest build 12bit 1920x2352 3200/100 ISO, same lighting/shot as my earlier tests: it looks completely clean, no vertical stripes or noise. Nice work.

70MM13

  • Member
  • ***
  • Posts: 245
For me, only the 3240 versions are stable.  Extremely bright areas get that interlacing failure on the 23.976 FPS versions in almost every instance.

But the 3240 versions are very nice.

The stripes are still there but now at the same level as the noise floor, only visible if pushed really hard.

Here's a sample MLV (1 frame) of a good test.  Raise the exposure by 2.5 stops and drop the shadow strength to 8 and you're in the right area.

That light bulb is very unique.  It is a point source with a cylindrical lens, so it's almost as bright as the sun but it puts out very little light.  The scene is actually quite dark.

https://drive.google.com/file/d/1F1n39758QmkMqapsJLWnogDTljBEGw51/view?usp=drivesdk

Here's a video with the same bulb in an even darker scene I shot using the ISO experiments.  The artifacting is thanks to YouTube.


I'm shooting a video on Sunday.  I'd love to try this dual ISO if it can be stable at 24 FPS at 2.35:1

vstrglv

  • Member
  • ***
  • Posts: 177
70MM13, are you talking about horizontal stripes or vertical ones?
Canon 5D3,1.1.3 CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme, 90MB/s, 64GB.

70MM13

  • Member
  • ***
  • Posts: 245
Vertical, but they're basically gone unless you are digging in the shadows, but the noise there is just as strong.

For "easy" lighting conditions, this is fantastic now.  I just really need 24fps (or 23.976) at 2.35:1 working without problems...

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5717
Vertical, but they're basically gone unless you are digging in the shadows, but the noise there is just as strong.

For "easy" lighting conditions, this is fantastic now.  I just really need 24fps (or 23.976) at 2.35:1 working without problems...
But these issues are probably the same or worse with regular raw shooting no?

By the way. Just set Resolution to 1840x2353 and you got 2.35:1

And here is also 23.976:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_1x3_10bit.5D3113_presets.zip

70MM13

  • Member
  • ***
  • Posts: 245
Thanks, Danne.

I will play with it!

It's so great to have these capabilities from our outdated cameras!

vstrglv

  • Member
  • ***
  • Posts: 177
Vertical, but they're basically gone unless you are digging in the shadows, but the noise there is just as strong.
But there is a lot of horizontal stripes. Is it normal?
Canon 5D3,1.1.3 CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme, 90MB/s, 64GB.

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3721
I just really need 24fps (or 23.976) at 2.35:1 working without problems...

Just set Resolution to 1840x2353 and you got 2.35:1

Might be asking for too much and I haven't played around with it yet but would a resolution of 1920x2488 at 23.976 fps be possible?

2488/3 = 816
1920x816 = 2.35:1
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

70MM13

  • Member
  • ***
  • Posts: 245
But there is a lot of horizontal stripes. Is it normal?

Do you mean in the sample MLV I uploaded?

If so, I don't see any horizontal stripes.  Are you sure you turned on dual ISO under the raw correction tab on mlvapp?

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5717
Might be asking for too much and I haven't played around with it yet but would a resolution of 1920x2488 at 23.976 fps be possible?

2488/3 = 816
1920x816 = 2.35:1
Got some good schooling from both Bilal and Levas on pushing the timers and did a fair amount of testing so personally I am pretty much out of ideas atm. I did push the timer a few more steps and it gave me a wee more height but instead it was getting more prone to corruption.
There is some cutting on the image which I don't know why except that it do gives a black border without it so don't think that is an option to tweak.
Good part doing the 2.35:1 a I described is that you get continuous shooting with the 12bit opotion.

theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 351
5D3 can already do 3072x1920 in 1x1 @24 FPS so it can do also 1920x3072 in 1x3 resized to 1920x1024 (I have tested it in 700D I can do 2306x1736 in 1x1 and also 1736x2306 in 1x3 so same thing here). Write speed will be very high 1920x3072 @24 10-bit lossless about ~120MB/s in 5D3

I think it's possible but it needs to tweak something. I got above results in new crop_rec.
700D 1.1.5 | no more ISOless LV err 8

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5717
What are your results on the 700D? 2306x1736? Far from 16:9. Are the limits the same for 1x1 and 1x3? Didn't Levas get around 100fps from 1x1 but downsized? If we havn't hit rooftop yet we should keep looking  8).

vstrglv

  • Member
  • ***
  • Posts: 177
Do you mean in the sample MLV I uploaded?

If so, I don't see any horizontal stripes.  Are you sure you turned on dual ISO under the raw correction tab on mlvapp?
Sorry, my fault.
Canon 5D3,1.1.3 CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme, 90MB/s, 64GB.

Karim

  • New to the forum
  • *
  • Posts: 9
  • ML noob
@Karim

Yes 3x3 and 1x3 is about line skipping in sensor.


Doing Dual ISO after the Binning process it will show a lot of artifacts and aliasing here will come the big benefit of 1x3 mode applying Dual ISO in full sensor height (using more pixels for dual iso) then stretching it down to the correct aspect ratio. In this way the details will be restored with less aliasing and less noise too.

In MLVApp there are no problems when using Dual ISO with

And you can speak Arabic you are from Egypt? I am from Syria nice to meet you here in the forum :D

أهلاا و سهلاا

Nice to meet you too Bilal  :D
أهلا وسهلا بيك يا بلال و مبسوط جداً من ابحاثك و تجاربك فى الكاميرا انت عبقري  8)

I was confused about 1x3 and 3x3 but I think I started to catch it right

I tried MLVapp v1.2 and it gave me stable dual iso results, not like the crappy test I made on v1.0
but still, I got minor artifacts like red and white dots it appears like for 1 frame long.

I shooted a 10-sec video and I spotted like 7 or 10 dots in total that appear and disappear instantly
I tried to mess with some setting in mlv app dots almost gone like 1 or 2 dots

It was 14bit lossless 30fps out of 6d
I used:
in details panel
Denoise window 3x3
strength: 35

export settings
prores4444
ffmpeg kostya
LMMSE
resize 1920x1080 (was 1824x1026)
smooth aliasing tried off, 1 pass , 3 pass
seems like 3 pass was softest image but no small dots also less aliasing (straight lines still looks like a zigzag)


Sorry if it's not even related to your 700d research I just wanna to share with you my experience to know if its common or im having trouble in my raw mlv workflow, I feel that I can't rely on it in serious projects yet :(

Karim

  • New to the forum
  • *
  • Posts: 9
  • ML noob
@Karim, are you sure you didn't accidentally enabled other options in MLVapp, like the option to fix 'pattern noise', right below dual-iso settings in MLVapp ?
Pattern noise option really messes up my dual iso video.
I tried to turn them on / off.. but now I got stable dual iso results on v:1.2 of MLVapp
thanks for your help dude  :D

bouncyball

  • Contributor
  • Hero Member
  • *****
  • Posts: 781
but still, I got minor artifacts like red and white dots it appears like for 1 frame long.
Try turning off the bad pixel removal. This might help.

Tyronetheterrible

  • Freshman
  • **
  • Posts: 80
I apologize for the naive question, but I was looking into the 1x3 binning module for my 6D.

Are there any advantages in terms of picture quality to using the 1x3 binning for a 16:9 aspect ratio when compared to just using the 6Ds max resolution in 16:9 (1824x1026) in 24 fps in 14 bit lossless?

It might be of note to mention that I have the VAF-6D anti-aliasing filter installed on my 6D, so I am not sure if this further diminishes any advantages to using the 1x3 binning?

theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 351
@Tyronetheterrible

The first benefit when using 1x3 Binning was to kill aliasing and moire patterns completely, so if you have a VAF filter it can do the job greatly and you don't need this mode.

But if you are using Dual ISO in video even with a VAF filter after processing you will see horrible alisaing and moire and you will lose the half quality of the image, Now with 1x3 Binning and Dual ISO the 2nd benift comes here No alisaing, moire patterns and no loss in the details at all!

Also when using 1x3 Binning it reduces the noise in the video. Read the first post for more informations.

Okay but this mode has limitations you can't use 16:9 aspect ratio in full sensor size, in 6D Max 1824x600 @ 24FPS a wide aspect ratio (maybe we can push it a few pixels, and of course you can drop the resolution in mlv_lite to get 16:9 with cropped FOV area) with write speed of ~80 MB/s in 14-bit lossless and stretched real-time preview.

Otherwise talking about the image details between 3x3 normal mode and 1x3 mode there is no difference only the aliasing and moire has been gone (you can compare it too).
700D 1.1.5 | no more ISOless LV err 8

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3721
@theBilalFakhouri -- Do you have your code saved in a Bitbucket repository? I'd like to compare what you're doing with Danne's code.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

berechiah

  • Freshman
  • **
  • Posts: 65
Sorry to be so novis but what is 3x3 and 1x3
I have a 5dmk3