Skip to content

Releases: obsproject/obs-amd-encoder

2.6.0 - Removing support for older Drivers, High Motion Quality Boost and more

13 Oct 21:00
Compare
Choose a tag to compare

With their new Navi GPU series AMD added a new feature to the hardware encoders: High Motion Quality Boost. This option should allow you to get higher quality streams at the exact same bitrate, resolution and framerate, given that you own and use an AMD RX 5700 (XT/XT Anniversary).

However due to that the new feature, the plugin now finally dropped support for ancient drivers. You will now need to have an up-to-date driver, at minimum 19.7.1 though the recommended minimum is 19.9.2, otherwise the plugin will refuse to load and does not add any encoders for use.

Additionally jpark37/rcdrone also fixed the VBV Buffer Strictness option. The incorrect behavior before was that all values above 50% would act like 50%. With the fix applied, values above 50% correctly approach the strictest possible buffer size again, allowing tighter control over bitrate.

Changelog

  • Removed support for older drivers that ship an AMF Runtime older than version 1.4.14. You will now need a minimum Driver version of 19.7.1, however the recommended minimum is 19.9.2 which contains a lot of fixes compared to 19.7.1. This also includes dropping support for unmodified Windows 8 systems as AMD has stopped providing driver updates to Windows 8.
  • Added the new "High Motion Quality Boost" option which seems to be exclusive to the Navi (RDNA) series of AMD GPUs.
  • Fixed automatic VBV Buffer calculation with values close or above 50%.
  • The Video API option will now only show the most modern supported API on the platform, which is Direct3D 11 on Windows 10 and Direct3D 9 on Windows 7. Users on Windows 8 are urged to upgrade to Windows 10.

2.5.1 - Support for Driver 19.x on AMD Vega

22 Jan 23:00
Compare
Choose a tag to compare

The 19.x Driver started enforcing additional restrictions, which seem to only apply to AMD Vega GPUs and APUs. Due to this, the plugin would fail to properly initialize the encoder and users would have to manually set some options.

With this patch, this is no longer necessary. The encoder options are now applied correctly and should no longer cause any issues. Additionally a bug was fixed for Automatic Profile Level which caused it to occasionally select an unsupported Profile Level.

Changelog

2.5.1

  • Fixed error during initialization for H264 and H265 on Driver 19.x and above.
  • Fixed a bug with automatic Profile Level which sometimes caused an unsupported Profile Level to be selected.

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)

2.5.0 - New AMF SDK and code cleanup

25 Sep 20:26
Compare
Choose a tag to compare

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)

2.4.2 - Stability Improvements (Hotfix 2)

24 Jul 17:37
Compare
Choose a tag to compare

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)

2.4.1 - Stability Improvements (Hotfix 1)

20 Jul 23:58
Compare
Choose a tag to compare

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)

2.3.3 - Changes to the Blacklist, Out-of-Process AMF Capability testing and more (Hotfix 1)

17 Mar 10:59
Compare
Choose a tag to compare

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.

Hotfix: Configuration Version should now match the plugin version again.

Changelog

2.3.3 (Hotfix)

  • Fixed H264 Plugin not properly adjusting config version number.
  • Reduced subprocess 'amf-test' size, which is used to check for AMF compatibility.

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.

2.3.2 - Changes to the Blacklist, Out-of-Process AMF Capability testing and more

06 Feb 00:21
Compare
Choose a tag to compare

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.

2.3.1 - The Blacklist and improved support for Replay Buffer

13 Dec 09:16
Compare
Choose a tag to compare

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.

2.2.4 - Pre-Pass, VBAQ and more fixes! (Hotfix 4)

22 Oct 23:04
Compare
Choose a tag to compare

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'.

2.2.3 - Pre-Pass, VBAQ and more fixes! (Hotfix 3)

16 Aug 05:43
Compare
Choose a tag to compare

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'.