AMD Encoder Plugin: Patch 2.2.3

GPUOpen introduced the advancement and the direct source contribution of AMD's Advanced Media Framework (AMF).  The purpose of this framework is to enable GPU processing of media encode and decode efforts with minimal impact to the CPU and in general end user.  With that said, this is not exclusive to AMD as NVIDIA has it's own GPU enabled media processing support but it's closed source and hasn't been made widely public.  Because of AMD's open source nature, it allows individual contributors to make their additions and projects to further the progress of features, improved support and performance widely available.

There is a project I wanted to bring forward to AMD users that stream using Open Broadcaster Software (OBS) which provides latest updates from the OpenGPU project and enhances the overall experience for encoding performance.  The project is simply called AMF Encoder Plugin and is created/supported by Xaymar.  Please visit the page and review the latest (and great) work that Xaymar is doing and you could even support him through Patreon.

All of this being said, a new release came out today from Xaymar, version 2.2.3 and includes a lot of fixes and additional features that have been needed.  Patch notes are below and as always, thanks for reading!

 

Patch Notes

With the newly released Driver 17.7.2, AMD fixed many reported issues and added some much wanted features:

  • Pre-Pass and VBAQ are finally working,
  • H265/HEVC content can distinguish between IDR- and I- Frames
  • and also supports Color Range and Color Space now,
  • and the 32-bit only text log crash was fixed.

And now it's time for the plugin to also be updated! This release primarily aims at adding support for AMF 1.4.4 and improving support for older drivers, with some of the recently discovered bugs and crashes fixed.

Hotfix 1: Fixed VBAQ and Pre-Pass being used with Constant QP, causing significant corruption issues and changed some default values for H265.

Hotfix 2: Fixed an at-exit crash caused by an AMF trace function.

Hotfix 3: Fixed an issue with Constant QP that caused it to incorrectly use Minimum/Maximum QP.

2.2.0

  • Added support for AMF 1.4.4 and improved support for older drivers like 16.11.5 and 16.12.1.
  • Fixed a memory corruption crash due to misuse of managed DirectX 11 objects.
  • Fixed a frame corruption bug caused by applying 'VBAQ' and 'Pre-Pass' when using 'Constant QP' Rate Control Method.
  • Fixed a string comparison bug causing Simple Output Mode to always use the Profile 'Constrained Baseline'
  • Fixed a crash when enabling 'Debug' on 32-bit OBS caused by different type sizes.
  • Fixed a crash with H265/HEVC caused by use of the undocumented Intra-Refresh properties.
  • Changed the default value for 'Profile' to 'High'.
  • Changed the default value for 'VBAQ' to 'Disabled' for improved performance.
  • Changed the default value for 'Queue Size' to 8 for improved stability in spontaneous load situations.
  • Changed the log crash work around to only apply to older AMF versions than 1.4.4.
  • Removed unnecessary configuration changes.
  • Removed unsupported Pre-Pass options 'Half Size' and 'Quarter Size'.

2.2.1

  • Fixed a frame corruption bug with Constant QP caused by toggling VBAQ and Pre-Pass after it had already been applied.
  • Changed the default value of 'Enforce HRD' to 'Enabled' for H265/HEVC encoding.
  • Changed the default value of 'Deblocking Filter' to 'Disabled' for H265/HEVC encoding to fix corruption in strict decoders. (Premiere Pro, After Effects, Vegas, VLC (Software))

2.2.2

  • Fixed an at-exit crash caused by calling amf::AMFTrace::TraceEnableAsync(true).

2.2.3

  • Fixed Minimum/Maximum QP incorrectly being applied to Constant QP.