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 2 Guests are viewing this topic.

ML700D

Quote from: iaburn on January 11, 2023, 12:07:46 PM
Hello, I always notice that the Fix focus dots function with Dual ISO and 5K anamorphic clips is adding colored dots on places where there are no focus dots.
I understand the challenges of fixing focus dots on Dual ISO, but why would it affect parts of the image where no focus dots are present if it's using focus dots maps?

A couple of screenshoots attached to show what I mean. Thanks!


try using chroma smooth 3x3 in mlvapp usually solve the problem
EOS 700D

iaburn

Quote from: ML700D on January 11, 2023, 01:42:16 PM
try using chroma smooth 3x3 in mlvapp usually solve the problem
Thanks, it helps, l usually have to go all the way to 5x5, but still some color artifacts remain, specially the green dots.

I brought this topic because, not knowing how the fix works, it looks like it could be a bug that can be fixed

Danne


iaburn

Quote from: Danne on January 11, 2023, 02:20:24 PM
Dualiso is known for problems surrounding focus pixels

I've been dealing with it for a while haha

On another topic, while searching for documentation, I found a thesis about a method to process dual ISO images that divides the dual ISO image on 2 halves, applies a deinterlace algorithm on both and then does a merge like if they where 2 frames from an HDR clip.
Is that the method used on MLV App? It seems possible to divide on multiple parallel tasks if that's the case.

Here the document (chapter 6 on page 101) : https://www.tdx.cat/handle/10803/664378?locale-attribute=en#page=1

masc

Quote from: iaburn on January 10, 2023, 11:47:04 PM
... I initially replaced the offending "return 1" by "return NULL" to get rid of the error, but now I properly replaced it by "((char*)(intptr_t)(1))" and the AVFoundation export worked again, together with the speed increase (16fps again).
So it looks like the compiler is the key for the performance gain in my case.
Okaaaay. Where can I find this line? Is it in raw_processing.c?

I could fix the export preset feature for Qt6.4 version. For the broken theme - very strange - the app background reacts now on macOS dark/light theme, but not on the implemented background color. I don't find a Qt function to stop that.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 11, 2023, 09:35:48 PM
Okaaaay. Where can I find this line? Is it in raw_processing.c?
Yes, I got a "Incompatible integer to pointer conversion returning 'int' from a function with result type 'char *'" on the "return 1"

Quote from: masc on January 11, 2023, 09:35:48 PM
I could fix the export preset feature for Qt6.4 version. For the broken theme - very strange - the app background reacts now on macOS dark/light theme, but not on the implemented background color. I don't find a Qt function to stop that.
I never used that option, I can just choose between the normal and the modern dark themes, and looked very similar

masc

Thanks for the hint. I'll change that also on the main repo!

This looks very wrong to me (macOS dark looks fine while this is in macOS light theme)
5D3.113 | EOSM.202

ML700D

Quote from: iaburn on January 11, 2023, 02:16:50 PM
Thanks, it helps, l usually have to go all the way to 5x5, but still some color artifacts remain, specially the green dots.

I brought this topic because, not knowing how the fix works, it looks like it could be a bug that can be fixed

for the rest I use ca desaturated so far
EOS 700D

masc

Theme bug is fixed now. So now, all is working with Qt6.4, or do we have more bugs? Focus Pixel Fix works with my self-compiled version.

@iaburn: so now you could (if you like) work on algorithm speedup. There is also potential in lossless decompression - this works single threaded, same as dualIso. Processing uncompressed MLVs is by far faster.
5D3.113 | EOSM.202

ML700D

Quote from: masc on January 12, 2023, 06:13:24 PM
Theme bug is fixed now. So now, all is working with Qt6.4, or do we have more bugs? Focus Pixel Fix works with my self-compiled version.


is this time to update MLVapp, masc?  :D

thanks.
EOS 700D

iaburn

Quote from: masc on January 12, 2023, 06:13:24 PM
Theme bug is fixed now. So now, all is working with Qt6.4, or do we have more bugs? Focus Pixel Fix works with my self-compiled version.
Awesome!

Quote from: masc on January 12, 2023, 06:13:24 PM
@iaburn: so now you could (if you like) work on algorithm speedup. There is also potential in lossless decompression - this works single threaded, same as dualIso. Processing uncompressed MLVs is by far faster.
Thanks, I put on the list, that would help to speed up all clips, also dual ISO  :)
I thought about trying to fix first the pink lines with dual ISO on overexposed areas, as this is something that I come across very often and it's very hard and time consuming to fix in post.
Then, if no one tried already, I wanted to see if I can implement the Dual ISO processing mentioned on the document I posted before and see how good it looks and how fast it is.
And then finally work on speed up Dual ISO processing, I have tasks for years hahaha

masc

