Author Topic: MLV App 1.14 - All in one MLV Video Post Processing App [Windows, Mac and Linux]  (Read 1156394 times)

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1091
  • UHS-I
Hi, please note that Masc already reported an issue a few post above that's most likely the same, not related with openmp but with my faulty fix for pink stripes on higlights. I would like to find a solution that works in all cases, but still need to figure out how.

Just download the clip uploaded by masc, I can't see the same problem in masc's clip.

Here is the same frame but was processed in MLVApp 1.1:

-Artifacts:



-No Artifacts:



It happens randomly, and the issue isn't new.
Probably some of the loops with openmp causes the issue, not all of them.

To make sure that was the issue, please clone the default branch on this repository,set offset_threshold here to 0 (edit: not to 0, the oposite! INT_MAX for example) and report back. Thanks!

Okay, I will do that soon.

PS: could you please share a few frames from that video for my tests?

Sure, here is a sample, few frames from the clip which show the issue:
https://drive.google.com/file/d/13dA8CqnvAwxwxF1qeXOMLTOk4mQmFHAU/view?usp=share_link



Could you test that file with fullres blending to OFF bilal?

Yup, tested, same problem. MLV clip sample was provided too.
Waiting some new DIGIC 5 models . . .

iaburn

  • Freshman
  • **
  • Posts: 93
Thanks for the clip! I tested now and you are right, it's a different issue, I'll take a look :)

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1091
  • UHS-I
No problem, Good luck! :)

-Just a little reminder:

This version doesn't have the issue, and it probably using some openmp for some loops:
If someone with Windows have time to try, please use this version to compare with the current

It's probably some of the recent loops cause the issue, how many loops? I don't know. It could be that one loop with openmp casues the problem.
Waiting some new DIGIC 5 models . . .

iaburn

  • Freshman
  • **
  • Posts: 93
No problem, Good luck! :)

-Just a little reminder:

This version doesn't have the issue, and it probably using some openmp for some loops:
It's probably some of the recent loops cause the issue, how many loops? I don't know. It could be that one loop with openmp casues the problem.

Actually that version was the same last version that you tried, I went to my older posts and replaced it  :P  It did have the issue as well, but as you mentioned, it was only showing up sometimes.
There are a few loops that I was not sure about, and one of them was the culprit. Your test sample looks good now, I played back and forth multiple times with no issue, so I've updated the Git branch (here a compiled version for Windows just in case)

I read that whenever you have an expression over a shared variable like "var++;", you need to use "atomic", and that makes sense, but in the case below I first thought it was not needed because the address on that 2-dimension vector will be different on each loop given that y and x are different, but it's not always... With the "atomic" directive should be fine :)
Code: [Select]
#pragma omp parallel for schedule(static) default(none) shared(raw_info, image_data, y0, h, w,hist) collapse(2)
    for (int y = y0; y < h/4*4; y++)
    {
        for (int x = 0; x < w; x++){
#pragma omp atomic
            hist[(y%2)*2 + (x%2)][raw_get_pixel16(x,y) & 16383]++;
        }
    }


theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1091
  • UHS-I
Actually that version was the same last version that you tried, I went to my older posts and replaced it  :P  It did have the issue as well, but as you mentioned, it was only showing up sometimes.

It seems I downloaded it before you replaced the link :) , I downloaded it 2 days ago, didn't check if the link was changed.
The version I am referring to is the one which was compiled in 29/1/2022, was named "MLVApp_openmp_test_1_0.zip", size of 67.5 MB.

.. (here a compiled version for Windows just in case)

Seems fixed with this version, great work! 8)
Edit: Nice you have narrowed it down and fixed it :)

Will do speed tests against official MLVApp, also will look for problems (if there are any).

Thanks!
Waiting some new DIGIC 5 models . . .

iaburn

  • Freshman
  • **
  • Posts: 93
Thanks to you for testing! Let's see if more Dual ISO shooters feel like trying, I can only test with my EOS M

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1091
  • UHS-I
