MLV App - All in one MLV Raw Video 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.

Danne

Really cool of this gets fixed iaburn. My roundtrip right now for apple silicon compiling includes way too much hacking. Updates most welcome.

iaburn

Hi,

I've updated a fork of the repository here: https://github.com/anibarro/MLV-App-Test

For now I was just quickly changing a few things to get it compiled, so it's just for you guys to see that it's almost the same code and it works a bit faster with the updated tools, but don't trust the code because it's the first time I see "Qt" and I just got the Macbook Pro this Christmas :D

About the video export issue, I updated to the latest ffmpeg for Apple silicon and realised that the problem is just happening with "Apple AVFoundation", all the other ffmepg configs work fine.

Edit: Just noticed that the compiled MLV App is much smaller than the one available and it doesn't include the plugins folder, I guess it's loading them from the Qt installation

Danne


masc

Quote from: iaburn on January 08, 2023, 06:08:08 PM
I've updated a fork of the repository here: https://github.com/anibarro/MLV-App-Test
Thanks! I'll have a look soon!

Quote from: iaburn on January 08, 2023, 06:08:08 PM
About the video export issue, I updated to the latest ffmpeg for Apple silicon and realised that the problem is just happening with "Apple AVFoundation", all the other ffmepg configs work fine.
AV Foundation is not ffmpeg. It is original Apple encoder. Maybe you need to install the pro video codecs package from Apple.

Quote from: iaburn on January 08, 2023, 06:08:08 PM
Edit: Just noticed that the compiled MLV App is much smaller than the one available and it doesn't include the plugins folder, I guess it's loading them from the Qt installation
Finally you need to run macdeployqt. Then the libs, plugins and frameworks are included.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 08, 2023, 07:10:00 PM
Thanks! I'll have a look soon!
AV Foundation is not ffmpeg. It is original Apple encoder. Maybe you need to install the pro video codecs package from Apple.
Finally you need to run macdeployqt. Then the libs, plugins and frameworks are included.

Thanks for the macdeployqt tip :) It crashed at first but I saw somewhere that apps must be signed for M1 and it worked after signing it.
The AV Foundation export still fails for some reason.

I did a quick export test with a video including some effects and a LUT. Export to prores 422 with ffmpeg took 2:40 vs 3:00 on the current build

Danne



Danne


Danne

Could we test a version working with MacOs Monterey? Allow for 12.0 versions too? Right now it´s 13 only. Sorry for not testing to compile myself but want to try backwards compatibilty.

iaburn

I've updated the compiled app with version 11 compatibility, but not sure if it will work.
I changed to version 13 only because I was getting these warnings:

ld: warning: dylib (/opt/homebrew/opt/llvm/lib/libomp.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/opt/llvm/lib/libunwind.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/opt/llvm/lib/libunwind.dylib) was built for newer macOS version (13.0) than being linked (11.0)

Danne

Cool. Works for Monterey 12.2.1. Fast tested opening a MLV from my eos m.
Exporting with AV Foundation works over here.
More testing needed but good work I say.

masc

@iaburn:
Thank you for this great work, and for trying again. Now there is QtMultimedia again. This did not exist when I tried it last time. So now there is audio playback. Yay. Here my findings as far:
- Your compiled version runs on macOS 11.7.1 on M1
- It processes with identical speed as the latest revision with Qt 5.15.2, playback speed is also identical.
- Sound playback is working
- AVFoundation is working, at least without sound. When attaching the sound via ffmpeg onto the Apple encoded video, the app hangs. That is what you described. Without sound the video is fine.
- Darkthemes are broken. No idea why. I tried updating to the latest theme revision - same problem. The theme test application works fine. More work needed.
- Export settings preset saving is broken
- I was able to compile on IntelMac with BigSur

--> not bad for that try!!!  8)

Now another thing came into my mind: compatibility. For latest OS - Windows 11 and macOS13 - it would be awesome to use Qt libraries which are officially supported. There are some problems with both. On the other side Qt5 works from macOS 10.9.5 and from Win7 up to latest OSes, while Qt6.4 works from macOS 10.14 and Win10. Many users could not use MLVApp if we just offer a Qt6.4 version, including myself: all my Macs appart from my M1 Macbook could not run MLVApp. I'd like to make a suggestion: what about making the app beeing able to be compiled with both Qt versions? I started adding your code into our old code with some precompiler instructions. I already get it compiled with both Qts.

5D3.113 | EOSM.202

iaburn

Quote from: masc on January 09, 2023, 06:34:44 PM
- It processes with identical speed as the latest revision with Qt 5.15.2, playback speed is also identical.

Could you please download this MLV and post your FPS while playing? https://we.tl/t-Zsfm6jvHNU
I get 14fps with the old build and 16fps with Qt 6.4 on a M1 Pro 10c CPU/16c GPU

I'm happy that I decide to try the new Qt version and that motivates you guys to update :)

masc

