Closed newadventure079 closed 10 months ago
That would be pretty great, I've been wanting to do this as soon as M1 came out. QT is now working with arm, but only on Mac, not windows. As this app is cross platform, I need 1 work machine to be able to build for both windows and macOS. So for now, I'll wait on qt.
I found a way to build as universal app for apple arm and intel machines. This involved building ffmpeg and opencv as universal libraries as well. OpenCV is simple, as it is build with CMake which directly supports a parameter building as universal. ffmep however involves building separately for each architecture (it can still both be done on M1 simply cross building for x86), then using apple command line tools to merge both libraries into a universal library. This is keeping ffmpeg at the same minor version (from 4.4.0 to 4.4.4) but updating opencv to 4.8.0 from 4.5.1.
Now I need to test if it still works as expected, and performance.
Testing performance (M1 MacBook Air 8gb ram, external SSD; 2018 i5 quad core MB Pro 16gb ram, external SSD): Careful, file discovery might need to be redone after intensive long load, it seems initial run is being a lot faster than it throttles. Starting with universal, I tried to first run it once, then immediately after run it a second time so it doesn't cool down.
File discovery
Video processing
Overall time to 1st pair (270GB folder of 12 505 videos)
Intact videos
Found duplicates
Recap | Machine | File discovery | Video processing | Overall time to 1st pair | Intact videos | Found duplicates. |
---|---|---|---|---|---|---|
Intel on M1 (no cache) | 40/s | 14/s | 16min 15s | 12 328 | 6 557 at 97.1 GB | |
Intel on M1 (with cache) | 36/s | 179/s | 5min 5s | 12 330 | 6 542 at 96.9 GB | |
Universal on M1 (no cache) | 46/s | 28/s | 11min 35s | 12 330 | 6 568 at 97.2 GB | |
Universal on M1 (with cache) | 45/s | 196/s | 3min 25s | 12 330 | 6 555 at 97.1 GB | |
Universal on Intel (no cache) | 14/s | 11/s | 26min 36s | |||
Universal on Intel (with cache) | 14/s | 113/s | 10min 12s | 12 330 | 6 545 at 96.9GB | |
Intel on Intel (no cache) | 14/s | 9/s | 24min 33s | 12 328 | 6 558 at 97.1 GB | |
Intel on Intel (with cache) | 13/s | 103/s | 10min 31s | 12 330 | 6 543 at 96.9 GB |
So overall, the new performance is good :
Any ETA for completion ?
Hi, happy new year ! Sorry for the looong delay. I've just submitted to the apple App Store the new universal binary app build natively now also for arm (M1/M2/M3) with version 1.10.0 that I just !!! It should be out in a few days once apple approves it. I hope you like it and it helps you out :) It's about 30% faster than the rosetta translated version build only for intel x86.
Right now, the app is x86_64.
Code Type: X86-64 (Translated)
Adding compiling and building steps to create an arm64 build that runs natively on apple silicon macs would be great.