MLV App 1.14 - All in one MLV Video Post Processing App [Windows, Mac and Linux]

Started by ilia3101, July 08, 2017, 10:19:19 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

ngemu

Quote from: Ilia3101 on September 07, 2018, 08:38:39 PM
Yeah MLV aAPP is just useless for colour isn\'t it


Edit: Lol sorry for the passive aggressive reply. But my point is that MLV App is perfectly capable of producing a cinematic image out of a good shot, and in my opinion this video is a better result than many people get with davinci resolve etc. It just takes effort and practice to get nice images, not the best software. The main thing for good looking images is having smooth highlights, in my opinion and MLV App can do that pretty perfectly. And you can add a lut in MLV App if you like that style of colour. And I admit MLV App is still not colour accurate, also the that video is not very detailed (it's more about colour).

An external recorder will still give you cr4p 8 bit colour depth the prores doen't help.

Would love if you could make a tutorial. This is absolutely beautiful. I've been playing around with mlvapp but cant seem to get my footage to look anywhere close.

jonkjon

Attempting to compile with latest changes for EOSM2 and getting lots of errors from QT on windows 10 pro using QT Creator 4.9.1 based on 5.12.3 and MinGW 7.3.0 64 bit....here is a brief list:

release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4c5): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4e2): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3e8e): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3e9a): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3f05): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3f11): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3f63): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3f6f): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3fba): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x3fc6): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x42fb): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4307): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x431f): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x432b): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4f4a): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4f56): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4fec): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x4ff8): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x5440): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x544c): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x5469): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x5475): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x5489): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x5495): undefined reference to `max'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x54ac): undefined reference to `min'
release/amaze_demosaic.o:amaze_demosaic.c:(.text+0x54b8): undefined reference to `max'
release/patternnoise.o:patternnoise.c:(.text+0x39f): undefined reference to `min'
release/patternnoise.o:patternnoise.c:(.text+0x3a9): undefined reference to `max'
release/patternnoise.o:patternnoise.c:(.text+0x433): undefined reference to `min'
release/patternnoise.o:patternnoise.c:(.text+0x43c): undefined reference to `max'
release/patternnoise.o:patternnoise.c:(.text+0x75a): undefined reference to `max'
release/patternnoise.o:patternnoise.c:(.text+0x1116): undefined reference to `min'
release/patternnoise.o:patternnoise.c:(.text+0x1161): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x644): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x64f): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x6bf): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x6ca): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x73a): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x745): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x7d9): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x7e4): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xa56): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xa6b): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xacd): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xad9): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xd18): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xd23): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xee6): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xef1): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xf58): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xf68): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xf86): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0xf92): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x115f): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1170): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x11cb): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x11dc): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1224): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1235): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1283): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1294): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x142b): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1437): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x145b): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x146c): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1491): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x14a2): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x14bb): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x14c7): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x168e): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x169f): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x16fa): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x170b): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1753): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1764): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x17b2): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x17c3): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x195a): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x1966): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x198b): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x199c): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x19c1): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x19d2): undefined reference to `max'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x19eb): undefined reference to `min'
release/igv_demosaic.o:igv_demosaic.c:(.text+0x19f7): undefined reference to `max'
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Release:418: release/MLVApp.exe] Error 1
mingw32-make: *** [Makefile:38: release] Error 2
mingw32-make[1]: Leaving directory 'C:/Users/jonkj/Downloads/MLV-App-master/platform/build-MLVApp-Desktop_Qt_5_13_0_MinGW_64_bit-Release'
14:46:33: The process "C:\Qt\Qt5.13.0\Tools\mingw730_64\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project MLVApp (kit: Desktop Qt 5.13.0 MinGW 64-bit)
When executing step "Make"
14:46:33: Elapsed time: 00:54.


Thanks for any help...

--Jon

masc

Ah okay... you use 64bit MinGW. I never tried that. And bouncyball cross compiled the windows 64bit version using Linux. I always compiled with 32bit MinGW version, because it was the only compiler until last Qt version, if I remember right.

In these files (the compiler tells) you'll find some defines "#ifdef/ifndef WIN32". I bet this is the problem. We should find a define for 32bit and 64bit at the same time. No idea if Q_OS_WIN would do the jub (it would in c++ part, but not sure if also in C part of the app).

Edit: puh... the problem starts already in project file MLVApp.pro ... Windows version is defined with "win32" there. I really wonder how this works with Win64 crosscompiler on Linux.
5D3.113 | EOSM.202

ilia3101

@ngemu Shoot your shots in golden hour light and the colours will look similar to that video. also don't overdo processing, I didn't do much more than saturation white balance and contrast.

@jonkjon@masc all the errors just look like min max function does not exist while being linked. You could try fixing that by adding your own min and max functions to any of the mlv app source files. It's a hack but why not try.

ALso since when does amaze use  a MIN fumtiom instead of the macro !?!??

masc

Did a quick change for the MIN MAX problem. I can compile here with MinGW64 now. Please check out and try to compile again (@jonkjon).

Edit: Qt >=5.12 has a bug, where icons in menus are wrong. And font-sizes in docks are wrong too. So... here we can't do anything. Wait until Qt fixes and live with it as is, or use an older version of Qt. In Qt 5.9.2 I did not see any GUI bugs, but there is no offical 64bit build.
Menu icon bug will be fixed in Qt 5.12.5 and 5.13.1, Qt plans 27. august 2019 and 15. august 2019. (https://bugreports.qt.io/browse/QTBUG-74655)
5D3.113 | EOSM.202

jonkjon

Quote from: masc on July 17, 2019, 12:08:30 PM
Did a quick change for the MIN MAX problem. I can compile here with MinGW64 now. Please check out and try to compile again (@jonkjon).

Edit: Qt >=5.12 has a bug, where icons in menus are wrong. And font-sizes in docks are wrong too. So... here we can't do anything. Wait until Qt fixes and live with it as is, or use an older version of Qt. In Qt 5.9.2 I did not see any GUI bugs, but there is no offical 64bit build.
Menu icon bug will be fixed in Qt 5.12.5 and 5.13.1, Qt plans 27. august 2019 and 15. august 2019. (https://bugreports.qt.io/browse/QTBUG-74655)

Thanks....compiled just now and it is working. There were some warnings but nothing that stopped the compile. Thanks again.....

--Jon

masc

Thanks for the feedback. Nice to hear it works. I also could fix the size of the dock label font now.
5D3.113 | EOSM.202

masc

MLVApp v1.8 is out now! New in v1.8:
- Added vignette shape slider
- Added chromatic abberation correction
- Added export preset list (to save your own presets)
- Added a third interpolation method for focus and bad pixels (thanks to Rewind)
- Added more support for EOS M2 (focus pixel fix and camera matrix)
- Faster WB picker
- Scopes are resizeable now
- Some bug fixes and some minor changes
https://github.com/ilia3101/MLV-App/releases/tag/QTv1.8
5D3.113 | EOSM.202


masc

Wasn't just me. Thanks also to Ilia, Bouncyball, Escho, Rewind, Danne, and many more...
5D3.113 | EOSM.202

andy kh

fastastic. the white balance picker works great and the scopes looks amazing and easier to work with now
5D Mark III - 70D

KirbyLikes525

I've stuck with 1.3 because of reasons after trying later versions but the resizable scopes has my interest!
5D Mark II
10 bit 12 bit Experimental Build

ilia3101

could you tell us why you were staying at 1.3? did something get worse or break?

Stousen

Love this app! :-*

But is there anyway to regulate what frames that should be exported?
Lets say I have som unstable frames in the beginning of a recording, would be great to trim that away to save export time:)
//Chris

masc

Quote from: Stousen on July 21, 2019, 09:31:00 PM
Love this app! :-*
But is there anyway to regulate what frames that should be exported?
Lets say I have som unstable frames in the beginning of a recording, would be great to trim that away to save export time:)
Thank you. Yes, there is a way to trim: use CutIn / CutOut (2nd box in edit panel). After doing this, only the trimmed part is exported.
5D3.113 | EOSM.202

Kharak

Quote from: ngemu on July 16, 2019, 06:19:59 PM
Would love if you could make a tutorial. This is absolutely beautiful. I've been playing around with mlvapp but cant seem to get my footage to look anywhere close.

I don't use MLV App to grade my projects, but on my travel laptop I always use MLV app to play with colours of my footage to see what I got.

I don't remember who told me this trick, think illia or masc, but this helped me get past the "stale" look.

Basically you wanna use the Exposure slider to win back your highlights, by decreasing the slider -0.5 to -1.5 and then use Light Strenght and dark strenght to expose your shots, ofcourse together with the Range Sliders, but Dark Range I always have max and after pulling exposure the footage usually does not need any increase in Dark strenght. Lighten also helps brighten your midtones, but more often than so, too much Lighten will wash out your contrast. Then play with saturation. Ofcourse the Camera Matrix tick box changed the entire "colour science" for the better aswell, so leave that on.

And always manually WB your shots.

I look forward to 1.8 :)
once you go raw you never go back

Dmytro_ua

Hi,
Is there a way to compare before and after editing? Smth like bypass editing to show the original shot?
5d3 1.2.3 | Canon 16-35 4.0L | Canon 50 1.4 | Canon 100mm 2.8 macro
Ronin-S | Feelworld F6 PLUS

masc

Quote from: Dmytro_ua on July 22, 2019, 10:42:30 AM
Hi,
Is there a way to compare before and after editing? Smth like bypass editing to show the original shot?
Hm... what is "the original shot"? The original shot is B/W and bayered. I think you don't want to see this. The settings when importing a clip are some default parameter (which we defined) but has nothing to do with "original" something. This is why there is no option for that. Anyway... if you want to see the difference between importing and final, you can use the shortcuts: Ctrl+C (activate all checkboxes), Ctrl+Alt+R for the default, and then again Ctrl+V for the final.
5D3.113 | EOSM.202

Stousen

Quote from: masc on July 21, 2019, 09:32:47 PM
Thank you. Yes, there is a way to trim: use CutIn / CutOut (2nd box in edit panel). After doing this, only the trimmed part is exported.

Ahh, the app just got even better :)! Great, thanks!

//Chris

Dmytro_ua

Quote from: masc on July 22, 2019, 10:58:44 AM
what is "the original shot"?

It's like in ACR. Sometimes you do a subtle correction and it's nice to see before/after. In Adobe Camera Raw it is a "P" key.

Quote from: masc on July 22, 2019, 10:58:44 AM
you can use the shortcuts: Ctrl+C (activate all checkboxes), Ctrl+Alt+R for the default, and then again Ctrl+V for the final.

Not a one key, but can do the trick. Thanks, will try ;)
5d3 1.2.3 | Canon 16-35 4.0L | Canon 50 1.4 | Canon 100mm 2.8 macro
Ronin-S | Feelworld F6 PLUS

histor

Is there anything of interest for reconstructing skipped lines?
Bayer Interpolation with Skip Mode
Are we stretching debayered data in the MLV App for now?

ilia3101

Well it would be nice, but that document seems to show a different kind of skipping to what canon DSLRs do

histor

Quote from: Ilia3101 on July 23, 2019, 12:54:43 AM
...but that document seems to show a different kind of skipping to what canon DSLRs do
Yes. Plus we have different skipping modes, plus the pattern changes depending of the offset (in crop modes). But the variants aren't innumerable.
The task in paper was much easier. We have shifting/alternating pattern. Weights will change, as the block needs to be non-square. The idea is that we know (well, guess) so much about the type of line skipping but it's not used in processing. Current dabayering algorithms are not intended to be used on squeezed images. And all that "pattern mess". Aren't they?
I had a fantasy about such interpolation on the pre-debayer stage. So that we might fill in the missing pixels with a "simple" shifting block algorithm (like in the paper - rough but fast) and then feed it to the common dabayering processor. We can even output interpolated DNG for use in other software.

Stousen

Hey Guys,

Has anyone tried to compare superscale in resolve with scaling in mlv app?
Anyone can get me through the basics of what the differences there might be and is it worth the extra time in workflow with scaling in resolve?

Thanks!

//Chris

DavidP

Hi guys, Ive been away a long time and have an Ursa Mini Pro as my main cam now but just ordered a trusty old 5d mk iii in the hope it will make a nice B cam! So this app looks very promising but I notice it has no inbuilt preset looks? LUTS. What are you guys using to take into resolve and match with other cameras?