Compiling libvpx with row-mt multi-threading on Windows


  • choco install msys2 -y or get it here
  • C:\tools\msys64\msys2_shell.cmd
  • pacman -S gcc mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-libwinpthread-git binutils coreutils yasm git base-devel p7zip
  • git clone && cd libvpx
  • ./configure --target=x86_64-win64-gcc --disable-docs && make -j16
  • 7z a libvpx-git-win64.7z *.exe /usr/bin/msys-2.0.dll /usr/bin/msys-gcc_s-seh-1.dll /usr/bin/msys-stdc++-6.dll

tip (to compile newer builds)

  • make clean && git pull


  • ./ffmpeg.exe -i source.mkv -pix_fmt yuv420p workfile.y4m
  • ./vpxenc.exe -w 1280 -h 720 --row-mt=1 --tile-columns=6 --auto-alt-ref=1 --lag-in-frames=25 --aq-mode=0 --threads=16 --target-bitrate=3000 --cpu-used=0 -o test.webm workfile.y4m


Currently, the improved MT encoder works in 1-pass/2-pass good quality mode encoding at speed 0, 1, 2, 3 and 4 and row-mt=1 must be enabled

Finally my Ryzen 1700X can show its prowess, it now uses ~80% instead of 25% lol



DigitalOcean Referral Badge
Keep my site online & receive a $100 60-day credit at DigitalOcean for your VPS Hosting
Cheaper Games on Instant-Gaming
Proudly published with Ghost | Header Image by GUWEIZ@DeviantArt Creative Commons Licence