News Testing Shows AMD's AMF Encoder Finally on Par With Nvidia NVENC

Good to know they're adding things to make the HW encoder better, but no one working with videos will EVER use a hardware encoder. Even when streaming, I'd be willing to say most people will still use software encoder with the fast preset for either H264 and H265. Save the output raw and then process it; that is why most video editors salivate for ThreadRipper XD

Anyway, pedantries and saltiness aside, it's still good to know they're now at least viable on paper. I wish more Devs force AMD to help them add support for these features and AMD, please, realize you're not doing your Company any favours by ignoring such important tools like OBS, FRAPS (does it still exist? XD) and a plethora of other encoding and decoding software out there (LAV, madVR, X264, etc!).

Regards.
 
Author said:
The only exception to this is HVEC encoding, where AMD's AMF encoder performs exceptionally well. But this capability will almost never be used in the real world, with all modern video players today requiring H.264 support.

You should probably qualify that as live streaming support.

I used AMD relive all the time years ago with my Vega64, the h.265 enconding was superior to Nvidia's latest h.264 at the same bitrate. I would save the last 20 minutes for games that I won. The clips were cleaner on AMD h.265 than my RTX3080 I have now saving with shadowplay in h.264 for the same file size. AMD and Intel Quicksync h.264 encoding was Macroblocking galore at lower bitrates.

CPU encoding is still the cleanest at any given bitrate, but especially at low bitrates. If you're a streamer, you should consider a 12 core or 16 core CPU so you can allocate a few cores to video encoding.
 
  • Like
Reactions: Makaveli and -Fran-
Good to know they're adding things to make the HW encoder better, but no one working with videos will EVER use a hardware encoder. Even when streaming, I'd be willing to say most people will still use software encoder with the fast preset for either H264 and H265. Save the output raw and then process it; that is why most video editors salivate for ThreadRipper XD

Anyway, pedantries and saltiness aside, it's still good to know they're now at least viable on paper. I wish more Devs force AMD to help them add support for these features and AMD, please, realize you're not doing your Company any favours by ignoring such important tools like OBS, FRAPS (does it still exist? XD) and a plethora of other encoding and decoding software out there (LAV, madVR, X264, etc!).

Regards.
People working with videos will invest in CPU encoding, because to them time and quality is money. But GPU encoding is very important to casual streamers, who commonly have 8 or less cores to work with, and probably don't mind a slight drop in quality.

It will be very useful for other types of streaming too, like playing through Steam Link or Parsec, or even Xbox and Playstation, which uses AMD GPUs.

Also, they got to evolve the tech, so one day it reaches CPU quality on the GPU, right?
 
People working with videos will invest in CPU encoding, because to them time and quality is money. But GPU encoding is very important to casual streamers, who commonly have 8 or less cores to work with, and probably don't mind a slight drop in quality.

It will be very useful for other types of streaming too, like playing through Steam Link or Parsec, or even Xbox and Playstation, which uses AMD GPUs.

Also, they got to evolve the tech, so one day it reaches CPU quality on the GPU, right?
Hm... I'll be willing to say dedicated encoders will never be as good as software ones only because of how much you can tweak per scene or frame types. Plus, the "accelerated" part is rather a small one in the whole pipeline. We all talk about "hardware based encoding", but in reality is like 1/5th of the whole pipeline? For both encoding and decoding. This is what I remember, but I'd imagine it hasn't changed that much from when I investigated all of this. Going to doom9.org is always a good reminder 😀

In any case, I don't disagree it's a useful feature to have; not at all. As I said, it was mostly a salty comment, as I personally don't like hardware encoders over software. Plus, as a bit of a counter: even 8 core CPUs actually do an excellent job at encoding on the fly with AVX1/2 nowadays. You just need to know how to tweak the encoder in OBS or whatever you're using (usually wrapping X264). It's ironic how most games, as they don't fully use the whole thing, that spare capacity is more than enough for the software encoder to do a great job. You'll use more power and endager hiccups, but from personal experience, the GPU having to deal with less usually yields better results. Maybe it would be an interesting set of tests? 😛

