Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - cedricp

#1
Congratulations, it's finally the release I dreamt for!
It's working flawlessly and it's very responsive. As said previously, the only missing thing is button customisation.
Thank you again
#2
Dunno, I deactivated some then reenabled, all is OK now.... Awesome :)
#3
 :'( Lot of undefined symbols on EOSM when loading modules....
#4
Not necessarily, cause you can get faster export if enabled though.
#5
I did a quick review. I've adapted and updated my MLVapp repo with the updates from cr2hdr command line utility. The only missing feature is noise computation. Indeed a CR2 (digital still) file seems to contain some special rows/columns of black bars to measure noise, it does not exist in a video clip because of the crop I guess.
I'll do a more accurate analysis of the a1ex code to check if all is up2date.
#6
Interestingly, cr2hdr has a different (maybe more robust) ISO matching function, trying it right now :)
Edit : That method is the best I tested ! No flickering at all and very good dynamic range staging.
#7
Quote from: ML700D on March 28, 2023, 02:39:04 AM
nice finding.. I don't understand coding
I hope ML dual iso getting better next..

btw, is it for eos M user only?
Thanks, no, it's a fix for dual iso blending, so for all cameras supporting dual ISO.

Quote from: Danne on March 28, 2023, 08:06:49 AM
Nice work.
Are these the changes? Anything else modified?
https://github.com/cedricp/MLV-App/commit/0028db617a9efb9c5a5933c487e05d8c5547674c

Possible to fix original source code in here?
https://bitbucket.org/Dannephoto/magic-lantern_jip_hop_git/src/master/modules/dual_iso/dual_iso.c
Yes changes are there, and the code in the ML firmware is OK so far. The changes are for postprocess only.
It seems that fullres reconstruction works better too.
#8
I found the ML's dual iso pdf doc on the internet that helped me to better understand the code and I finally got better results for the exposure ISO matching function. It should also be slightly faster.
For those interested the doc is here
I pushed the code on my gitub if you wanna try. It's not perfect, but it solves almost all the problematic shots.
#9
I spent some hours to try to find a better solution, but I failed :(
I removed some omp directive that caused wrong results and added more caching stuff, so that should be slightly faster to export.
The "baked" expo matching remains the best fix for that so far.
#10
I made some tweaks in the dualiso code, it fixes my filckering clips without baking and seems to not alter image (expo slope values remain very close to original code without large jumps between images). If you can try it and tell me if it's OK for you too...
#11
So is shooting with magic lantern  :)
#12
Just click "bake" on the frame (on the viewport) you wanna freeze values from. There are updates on the repo.
QuoteHow can we know in which frame the values are correct or calculated more accurately?
I think it's a visual test. The idea is to stop the flickering. It's not a great idea to do it on a flawless footage.
#13
It is, just I need to hold precomputed values outside of that file to avoid precision errors from frame to frame. That remains a hack  ;) Not a final solution.
I hope it could be possible to do better.
#14
What do you mean, globally ? for other software ?
The logic is in dualiso.c but it needs an external structure to hold exposure curve values.
#15
Glad to hear it, I pushed new commits to enable that to preview mode too.
#16
I tried that too, but if you modifiy sample_size, you also need to change the increment of x and y here
If you don't, buffers are partially zeroed and calculus is wrong, I tested it too. Note that it changed nothing to the issue.
#17
There's a quick fix here : https://github.com/cedricp/MLV-App
I added a "Bake" button in the Dual ISO group to freeze HDR exposure curve at the current frame, once clicked, it's used for the whole clip.
I hope it's a correct fix. I'll do more testing later.
#18
Found out that the problem is the same in the final dual ISO mode, values a and b in match_exposure function vary a lot, I'm figuring out how to smooth that from frame to frame.
Edit: Got a fix that "bakes" correction values for a clip in mlvapp. I will make a patch if you're interested.
#19
Ok, I did some more test, MLVFS has the same problem and indeed it does not seem to be related to Danne's code (input looks OK).
I tried to disable fullres_blending, but it does not fix the problem.
I also tried to use constant values instead of using match_exposure function (I had an intuition about it too), but it still not improve things.
Edit: Using the dual ISO preview mode shows the same problem and has a total different algorithm.
I keep searching on my side.
Thank you

Edit 2: I played with dual ISO preview mode function, if I give constant value to a and b (line ~200) values, it's OK
#20
Here's what I can see :


the red/blue channels seem crushed, I raised exposure to get a more clear difference.
#21
I found a more obvious example : https://drive.google.com/file/d/1Riq3LxV1JCRnFSFObnEmzpVMZcmfZm_k/view?usp=share_link
switch between frame 5 and 6, it should be visible. I use iaburns version too, but the issue is the same (Linux).

Edit: I used 1080p mode no fps overrides, I had to problem with 5K footage too.
Edit2: it's even more visible with Dual ISO preview mode.
Best regards
#22
I've done some dual iso test footages last weekend, and I noticed some frames are slightly flickering, link to a trunkated MLV : https://drive.google.com/file/d/1aQcLp2_wlmjrBse15pRtoWiISgTF8l-z/view?usp=share_link

You can see the difference on frame 26, it's not obvious, but strange when played back.
Edit: it's easier to check the histogram to find frames.

I read that a varying black level could lead to that behaviour, so I enabled logs in dual_iso.c and got this :
Edit: Checked black/white levels, all is OK

frame x :

ISO pattern     : dBBd RGGB
White levels    : 11795 16383
Noise levels    : 8.00 8.00 8.00 8.00 (14-bit)
ISO difference  : 3.18 EV (905)
Black delta     : 23.36
Dynamic range   : 10.25 (+) 10.81 => 13.99 EV (in theory)
Edge-directed interpolation...
Semi-overexposed: 4.45%
Deep shadows    : 12.12%
Full-res reconstruction...
ISO overlap     : 4.1 EV (approx)
Half-res blending...
Building alias map...
Filtering alias map...
Smoothing alias map...
Final blending...
Noise level     : 8.00 (20-bit), ideally 8.00
Dynamic range   : 16.25 EV (cooked)

frame x+1:

ISO pattern     : dBBd RGGB
White levels    : 11730 16383
Noise levels    : 8.00 8.00 8.00 8.00 (14-bit)
ISO difference  : 3.11 EV (865)
Black delta     : 11.70
Dynamic range   : 10.24 (+) 10.81 => 13.92 EV (in theory)
Edge-directed interpolation...
Semi-overexposed: 4.47%
Deep shadows    : 9.68%
Full-res reconstruction...
ISO overlap     : 4.1 EV (approx)
Half-res blending...
Building alias map...
Filtering alias map...
Smoothing alias map...
Final blending...
Noise level     : 8.00 (20-bit), ideally 8.00
Dynamic range   : 16.24 EV (cooked)

It seems that calculated values are slightly different from frame to frame..
#23
Hi there,
Is there anybody here who found a way to use focus peaking with dual iso active when recording ? I use fast lenses (1.4, 1.2) and it's really hard to focus correctly without it. I love that dual iso thing, and I understand there are limitations, just wondering if something could solve it.
Cheers
#24
Is there a repository for the source code ? I've searched everywhere, but found nothing. Could someone upload it (even as an archive) ?
I've just bought a 5D2 for a very good price (80$), and I'd like to do some tweaks in the code from that version.
I could do a repo for it if needed.
#25
Is it possible to get a less cropped real-time liveview in 5.2K, or is it a limitation ?