Row-based multithreading for VP9/libvpx?

Started by MHLoppy, October 24, 2023, 07:51:50 AM

Previous topic - Next topic

MHLoppy

(I'm using 2.8.1)

I did a quick search and couldn't find anything in the documentation or on the forums. When used via FFmpeg, libvpx supports the -row-mt 1 flag to enable row-based multithreading, which significantly speeds up encodes on CPUs with high core/thread counts which otherwise don't get to use many threads when encoding.

There doesn't seem to be an equivalent option within the VP9 configuration GUI, as I'm still capping out at ~8 threads even with "Use as many threads as CPU cores" ticked, thus I assume that row-mt is not being used in Avidemux(?).

Is this something that could be considered for future implementation in Avidemux (if it's not already on your radar)? Thanks!


eumagga0x2a

Tiling support has been added by szlldm to libaom AV1 encoder plugin in Avidemux (available in the current 2.8.2 code, please keep in mind that "win64" official cross-compiled builds are currently broken), should be easy to retrofit for the libvpx VP9 encoder plugin.

eumagga0x2a

Support for tile rows in the libvpx VP9 encoder plugin finally added, please try a future nightly ("win64" or "vsWin64", should not matter).