I'm disappointed by the state of AMD encoders right now with Navi Gpus. I mean, wow, informations are hard to find, and can be really confusing for people who'd like to use their Linux supported device to hardware encode for transcoding or streaming.
At the beginning all is fine, you check some comments on reddit and some wiki and this looks ok with VAAPI stuff. but actually this isn't. And after plenty or research through github issues, it is still not crystal clear.
For AMD we have 2 types of encoders/decoders.
AMF: Proprietary amd encoder, like nvidia nvenc but it is only supported via amdgpu-pro
VAAPI: amd encoder using opensource library vaapi mostly implemented thanks to the ffmpeg guys
Since AMF is out of the equation because it requires amdgpu-pro and it would kill game performance, it leaves us with VAAPI
FFMPEG hw encoding with vaapi is noted as experimental on their wiki. I tried some hevc_vaapi conversion and they all freeze at some point.
Steam remote play, fall back to software encoding.
Jellyfin uses ffmpeg so back to point 1.
And there is much more things making it complicated
- AMF support is ok on h264 but not h265 (amdgpu-pro)
- VAAPI encoding with AMD is(kinda)ignored by ffmpeg
- Wikis often omit navi cards and stop at polaris
- Vulkan encoders are ready but not decoders ????
Overall I'm happy with the card. The paint is still fresh as you can see from the text above but I can play games around 100 FPS + freesync and stuff and the card got better with each mesa release. I just wish the drivers to be a little more than just drivers. At least a control panel for god sake and... and an encoder or two.
[link] [comments]