Yet another issue :( , it also happens randomaly:

-Good frame:


-Same frame, but bad:


-Same frame, but bad:


-MLV sample:
https://drive.google.com/file/d/17N-Fobz5pEy5jdI_XI7LnwyK8k5Koxa8/view?usp=share_link

-All three frames were processed with "MLVApp_openmp_test_1_2.zip".
-"MLVApp_openmp_test_1_0.zip" doesn't have the issue, while "MLVApp_openmp_test_1_1.zip" and "MLVApp_openmp_test_1_2.zip" have it, probably another loop needs same as the recent fix?
-Official MLVApp doesn't have the issue too.
Waiting some new DIGIC 5 models . . .

iaburn

  • Freshman
  • **
  • Posts: 93
OMG... this one was totally broken, it's funny how a video can be destroyed and others look normal :O

It was again the exact same problem, I forgot that there were 2 for loops with this pattern... and fixed another similar one. I think that was the last one.

Git updated and another build: https://mega.nz/file/8kFUTBpC#f6ziyp06ds2E3b1NIgzQlLkDGae8LBDE8duL2zf0W5U

Thanks again!

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7565
Damn, your good. Nice to see this progress. Bravo.

theBilalFakhouri

  • Developer
  • Hero Member
  • *****
  • Posts: 1091
  • UHS-I
The issue has been fixed, thanks again iaburn, nice work!
Waiting some new DIGIC 5 models . . .

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7565
Testing dualiso from iaburn. Very reliable and fast. I bet one could run three copies of Mlv App in parallell to make the M1 sweat hard here.
Workflow for non flickery files.
Pull down E"xposure" to get good highlights. Pull shadows with "Lighten". Add color etc. That´s it. Didn´t test much further.

iaburn

  • Freshman
  • **
  • Posts: 93
Happy that we have no more issues so far  :D

@masc there are reports about focus pixels fixing being not that good for dual ISO. I tried moving the focus pixels fix after the dual iso processing and it seems to work very well (better than with the current flow) with the interpolation method 3 + chroma smooth 3x3.

The only problem is that, as soon as I switch Focus pixels fix OFF, I cannot turn it ON again. I have to turn OFF Dual iso, set focus pixels on, and then turn dual iso ON again.
I tried to follow the update process but it's quite hard, I couldn't find the reason why an innocent change in the order will do that  ::)

I've created a branch in case you would have time to check: https://github.com/anibarro/MLV-App/tree/dev/diso_focus_pixels

gabriielangel

  • Member
  • ***
  • Posts: 111
Thanks for the samples, very good tests for debugging the focus pixels issue :)
I tried moving the pixel fixing stuff after the Dual ISO processing and doing the fixing ignoring that it's a Dual ISO video works very well, looks almost identical to the non-dual ISO:
single:


dual:


I just need to find out why once I switch fix focus pixels OFF, cannot turn it ON again  ??? Let's discuss this on the MLVApp thread if you don't mind, it's not related to Danne's builds

Yep. looks good.
In my last post on Danne's thread, I included Dual ISO MLV files which show a dead pixel on the Sensor clearly, if you need to verify if "Fix Dead Pixels" work as expected.

iaburn

  • Freshman
  • **
  • Posts: 93
In my last post on Danne's thread, I included Dual ISO MLV files which show a dead pixel on the Sensor clearly, if you need to verify if "Fix Dead Pixels" work as expected.

Thanks for the samples, the chart clip helped me finding a mistake I did on the white detect function... Still more testing needed  :-\

The flicker on the highlights seems to be linked to how dual ISO works. On normal video the artifacts are always on the same spots, but when dual ISO is selected, the lines alternate, very clearly seen on your doll's arm on 1080HD.

Edit: I also play a bit with the dead pixel fix and it works better ignoring that it's a dual ISO clip... but we will need a lot more videos with dead pixels for testing

Dmytro_ua

  • Member
  • ***
  • Posts: 241
  • Kyiv, Ukraine
Hi
Just downloaded MLV.App.v1.14.macOS-ARM64.dmg for my M1 Pro (Monterey 12.6.1) but after installation I cannot run it. I've got an error that the program is corrupted and it should be deleted. On the other hand MLV.App.v1.14.macOS-Intel.dmg works fine.
What's wrong?
5d3 1.2.3 | Canon 16-35 4.0L | Canon 50 1.4 | Canon 100mm 2.8 macro
Ronin-S | Feelworld F6 PLUS