Quote from: ML700D on January 12, 2023, 06:27:44 PM
is this time to update MLVapp, masc?  :D
Not yet. Next I'll test if I can use llvm15 on my machine for speedup @iaburn reported. I hope to not crash my toolchain, which was setup manually.

@iaburn: sounds awesome. Let us know if you need help or information!
5D3.113 | EOSM.202

iaburn


Quote from: masc on January 12, 2023, 07:40:31 PM
Not yet. Next I'll test if I can use llvm15 on my machine for speedup @iaburn reported. I hope to not crash my toolchain, which was setup manually.

@iaburn: sounds awesome. Let us know if you need help or information!

I tried to compile the latest code in Windows and first it complained about c++ version, saying that v17 was mandatory:
  - QMAKE_CXXFLAGS += -fopenmp -std=c++11 -ftree-vectorize
  + QMAKE_CXXFLAGS += -fopenmp -std=c++17 -ftree-vectorize


and then it couldn't find a definition for "uint8_t", fixed by adding
#include "stdint.h"

The biggest problem so far is that there is no audio while playing the MLVs.
From what I've read, both Windows x64 and MacOS Arm64 are little endian, so that part should be ok.
QAudioFormat supports PCM audio formats only in Qt 6 multimedia, so it should work in Windows if it works in MacOS.
The new setSampleFormat already assumes signed ints, so no need for "setSampleType" replacement.

There has to be something breaking it, but no idea u_u Anyone that compiled the app in Windows with Qt 6.4 can confirm that sounds is missing?

masc

Yay. Got the compiler speedup! Can now reproduce @iaburns framerate increase, even with Qt5.15... 1856x1044 from 5D2 with 52fps playback on MacBookAir M1 (@43% CPU usage), disabling matrix and creative adjustments >60fps. Thank you @iaburn! It seems, c++15 makes the difference.



If I find the time, I can test Qt6.4 on Windows tomorrow.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 12, 2023, 08:33:35 PM
Yay. Got the compiler speedup! Can now reproduce @iaburns framerate increase, even with Qt5.15... 1856x1044 from 5D2 with 52fps playback on MacBookAir M1 (@43% CPU usage), disabling matrix and creative adjustments >60fps. Thank you @iaburn! It seems, c++15 makes the difference.



If I find the time, I can test Qt6.4 on Windows tomorrow.

Thank God, I started to think that I was crazy :o haha Thankss

theBilalFakhouri

Nice speed up! Thanks iaburn for this finding!

How can I test this on Windows? Do we have a compiled version already?

masc

Quote from: theBilalFakhouri on January 12, 2023, 09:55:29 PM
Nice speed up! Thanks iaburn for this finding!

How can I test this on Windows? Do we have a compiled version already?
Unfortunately I don't think anything changed for Windows version. This was a macOS compiler only change.

Edit: Qt6.4.2 on Windows: no sound. And no speedup compared to official versions. Even if I do the same compiler trick we did on macOS.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 12, 2023, 10:05:53 PM
Edit: Qt6.4.2 on Windows: no sound. And no speedup compared to official versions. Even if I do the same compiler trick we did on macOS.

I compiled the app using the Qt 6.5 beta and surprisingly the audio is working, so it probably doesn't worth trying to debug audio in 6.4  ::)

vastunghia

5D3 for video
70D for photo

masc

Quote from: vastunghia on January 13, 2023, 06:14:33 PM
And Silicon only? Or Intel too?
My test was on Apple Silicon. I updated Intel compiler instructions too (not yet commited to repo), but I did not compare the speed here.

More tests on Apple Silicon M1, with the 3K testclip from @iaburn:
Export with my FastProxy receipt, ProRes422 AVFoundation: 8sec
Export to DNG lossless: 14sec
:P

https://github.com/ilia3101/MLV-App/blob/master/receipts/FastProxy.marxml

Edit: Intel macOS compiler flags updated on repo
5D3.113 | EOSM.202

vastunghia

5D3 for video
70D for photo

ML700D

hi masc..
is it possible to implement this Video Restoration Transformer in mlvapp?
I search google that pytorch can work with c++

https://pytorch.org/
EOS 700D

masc

@ML700D:
That looks very interesting. Python in principle is compatible with C++ and Qt. But installation is a nightmare - for all users then. Just downloading the app and start processing will be impossible. And it looks as this is realized on CUDA. This means, MLVApp won't exist for most Apple machines and I can't help with it - I don't have any CUDA GPU. If something like this exists in C/C++, it would be awesome and we could add it for all users with all comfort.
5D3.113 | EOSM.202

ML700D

i see..
in their site pytorch.org I saw that you don't need cuda if you use libtorch for c++
but I don't know technically if it is applicable or not.

btw, I found this cuda for macOS maybe it's usefull.

ah sorry you don't have cuda GPU.. 😅
EOS 700D

vastunghia

I think NVIDIA is not (officially) supported by Mac, even as an eGPU.
5D3 for video
70D for photo