Downloaded your file and tested on my MacBookAir M1 8c CPU/ 8c GPU / 16GB RAM, BigSur 11.7.1, MLVApp default settings:

Latest commit on 5.15.2: 13fps
Your version: 14fps

Funny. With my testclips I got identical speed.

But another finding:
-focus pixel map installation fails.
5D3.113 | EOSM.202

Danne

Focus map install worked when I put Mlv App on desktop. Maybe a path issue also in other builds? Didn't check

iaburn

Quote from: masc on January 09, 2023, 10:42:15 PM
Funny. With my testclips I got identical speed.

But another finding:
-focus pixel map installation fails.

I noticed the biggest difference with 5K frtp recordings, like 16fps vs 20fps.

Quote from: Danne on January 09, 2023, 10:49:59 PM
Focus map install worked when I put Mlv App on desktop. Maybe a path issue also in other builds? Didn't check

Focus pixel maps downloading works for me also

Danne

I am compiling for M1 but with older quicktime. Testing against you build iaburn and getting identical speed on your test clip and 5kfrtp. 16fps and 25fps previewing speed on both arm64 compilations. I guess you are comparing non arm64 vs arm64 versions?

iaburn

Quote from: Danne on January 10, 2023, 07:54:16 AM
I am compiling for M1 but with older quicktime. Testing against you build iaburn and getting identical speed on your test clip and 5kfrtp. 16fps and 25fps previewing speed on both arm64 compilations. I guess you are comparing non arm64 vs arm64 versions?

I downloaded again the app just in case (https://github.com/ilia3101/MLV-App/releases/download/QTv1.14/MLV.App.v1.14.macOS-ARM64.dmg), tried with different videos and I get consistently faster play speed on the newer build.

For instance this clip: https://we.tl/t-jHdkVfhYzL quickly fluctuates between 22 and 23fps on the new build and on the current one it plays between 18 and 19.

Not sure what could be the reason, but I mentioned a warning before about the openMP runtime library that seems to be dynamically linked and was compiled on my system for macosx 13, so I guess it's different than yours.
The newer version might be more optimized because the new build is playing faster while using less CPU resources on my system ( MacOS Ventura 13.1, M1 Pro 10c CPU/16c GPU, 32GB)  ::)

Danne

Could you try my version?
https://bitbucket.org/Dannephoto/mlv_app_compiler-git/downloads/MLV_App.zip

MacOS monterey 12.2.1

  Model Identifier:   MacBookPro18,3
  Chip:   Apple M1 Pro
  Total Number of Cores:   10 (8 performance and 2 efficiency)
  Memory:   16 GB



iaburn

Quote from: Danne on January 10, 2023, 08:50:18 AM
Could you try my version?
https://bitbucket.org/Dannephoto/mlv_app_compiler-git/downloads/MLV_App.zip

With yours I get the same speed as with the "old" build, slower than the one I compiled.
Inspecting the package content I noticed that my package includes different plugins than yours and the official app build, that could be a reason also...

masc

Could you please try to compile latest revision on MLVApp repos? If you like: test both, Qt5.15.2 AND Qt6.4. Is that working for you too? And is this still faster than the official build? I compile with llvm11. You compiled on llvm15? Maybe this one is more optimized.

If the difference is in anamorphic footage: this one uses AVIR scaling in MLVApp viewer. That is no Qt code. It is standard C++ code, even without openMP.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 10, 2023, 05:01:42 PM
Could you please try to compile latest revision on MLVApp repos? If you like: test both, Qt5.15.2 AND Qt6.4. Is that working for you too? And is this still faster than the official build? I compile with llvm11. You compiled on llvm15? Maybe this one is more optimized.

If the difference is in anamorphic footage: this one uses AVIR scaling in MLVApp viewer. That is no Qt code. It is standard C++ code, even without openMP.

I tried with Qt6.4 because for some reason the instructions to compile with Qt5 where not working for me...

I compiled with llvm15, yes. If you guys are compiling with an older version, that is most likely the reason.

I think the difference is more obvious on 5k anamorphic because it's close to 20fps, so same % increase translates into more fps gain.
Some modes play at very low fps so fps gain is also small, and some others like 1080 are already playing at full speed.

masc

So the latest additions on main MLVApp repository compile fine for you on Qt6.4? I added your changes combined with some precompiler #if instructions for supporting both, Qt5.6+ and Qt6.4+.
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 10, 2023, 06:44:37 PM
So the latest additions on main MLVApp repository compile fine for you on Qt6.4? I added your changes combined with some precompiler #if instructions for supporting both, Qt5.6+ and Qt6.4+.

I tried your updated code stright away and it worked, but it was slower (13fps vs 16fps that I was getting on my test clip), but the AVFoundation export is working.
Then I tried to use my updated llvm compiler tools, version 15 I think, and got a pointer conversion error, which made me think that this code was breaking the export, and it was... 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.

iaburn

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!