g++ -O3 -march=core-avx2 -fexpensive-optimizations -fomit-frame-pointer -std=c++11 -c src/CPU.cpp src/DCT.cpp src/DCTFFTW.cpp src/EntryPoint.cpp src/FakeBlockData.cpp src/FakeGroupOfPlanes.cpp src/FakePlaneOfBlocks.cpp src/GroupOfPlanes.cpp src/MaskFun.cpp src/MVAnalyse.cpp src/MVBlockFPS.cpp src/MVClip.cpp src/MVCompensate.cpp src/MVDegrains.cpp src/MVFilter.cpp src/MVFinest.cpp src/MVFlowBlur.cpp src/MVFlowFPS.cpp src/MVFlowInter.cpp src/MVFrame.cpp src/MVMask.cpp src/MVRecalculate.cpp src/MVSCDetection.cpp src/MVSuper.cpp src/Overlap.cpp src/PlaneOfBlocks.cpp src/SimpleResize.cpp yasm -D ARCH_X86_64=1 -D BIT_DEPTH=8 -I src/asm -f elf64 const-a.o src/asm/const-a.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 cpu-a.o src/asm/cpu-a.asm yasm -D ARCH_X86_64=1 -D HIGH_BIT_DEPTH=0 -D BIT_DEPTH=8 -I src/asm -f elf64 pixel-a.o src/asm/pixel-a.asm yasm -D ARCH_X86_64=1 -D HIGH_BIT_DEPTH=0 -D BIT_DEPTH=8 -I src/asm -f elf64 sad-a.o src/asm/sad-a.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 Interpolation.o src/asm/Interpolation.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 MVDegrains.o src/asm/MVDegrains.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 Overlap.o src/asm/Overlap.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 SAD.o src/asm/SAD.asm yasm -D ARCH_X86_64=1 -I src/asm -f elf64 Variance.o src/asm/Variance.asm g++ -shared -Wl,--dll,--add-stdcall-alias -o mvtools.ddl CPU.o DCT.o DCTFFTW.o EntryPoint.o FakeBlockData.o FakeGroupOfPlanes.o FakePlaneOfBlocks.o GroupOfPlanes.o MaskFun.o MVAnalyse.o MVBlockFPS.o MVClip.o MVCompensate.o MVDegrains.o MVFilter.o MVFinest.o MVFlowBlur.o MVFlowFPS.o MVFlowInter.o MVFrame.o MVMask.o MVRecalculate.o MVSCDetection.o MVSuper.o Overlap.o PlaneOfBlocks.o SimpleResize.o const-a.o cpu-a.o pixel-a.o sad-a.o Interpolation.o MVDegrains.o Overlap.o SAD.o Variance.o pause