EDIT: Talking in the Tom's Discord, I remembered this article: https://www.tomshardware.com/reviews/video-transcoding-amd-app-nvidia-cuda-intel-quicksync,2839.html

It is definitely a good read to understand the intricancies of "hardware encoding and decoding".

Regards.
 
Last edited:
  • Like
Reactions: salgado18
Huh, I did not know the 264 encoding was bad on AMD before this article, since I've only been using 265 to transcode my video files and save space, and it looks real good without artifacts, but this is good.

I'm also amazed that there's so little support for 265 for streaming as well, but I guess it's not surprising since web cams that come in 4K are still rare and heck, 1080p on mass laptops is now becoming mainstream.
 
"But the quality issue was compounded by the introduction of Nvidia's 6th generation NVENC encoder, introduced into the RTX 20 series, which elevated GPU encoding significantly, putting performance on par with good x264 encoding"

I don't think this statement properly expresses the idea that the NVENC hardware H.264 encoding is visually closer to a specific setting in a specific software encoder.

"The only exception to this is HVEC encoding, where AMD's AMF encoder performs exceptionally well. "

I've seen no testing to support the idea that AMD is "exceptional" at HEVC encoding. The testing I've seen is that AMD's HEVC encoding looks somewhat better than NVENC's h.264, and good enough that its not that critical for video that will ultimately get crushed for internet delivery... but it is still far inferior to HEVC encoding from NVidia and in software.

But, its hard to prove that encoding quality "looks better", and the overwhelming majority of the information out there was made by streamers who know almost nothing about video...outside of the OBS settings they heard about from another streamer, who copied the "how to" content from another streamer, and so on.
 
"But the quality issue was compounded by the introduction of Nvidia's 6th generation NVENC encoder, introduced into the RTX 20 series, which elevated GPU encoding significantly, putting performance on par with good x264 encoding"

I don't think this statement properly expresses the idea that the NVENC hardware H.264 encoding is visually closer to a specific setting in a specific software encoder.

"The only exception to this is HVEC encoding, where AMD's AMF encoder performs exceptionally well. "

I've seen no testing to support the idea that AMD is "exceptional" at HEVC encoding. The testing I've seen is that AMD's HEVC encoding looks somewhat better than NVENC's h.264, and good enough that its not that critical for video that will ultimately get crushed for internet delivery... but it is still far inferior to HEVC encoding from NVidia and in software.

But, its hard to prove that encoding quality "looks better", and the overwhelming majority of the information out there was made by streamers who know almost nothing about video...outside of the OBS settings they heard about from another streamer, who copied the "how to" content from another streamer, and so on.

From my anecdotal observation, comparing output from my Vega 64 to my RTX 3080, AMD HEVC looks much cleaner than Nvidia h.264 Shadowplay at the same file size output for 20 minutes of video, around 3GB is what I aim for. I can't get Nvidia to use h.265 encoding for shadowplay, whereas h.265 is available on AMD Relive.
 
  • Like
Reactions: prtskg and BeedooX
From my anecdotal observation, comparing output from my Vega 64 to my RTX 3080, AMD HEVC looks much cleaner than Nvidia h.264 Shadowplay at the same file size output for 20 minutes of video, around 3GB is what I aim for. I can't get Nvidia to use h.265 encoding for shadowplay, whereas h.265 is available on AMD Relive.
Now imagine halving that file size with H.266 VVC once it gets supported in hardware.
 
