Resource icon

AMD Advanced Media Framework Encoder Plugin for OBS Studio 2.5.0

The plugin has been updated to the new 1.4.9.0 AMF SDK, which should make newer drivers work better with the plugin. Additionally some code cleanup has been done in order to reduce the work necessary for a Linux supporting build in the future - however there is no clear date on this yet. Various other errors were also fixed that could have caused crashes during startup, encoding and shutdown.

For developers: The project now has clang-format support and cppcheck built in, which should reduce the amount of coding errors happening. Jenkins is now partially supported as a CI, once the libvirt plugin support Pipeline projects it will be fully supported. CMake can now tell apart commit versions, but that is only used for the plugin version string in version.h.in.

Changelog
2.5.0
  • Updated AMF to 1.4.9.0.
  • Updated english locale text for Pre-Pass to include encoding cost.
  • Fixed various erroneous usages of short codes for printf in log text.
  • Added support for Git commit detection to CMake.
  • Added support for clang-format.
  • Added support for CppCheck to CMake. (Thanks to Streamlabs for this one)
A new version, but it's merely a few stability improvements. A crash on missing D3D11 or D3D9 has been fixed, capability testing always writes supported GPUs to the log file and the H264 and H265 encoder now follow the specification of the codec and set Profile, Level and Tier before Resolution and Frame Rate - which might actually improve support for higher resolution and frame rate capture.

Hotfix 1: Additional stability improvements by fixing a crash with a very old driver.
Hotfix 2: Fix a bug introduced in 2.4.0.

Changelog
2.4.2 (Hotfix 2)
  • Fix Profile Level being stuck at 1.0 in both H264 and H265.
2.4.1 (Hotfix 1)
  • Refactored CMake build configuration for CI support, allowing for people to test bleeding-edge builds.
  • Fixed a crash caused by very old drivers that predate H265 support.
2.4.0
  • Updated AMF SDK to 1.4.7.0.
  • Fixed a crash in api::base if Direct3D 9 or Direct3D 11 was not found.
  • Changed how the capability testing reports supported devices to the log file.
  • Fixed the order that codec properties are applied. (Thanks to Qiang Wen, see commit c292f6d)
A new version, but it's merely a few stability improvements. A crash on missing D3D11 or D3D9 has been fixed, capability testing always writes supported GPUs to the log file and the H264 and H265 encoder now follow the specification of the codec and set Profile, Level and Tier before Resolution and Frame Rate - which might actually improve support for higher resolution and frame rate capture.

Hotfix 1: Additional stability improvements by fixing a crash with a very old driver.

Changelog
2.4.1 (Hotfix 1)

  • Refactored CMake build configuration for CI support, allowing for people to test bleeding-edge builds.
  • Fixed a crash caused by very old drivers that predate H265 support.
2.4.0
  • Updated AMF SDK to 1.4.7.0.
  • Fixed a crash in api::base if Direct3D 9 or Direct3D 11 was not found.
  • Changed how the capability testing reports supported devices to the log file.
  • Fixed the order that codec properties are applied. (Thanks to Qiang Wen, see commit c292f6d)
Likes: Patrick Ewalt
The Blacklist introduced with 2.3.0 unfortunately had the side effect that all Windows 8 users were no longer able to use the plugin and had to downgrade. With this version, the blacklist is instead now a warning written into the log file. This is all thanks to @jp9000's work on moving the initial AMF Capability test into a different process, stopping broken drivers from crashing OBS Studio.

Not only that, but a bunch of previously unidentified issues were fixed. H264 VBR should no longer limit the Peak Bitrate to the Target Bitrate, H265 encoding shouldn't get stuck anymore, some older Drivers may now work again with the plugin and Direct 3D 11.1 is now used if it is available.

Changelog
2.3.2
  • Fixed a bunch of startup crashed by moving AMF Capability tests to another process, thanks @jp9000 for doing a lot of the work to make this happen.
  • Fixed the H265 encoder not stopping which was caused by 'Keyframe Interval' and 'GOP Size' being stuck at 0 internally.
  • Replaced the blacklist with a warning message to allow Windows 8 users to use current versions.
  • Fixed a crash with older Drivers which do not have Pre-Pass or VBAQ.
  • Fixed 'Target Bitrate' being set as 'Peak Bitrate' in VBR rate control mode.
  • Fixed Direct3D 11.1 not being used even if available, resulting in minimally lower performance.
2.3.1
  • Skipped 2.3.0 as it was not included with obs-studio.
  • Improved support for the "New Networking Code" and "Replay Buffer" features by renaming 'Bitrate.Target' to 'bitrate'.
2.3.0
  • Added a blacklist for drivers exposing an AMF Runtime older than 1.4.6.0.
  • Removed all hidden properties no longer exposed by the newest AMF Runtime.
It unfortunately had to come to this. The plugin now finally blacklists older drivers, as it otherwise would turn into an unmaintainable mess trying to support everything back to 16.11.5, the first driver that had AMD AMF support. That means that from this day on, all future versions will only work with a minimum runtime version of 1.4.6.0. So if you're still using an older driver: What are you doing? Update already!

In addition to that, the plugin should now work better with the new networking code as well as replay buffer. The 'Target Bitrate' property is now renamed internally so that external code can properly read it.

Changelog
2.3.1
  • Skipped 2.3.0 as it was not included with obs-studio.
  • Improved support for the "New Networking Code" and "Replay Buffer" features by renaming 'Bitrate.Target' to 'bitrate'.
2.3.0
  • Added a blacklist for drivers exposing an AMF Runtime older than 1.4.6.0.
  • Removed all hidden properties no longer exposed by the newest AMF Runtime.
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.
Hotfix 4: Updated internal property list to match Fall Creators Update AMD Driver.

Changelog
2.2.4
  • Removed LowLatency, CommonLowLatency and QPC*Offset properties.
2.2.3
  • Fixed Minimum/Maximum QP incorrectly being applied to Constant QP.
2.2.2
  • Fixed an at-exit crash caused by calling amf::AMFTrace::TraceEnableAsync(true).
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.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'.
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.

Changelog
2.2.3
  • Fixed Minimum/Maximum QP incorrectly being applied to Constant QP.
2.2.2
  • Fixed an at-exit crash caused by calling amf::AMFTrace::TraceEnableAsync(true).
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.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'.
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.

Changelog
2.2.2
  • Fixed an at-exit crash caused by calling amf::AMFTrace::TraceEnableAsync(true).
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.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'.
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.

Changelog
2.2.1
  • Fixed a frame corruption bug with Constant QP caused by changing VBAQ and Pre-Pass after it had already been set.
  • 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.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'.
Likes: LucianoPCx
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.

Changelog
  • 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'.
Top