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

vastunghia

Quote from: iaburn on January 09, 2023, 07:41:49 PM
Could you please download this MLV and post your FPS while playing? https://we.tl/t-Zsfm6jvHNU

@iaburn, the link expired, could you possibly share another one pls? Just built latest commit of MLV App successfully with Qt 6.4.2, eager to give it a try.

Ps: must admit I got lost in this thread, are performance improvements expected only with Dual ISO? Only on Silicon Macs? Are they due to code optimization? Or just different compilers / newer Qt version? Is llvm the key? I brewed it on my Mac, but how do I make sure that it is actually used by Qt during build process? Many questions, much confusion :o But first things first: let's test this and see if I see some performance improvement at all ;D
5D3 for video
70D for photo

Danne

Nice
What's the size of your compiled version? Could you test this version?
https://bitbucket.org/Dannephoto/mlv_app_compiler-git/downloads/MLV_App_arm64.zip

If possible run an eos m mlv and see if it downloads pixel map files correctly.

vastunghia

Quote from: Danne on January 19, 2023, 10:54:01 PM
What's the size of your compiled version?
If possible run an eos m mlv and see if it downloads pixel map files correctly.

172,499,896 bytes after running macdeployqt. Sorry I don't own an M :(
5D3 for video
70D for photo


masc

Quote from: vastunghia on January 19, 2023, 10:34:45 PM
Ps: must admit I got lost in this thread, are performance improvements expected only with Dual ISO? Only on Silicon Macs? Are they due to code optimization? Or just different compilers / newer Qt version? Is llvm the key? I brewed it on my Mac, but how do I make sure that it is actually used by Qt during build process? Many questions, much confusion :o But first things first: let's test this and see if I see some performance improvement at all ;D
The newer compiler and the c++15 flag seems to bring more speed for all operations. I don't know if you used QtCreator: here you select in Kit-Settings what compiler and Qt version to use. On cmd line: when running qmake, you'll have to run it from a Qt binary path. The one you select defines the Qt version to use. But then, I don't know what compiler you selected...
5D3.113 | EOSM.202

vastunghia

Thanks for taking the time to explain.

Ok, so clearly I must be doing something wrong. Here is an uncompressed cDNG export test starting from a 3.5K 1:1 lossless 14-bit Dual Iso clip (MLV data rate @148 MB/s):

  • Official 1.14 release: 1.92 s / frame
  • My build: 2.33 s / frame
Similarly for a standard (non-Dual Iso) clip (same scene as above, MLV data rate @129 MB/s):

  • Official 1.14 release: 9.9 fps
  • My build: 8.7 fps
Going in the wrong direction :D

Please find below my current kit settings in Qt Creator (I haven't touched them yet). Clearly, I must change something.

Could you advise? Where am I supposed to choose llvm from? Btw I think I didn't touch my PATH after brewing llvm, could this be an issue?

Thanks a lot

Sergio



5D3 for video
70D for photo

masc

Do you use the standard Apple compiler? This one offers no openMP (Open Multiprocessing). So many algorithms run single threaded. That is okay for debugging but slower than official version. Install llvm via brew, add the new compiler in "Compilers" in your screenshot frame, and then select in Kits the llvm compiler.
brew install llvm

5D3.113 | EOSM.202

iaburn

Hi, just wanted to mention that the dimensions of the video on the screen while playing a video have a massive impact on playback speed.
I didn't noticed because I always have the window maximized and I'm used to have the same performance while playing videos regardless of the window size.
Is it so optimized that it actually process less pixels when the screen is smaller, or is the opposite and final scaling is not optimized?  ::)

Danne

Cannot reproduce the window size issue. Same speed whatever I change it too, hmm. Testfile maybe?

theBilalFakhouri

No idea if this related:
on Windows, playing 1280x2160 1x3 14-bit lossless 23.976 FPS MLV clip using MLVApp 1.14:

"Zoom: fit"       gives 15-16 FPS
"Zoom: 100%" gives   9-10 FPS

Tested 2560x1440 1:1 and 1736x976 3x3 clips, the problem isn't showing there.

masc

Quote from: iaburn on January 20, 2023, 04:11:41 PM
Hi, just wanted to mention that the dimensions of the video on the screen while playing a video have a massive impact on playback speed.
I didn't noticed because I always have the window maximized and I'm used to have the same performance while playing videos regardless of the window size.
Is it so optimized that it actually process less pixels when the screen is smaller, or is the opposite and final scaling is not optimized?  ::)
This is because of the Qt framework: the used pixels of the video on the screen matter how fast Qt shows the images. We always render the full picture. I wouldn't call it "optimized". So maximized (and maybe with hidden Edit, Session and Audio area (press E, S, A)) it is way slower than in a "small video box".
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 20, 2023, 07:12:13 PM
This is because of the Qt framework: the used pixels of the video on the screen matter how fast Qt shows the images. We always render the full picture. I wouldn't call it "optimized". So maximized (and maybe with hidden Edit, Session and Audio area (press E, S, A)) it is way slower than in a "small video box".

I see... still is not normal that a modern computer, a Macbook pro M1 en particular, is not able to keep the framerate when the window is bigger.

Quote from: Danne on January 20, 2023, 04:56:47 PM
Cannot reproduce the window size issue. Same speed whatever I change it too, hmm. Testfile maybe?

This is a screencast using the "official" 1.14 release showing what I described:
https://mega.nz/file/9llCXRDb#kBG3NLt32C4miBKe8j60VqwwGR2t5MgG6D1j0wH17bg