I'm still hoping for H.266 VVC to quickly take off and EVC Baseline to get support since it's "Royalty Free".
Everyone is looking towards AV1 instead because of the fingerquotes around "Royalty Free" and everyone being tired of the MPEG's crap.
From my anecdotal observation, comparing output from my Vega 64 to my RTX 3080, AMD HEVC looks much cleaner than Nvidia h.264 Shadowplay at the same file size output for 20 minutes of video, around 3GB is what I aim for. I can't get Nvidia to use h.265 encoding for shadowplay, whereas h.265 is available on AMD Relive.
Apples-to-oranges, AMF HEVC output should be compared to NVENC HEVC output.
 
No because Nvidia doesn't offer HEVC on Shadowplay for some reason.
Shadowplay is only one occasion where NVENC would be used. Many (or even most) streamers will be using OBS instead (HEVC an option), and for encoding and transcoding outside of streaming NVENC's full capabilities are also available.
 
Huh, I did not know the 264 encoding was bad on AMD before this article, since I've only been using 265 to transcode my video files and save space, and it looks real good without artifacts, but this is good.

I'm also amazed that there's so little support for 265 for streaming as well, but I guess it's not surprising since web cams that come in 4K are still rare and heck, 1080p on mass laptops is now becoming mainstream.

I heard there are licensing issues with h.265. hence the push for newer AV1.
 
Everyone is looking towards AV1 instead because of the fingerquotes around "Royalty Free" and everyone being tired of the MPEG's crap.

Why not AV1 ? Which is royalty free and already in upcoming hardware?

That awesome AV1 media codec Google is using is under investigation for antitrust licensing

https://en.wikipedia.org/wiki/AV1#Patent_claims
Sisvel, a Luxembourg-based company, has formed a patent pool, and are selling a patent license for AV1. The pool was announced in early 2019,[188] but a list of claimed patents was first published on 10 March 2020.[189] This list contains over 1050 patents.[189] The substance of the patent claims remains to be challenged.[190] Sisvel has stated that they won't seek content royalties, but their license makes no exemption for software.[189][190]

As of March 2020, the Alliance for Open Media has not responded to the list of patent claims. Their statement after Sisvel's initial announcement reiterated the commitment to their royalty-free patent license and made mention of the "AOMedia patent defense program to help protect AV1 ecosystem participants in the event of patent claims", but did not mention the Sisvel claim by name.[191]

According to The WebM Project, Google does not plan to alter their current or upcoming usage plans of AV1 even though they are aware of the patent pool, and third parties cannot be stopped from demanding licensing fees from any technology that is open-source, royalty-free, and/or free-of-charge.[192]

On July 7th, 2022, it was revealed that EU antitrust regulators had opened an investigation into AOM and its licensing policy. It said this action may be restricting the innovators' ability to compete with the AV1 technical specification, and also eliminate incentives for them to innovate.[193]

The Commission has information that AOM and its members may be imposing licensing terms (mandatory royalty-free cross licensing) on innovators that were not a part of AOM at the time of the creation of the AV1 technical, but whose patents are deemed essential to (its) technical specifications
AV1 isn't without it's own licensing controversies.

EVC baseline does the same thing, but with backing of MPEG organization and using Public Domain Patents that are Royalty Free
https://en.wikipedia.org/wiki/Essential_Video_Coding
The publicly available requirements document[5] outlines a development process that is defensive against patent threats: Two sets of coding tools, base and enhanced, are defined:
  • The base consist of tools that were made public more than 20 years ago or for which a Type 1 declaration is received. Type 1, or option 1, means "royalty-free", in the nomenclature used in ISO documents.[6]
  • The "enhanced" set consists of 21[7] other tools which have passed an extra compression efficiency justification and which can be disabled individually.

Each of the 21 payable tools can have separately acquired and separately negotiated and separately Traded License agreements. [7] Each can be individually turned off and, when necessary, replaced by a corresponding cost free baseline profile tool. This structure makes it easy to fall back to a smaller set of tools in the future, if, for example, licensing complications occur around a specific tool, without breaking compatibility with already deployed decoders. [7]

