The future of AMD Encoder: HEVC on RX 4xx, Pre-Pass, VBAQ and more!
AMD released version 1.4 of the AMF SDK back in January and I quickly got to work familiarizing myself with the changes and new sample tools. I did some rather extreme tests with the encoder, which resulted in me reporting 8 Issues to the AMF Issue Tracker – mostly GPU crashes or encoding failures.
But with that out of the way, Patrons have now finally received the first official pre-release build
, just as I promised back in December 2016. But what’s actually inside?
High Efficiency Video Coding (for RX 4xx)
This is the biggest new feature and it is a great one. Not only do you get the benefits of Hardware Encoding, AMD also went all out on the quality: HEVC 3500kbit/s is next to indistinguishable from AVC at 20mbit/s. This is a pretty big step towards increasing your recording quality for next to no extra disk space requirements.
I’ve done some tests myself and the results are nothing short of astonishing. I used near lossless footage from a 13 minute match I did in Overwatch for the tests and even at a bitrate as low as 2500kbit/s you could only tell that the bitrate wasn’t enough when there were quickly passing bright objects – anything else was not distinguishable from the source footage. Impressive work for a Hardware Encoder!
There’s just one little problem: AMDs HEVC Decoder does not like it if it has to skip frames. Occasionally playback needs to skip one or more frames due to header mismatch (OBS writes 60.119 fps, HEVC writes 60.0 exact) so you end up with weirdness. I hope that I can fix this somehow, if not then it shouldn’t really matter as editing software shouldn’t use skip-frame decoding.
Pre-Pass aka Simulated Two-Pass Encoding
Another new feature is Pre-Pass (or Pre-Analysis Pass) encoding: With it you can use the additional GPU encoding power to better distribute the bitrate for AVC and HEVC. It was previously a Master View Mode only property and has now been made available to Advanced View Mode.
There is currently a bug with it in AVC encoding which seems to permanently be stuck with it in some sort of pseudo-on mode, with no way to deactivate it. I’m unsure if this has already been fixed, but it doesn’t yet look like it.
VBAQ, Aspect Ratio and better OpenCL support!
Two additional parameters have also now been moved from View Mode Master to View Mode Advanced and Expert: VBAQ and Aspect Ratio.
VBAQ (Variable Bitrate Average Quality) switches Bitrate controlled modes into an Average Quality mode, similar to how x264 handles things. The quality drastically increased for me, however there are some issues when it is used with Constant QP (which in theory should be unaffected by it anyway).
Aspect Ratio is a trickier one. For most cases you’d leave this at 1:1, but in the case of squashed recording (i.e. squashing 2560×1440 into 1920×1440) it can be used to enable older GPUs to virtually record at the native resolution. Needless to say, squashing will reduce quality on the axis that gets capped to the maximum encoder surface size – so it is not a replacement for a better GPU, only a workaround.
And finally OpenCL has been fixed so that it should work properly on Windows 7 again with the AMF Converter. It still won’t work together with Intel GPU Drivers (why would you ever install those), but at least it’s something better than a crash to desktop.
‘Where can I get these now?’
These builds will be Patron only for a while, as they change a lot of things and I need trusted Testers that are willing to actually mess with their configurations. You too can become a Patron, all that you need is a PayPal account and some time.
As a Patron you will gain access to all Patron-only posts and depending on the Perks you select you’ll also get direct support through Discord for issues and questions (and more). What are you waiting for? Become a Patron today!