I used one of this videos from youtube channel Zeek:
https://drive.google.com/drive/folders/1QG9zBzzaMffm25z7MSlxK7HruzF9rzfF
video: https://www.youtube.com/watch?v=chtpBWMX1MY

Something has to be wrong with my machine. I get now much slower playback speed than before, but no idea what could it be  ???

masc

Quote from: iaburn on January 20, 2023, 07:22:25 PM
Something has to be wrong with my machine. I get now much slower playback speed than before, but no idea what could it be  ???
Do you compile with llvm compiler now? And also: did you uncomment  these lines in .pro file?
#Qt5 on Apple Silicon with openMP: install llvm via brew, build Qt5 from source
    {
        QMAKE_CC = /opt/homebrew/opt/llvm/bin/clang
        QMAKE_CXX = /opt/homebrew/opt/llvm/bin/clang++
        QMAKE_LINK = /opt/homebrew/opt/llvm/bin/clang++
        QMAKE_CFLAGS += -fopenmp -ftree-vectorize
        QMAKE_CXXFLAGS += -fopenmp -std=c++15 -ftree-vectorize
        INCLUDEPATH += -I/opt/homebrew/opt/llvm/include
        LIBS += -L/opt/homebrew/opt/llvm/lib -lomp -L/opt/homebrew/opt/openssl/lib -lssl
        QMAKE_APPLE_DEVICE_ARCHS = arm64
    }
5D3.113 | EOSM.202

iaburn

Quote from: masc on January 20, 2023, 07:44:51 PM
Do you compile with llvm compiler now? And also: did you uncomment  these lines in .pro file?

I'm testing with the release on github (https://github.com/ilia3101/MLV-App/releases/download/QTv1.14/MLV.App.v1.14.macOS-ARM64.dmg), I guess it's something on my laptop...

Danne

Interesting I get slow playback with the official MLV.App.v1.14.macOS-ARM64.dmg release. With my own compiled build I get 25fps 100% realtime. Not sure the official build is optimized with llvm@15.
I suspect Ventura OS and the old QT5.15 round trip isn´t working optimal now.

The build I sent you iaburn, is it also choppy/slow?
Are you testing your own compiled build?


If all dependecies are on your station you can run this in terminal. Well after translating to your own paths of course:
/Users/daniel/qt-everywhere-src-6.4.2/qtbase/bin/qmake ~/MLV-App-master/platform/qt/MLVApp.pro \
QMAKE_CC=/opt/homebrew/opt/llvm@15/bin/clang \
QMAKE_CXX=/opt/homebrew/opt/llvm@15/bin/clang++ \
QMAKE_LINK=/opt/homebrew/opt/llvm@15/bin/clang++ \
QMAKE_CFLAGS+=-fopenmp \
QMAKE_CFLAGS+=-ftree-vectorize \
QMAKE_CXXFLAGS+=-fopenmp \
QMAKE_CXXFLAGS+=-std=c++15 \
QMAKE_CXXFLAGS+=-ftree-vectorize \
INCLUDEPATH+=-I/opt/homebrew/opt/llvm@15/include \
LIBS+=-L/opt/homebrew/opt/llvm@15/lib LIBS+=-lomp \
QMAKE_APPLE_DEVICE_ARCHS=arm64
sleep 2
/usr/bin/make -j 15 && /Users/daniel/qt-everywhere-src-6.4.2/qtbase/bin/macdeployqt ~/MLV-App-master/platform/Mlv_app_master/MLV\ App.app && \
make clean
sudo codesign --force --deep --sign - ~/MLV-App-master/platform/Mlv_app_master/MLV\ App.app/Contents/MacOS/MLV\ App


masc

Quote from: Danne on January 20, 2023, 08:03:27 PM
Interesting I get slow playback with the official MLV.App.v1.14.macOS-ARM64.dmg release. With my own compiled build I get 25fps 100% realtime. Not sure the official build is optimized with llvm@15.
I suspect Ventura OS and the old QT5.15 round trip isn´t working optimal now.

The build I sent you iaburn, is it also choppy/slow?
Are you testing your own compiled build?
The official MLV.App.v1.14.macOS-ARM64.dmg release was compiled with llvm@11. But 25fps is no problem. Latest revision compiled with llvm@15 is maybe up to 10% faster in playback.
5D3.113 | EOSM.202

Danne

Strange I get around 10fps with that build on Ventura OS and 25fps wirh my local built version.
Edit: unfortunatdly I didn't test the official version on mac OS Monterey when I had that installed.

masc

Do you have a special test clip I could test? And which receipt - default?
5D3.113 | EOSM.202

Danne


Danne

Check difference:
Local build:
https://youtu.be/49JL3Tty7GA
Official build:
https://youtu.be/nRztPdJUeOw

Official build also very unresponsive and hangs when opening a lot. Ventura that is.

masc

I get 25fps with both, local latest revision and official build. On BigSur MBA2020 M1.
With fps-override to 60fps, I get 30fps with local latest revision, and 27fps with official build. The 10% more now...
5D3.113 | EOSM.202

Danne

Could you upload a version with llvm@15 for comparison? Definitely something fishy going on.


Danne

That version confirmed working effectiviely. I had to replace signature before getting it to be opened but after this it works:
sudo codesign --force --deep --sign - ~/MLV-App-master/platform/Mlv_app_master/MLV\ App.app/Contents/MacOS/MLV\ App

masc

5D3.113 | EOSM.202