cross-platform HW acceleration seems still a mess ( Making sure you're not a bot! ). Seems VAAPI is best suited, if FFMPEG is required as decoder. Microsoft provided some work to make VAAPI usable in Windows Video acceleration API (VA-API) now available on Windows! - DirectX Developer Blog
What’s the benefit of VA-API on Windows?
Having VA-API on Windows enables developers to build video apps that work across platforms. This work continues our pattern of supporting a wide range of other APIs by layering them on top of the Direct3D 12 driver model (ie. OpenCL™ and OpenGL® Compatibility Pack) and having this layering makes it easier to port existing media applications such as OpenCL™ and OpenGL® Compatibility Pack) and having this layering makes it easier to port existing media applications such as FFmpeg or GStreamer, which can have their existing VA-API backends target libva-win32 and work across platforms and hardware vendors.
Would be awesome if sth. like this can be used to speed up transcodings in Shotcut.
The hardware decoding and scaling on Windows will use Microsoft Media Foundation and a Direct3D scaler and not VA-API. Because I have the native direct Windows APIs already working (through FFmpeg), and I do not want bother trying to get VA-API working on Windows. It uses VA-API on Linux and VideoToolbox on macOS. The native APIs are generally better supported and less hassle to troubleshoot. The cross-platform claims fall apart when you need to support macOS and/or hardware scaling without memory transfers.
speed up transcodings in Shotcut
Shotcut is primarily a video editor, not a limited transcoder, and it is not simply a ffmpeg command line frontend. The coming hardware decoding and scaling will only benefit preview and not used for export because scaling should be done in linear color, which requires additional GPU filters not yet available to integrate with hardware decoding and encoding. You need to take into consideration the entire pipeline and all of its possible arrangements. Shotcut will likely never have a completely hardware- and GPU-based pipeline. Attempting to do so would limit its compatibility and take a huge amount of additional work for such a small voluntary team.
Got it, thx for the background. Wouldn’t have compared Shotcut to Resolve. Openshot might be similar, but they rely on QSV (not working in Windows for me). Firefox seems to use VA-API globally, but supporting native APIs where possible is of course more efficient.
Of course there are better native tools just for transcoding (e.g. Handbrake on Windows). But all those tools fail if you need to “merge” several partial videos or cut a snippet here and there. For these use cases Shotcut is the only major relevant, working, open source tool I thought performance could be further optimized for transcoding, but didn’t expect that different native APIs are already supported and that this is still this cluttered cross-platform