A proposal by Samsung, Huawei and Qualcomm forms the basis of EVC.[8]
https://en.wikipedia.org/wiki/Essential_Video_Coding#cite_note-3codecs-8

You don't have to use anything past the Royalty Free Baseline set.

0Xae2h7.png


3MGfLuh.png

If I wanted best File Size for a given image quality, I'd go with VVC and pay the Royalties / Fees.
AV1 is consistently beaten by H.266 VVC in that regards.

EVC Baseline:
wiyqQPi.png

EVC Baseline is faster to encode compared to AV1, noticeably faster for the same given hardware; while maintaining similar quality & file size to baseline impelmentation of H.265 while being Royalty Free.

AV1 is still under controversy from litigation, Royalty demands, investigation.
I'd rather not deal with that hassle of opening your company up to future Royalty claims by Patent Pool holders or other issues.

EVC Baseline is "Royalty Free", using Expired Patents that are Open to Public Domain and have declared "Royalty Free" status.
It also has the backing of the MPEG group.

AV1 exists in that weird "No-mans Land" where it might be competitive with H.266 VVC, but still suck more on file size & is only a bit better on encode times. But when you have to take that long at encoding, you might as well go for the better file size and spend the extra time to get the smallest possible file size.

If you want to upgrade from EVC Baseline to LCEVC, you gain REALLY good encoding speed, only slightly worse than x264 encoding speeds, while being slightly better than HQ 3rd Party implementation of H.265 in terms of VMAF & File Size.
 
That awesome AV1 media codec Google is using is under investigation for antitrust licensing

Yes, I noticed those news, but nothing yet happening from it, they set up licencing, so those unsure go and pay, rest ignore it based on "wait and see". And they started a pool in March 2020 for AV1 and VP9, when AV1 was released in May 2018 and VP9 in June 2013. So they come years later as a pool of patent trolls and want their piece Not saying that they may not have a say, but... "wait and see". Likewise, only AV1 is supported in hardware in any capacity, and with new GPUs that will include encoding (possibly at all 3 camps). So for a consumer level usage, AV1 looks best. It's unlikely anyone will sue me personally for using AV1. As for companies like Intel, Nvidia, AMD, Google, Amazon, Microsoft... I will just leave it to them to settle it with whomever is litigating this week. They all use their "patent protection" schemes, silently threatening to whomever goes after them, they will counter with their claims. Same with MPEG and AOM groups. I kept eye on AV1 for just these reasons, and I hope they survive as royalty free, because after decades of MPEG, Fraunhofer, and similar, I really want a world without having to keep track of who does what and what I need license for as simple consumer, etc. With big tech names behind AOM I hope they succeed. Oh and while I usually welcome EC probes against possible innovation stifling, I don't think that AOM group would stop innovating, the codec advancements benefit them more than anyone, lowering their bandwidth and storage expenses in billions of USD. But I do get their reasoning. Still, I hope they see AV1 would be better for society (and technology) then the wild west of yesterday.
 
A small update, as I got curious about this: I've been testing the 6800M+APU combination in my laptop to do 1080p 60FPS streaming with OBS. I've been using software and hardware with different settings on each trying to find what works and what doesn't under Twitch rules (6mbps h264 & 160kbps mp3 stereo). Software, using the 5900HX, works perfectly well up to "fast" and Q1 with motion compensation: it looks perfect on the stream with no loss. Hardware encoder I use "balanced" in the APU (yes, not the 6800M) AMF option of OBS with a 6mbps target and 2x buffer with motion compensation and OCL tweaks. From what I was told, it looks the exact same and I notice less performance issues while alt-tabbing and running Chrome in the background (HW accel disabled).

A sample of one system and just a few people making the review of the stream, but I think it is still interesting how the laptop works as I'll assume a proper desktop card will perform on par, at least, to the APU in encoding. This also makes me believe the iGPU in the upcoming Ry7K series will be really good at off-loading these tasks.

Regards.