Proryanator / encoder-benchmark

A tool to benchmark your hardware's real-time video encoding capabilities.
GNU General Public License v3.0
68 stars 6 forks source link

Add support for AMD AMF AV1 encoding #68

Open ky-bean opened 2 weeks ago

ky-bean commented 2 weeks ago

The 6000 & 7000 series GPUs from AMD introduced a new hardware encoder with greatly improved performance, and in my hand testing with OBS AV1 has seen an exciting improvement. I'd like to be able to zero in on a performant setup for my 7900XT GPU setup using a tool like this but AMF AV1 is currently not supported, only Intel's AV1 encoder is.

FFMPEG reference for AMF AV1: https://trac.ffmpeg.org/wiki/Encode/AV1#AMDAMFAV1

I'm fairly comfortable with rust so I would try my hand at adding an AMF AV1 implementation but I'm not familiar with working with FFMPEG and reading the source code I'm a little lost as to where to start. I wouldn't mind giving it a go still if I can get some guidance, though I don't have a lot of time to dedicate to the effort. At the very least I can offer my system (7800X3D CPU & 7900XT GPU) as a test bed to try out any possible implementation.

Proryanator commented 2 weeks ago

Hey there! It would be excellent if you wanted to give it a shot if you're up for it.

I recently added a new README section specifically to help out for which files would need updates when adding support for a new encoder; you may be the first non-author who could see if this REAMDE section was useful/give feedback: https://github.com/Proryanator/encoder-benchmark#adding-support-for-new-encoders

But yeah! A test bed would be super helpful since I don't have one of those GPU's if I was able to build this out for you. Let me know if you start working on this issue! Feel free to hop in the Discord channel to discuss more.