Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Releases: obsproject/obs-amd-encoder

1.3.0pre8 - The AMF SDK Path

07 Sep 01:25
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (and an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Fixed: Fixed some values not being applied in 32-Bit.
  • Fixed: "Enforce streaming service encoder settings" is now properly used, thanks to Jim.
  • Fixed: Simple Interface will now correctly update when a setting is modified.
  • Fixed: Decode and Presentation Timestamps are now correct, thanks to Jim.
  • Changed: Reduced log output length for readability.
  • Changed: Threads are now forcefully terminating if they are stuck instead of freezing OBS.
  • Added: Fail-Safe so that Stop Streaming/Recording still works even when GetOutput fails.
  • Added: Experimental capability logging for future HEVC implementation.

1.3.0pre7 - The AMF SDK Path

02 Sep 17:55
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Fixed: Incorrect Packet order in Streams and Recordings.
  • Fixed: Crushed Colors in Streams and Recordings by forcing a specific set of color settings.
  • Fixed: High CPU usage due to increasing timer resolution too early.
  • Fixed: Slowness due to repeated Library loading, caused by lost references.
  • Fixed: Advanced Interface now applies properties in the same order as the Simple Interface.
  • Fixed: Crash in Simple Interface on Cards that don't support B-Pictures.
  • Updated: Languages en-US (American English), de-DE (German), Vi-VN (Vietnamese).

1.3.0pre6 - The AMF SDK Path

01 Sep 19:58
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Added: B-Picture settings for Simple Interface (only shown if supported).
  • Added: De-Blocking Filter setting for Simple Interface.
  • Added: Enforce HRD Compatibility setting for Simple Interface.
  • Changed: Language files have been massively simplified.
  • Changed: Timer Resolution is now half the expected frametime (1000 / framerate / 2) to reduce CPU usage and Power draw.
  • Updated: Languages en-US, vi-VN, ru-RU and es-ES.
  • Updated: Presets in Simpler Interface will now also set up advanced properties (if supported).
  • Fixed: Log messages from encoder will not come from an impossible source/class.
  • Fixed: 32-Bit now shows the correct Version number.

1.3.0pre5 - The AMF SDK Path

26 Aug 22:23
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Skipped pre4 due to major issues.
  • Added: Checkbox to enable in depth tracing, to be used when reporting errors and crashes.
  • Changed: Default AMF Trace level is now ERROR instead of TEST.
  • Changed: Profile Level now goes to 6.2 if a GPU ever supports it (matches AMF values).
  • Changed: Simple Interface will calculate the best Buffer Size for your stream based on your settings.
  • Changed: Simple Interface will automatically set B-Pictures Pattern to 0 for best Quality.
  • Updated: Languages en-US, vi-VI and es-ES have been updated.
  • Fixed: Max LTR Frames slider only goes up to 2.
  • Fixed: Log Spam due to getting stuck on AMF_REPEAT or AMF_INPUT_FULL.
  • Fixed: Crash in SetProfile and GetProfile internal functions.
  • Fixed: Crash when clicking Update Values from AMF.
  • Fixed: Crash when clicking Apply in Advanced Interface.
  • Fixed: Constant QP will now apply the correct values.

1.3.0pre3 - The AMF SDK Path

23 Aug 14:12
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Added: Preset selection (Simple Interface).
  • Added: Profile Level selection (Simple Interface).
  • Added: Further capability logging to startup.
  • Fixed: SetRateControlSkipFrameEnabled (Option: Frame Skipping) will no longer override the Rate Control Method.
  • Fixed: Fixes for the threading model, higher framerates/resolutions should now be possible.
  • Fixed: Advanced Interface is available again.

1.3.0pre2

13 Sep 21:37
Compare
Choose a tag to compare
1.3.0pre2 Pre-release
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog

  • Added: In depth AMF tracing to the OBS log files, allowing me to spot bugs much faster than before.

1.3.0pre1 - The AMF SDK Path

21 Aug 21:26
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


AMD updated the SDK and the plugin shall follow in it's footsteps. With this new SDK (an an actual documentation) the plugin can now finally be more accurate in it's usage - no more guesswork.

Notes

Before installing this Version, please uninstall any previous versions. If you used the installer, it is as simple as using the Uninstaller entry it created. If you extracted it, you will need to manually remove the extracted files.

Changelog:

  • Changed: Loading of required libraries was changed to match AMF documentation.
  • Changed: Shared Encoder is now using new Library linking class and was rewritten from the ground up.
  • Changed: Advanced Encoder is temporarily unavailable.

1.2.0rc1 - The Remaking (Release Candidate)

14 Aug 02:23
Compare
Choose a tag to compare

This is the last release using the old Media SDK, so only use this if no other options work!
A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/latest


With this version we're now using a different approach for the user-facing Encoders. Instead of directly interfacing with AMF (and risking a potential bad state until OBS is restarted), we now go through a shared encoder interface. This interface exposes everything the user-facing encoder needs to changed or see and provides easy and fast access to the individual functions.

In addition to the above, a simple Encoder was added for those who don't want to spend a lot of time setting it up. It comes with predefined presets and a tiny bit of customization options.

Changelog:

  • Changed: Encoders are now based on a shared class that interfaces with AMF to reduce duplicate code and be future proof.
  • Changed: Advanced Encoder is now called "H264 VCE Encoder [Advanced] (AMD Media Framework)".
  • Changed: Encoder Type and Profile are now separate fields. [Advanced]
  • Changed: Motion Estimation is now a drop down instead of checkboxes. [Advanced]
  • Changed: IDR Period limit is now 1000. [Advanced]
  • Changed: B-Picture Delta QPs are now in the range -11 to 10, with -11 being 'Default'. [Advanced]
  • Changed: Bitrates are limited to the value returned by AMD Media Framework.
  • Changed: Shared Encoder Interface now uses a 180 frame queue to produce higher final image quality.
  • Changed: Shared Encoder Interface will now use two additional threads to handle frame submission and packet querying.
  • Fixed: Plugin will correctly show when it is overloaded.
  • Fixed: PTS Timestamp is now correct for both AMD Media Framework and OBS. Fixes both B-Frame issues as well as insane bitrates.
  • Fixed: Quality Preset, Profile and Profile Level are now applied last.
  • Fixed: Random settings would stop working starting with driver version 16.7.1, this has been partially fixed. [1]
  • Added: Simple Encoder named "H264 VCE Encoder (AMD Media Framework)" [2]
  • Added: The following languages have been added or updated: English, Spanish (Markitos), Danish (wazer), Hungarian (niteforce), Vietnamese (max20091), Russian (leporel). [3]
  • Added: Advanced Encoder now has a Quality Preset option 'None'. [Advanced]
  • Added: Checkbox to Reset to Default and replace default values with values from AMD Media Framework. [Advanced]
  • Added: Capability logging at plugin start.
  1. AMF expected the plugin to deliver 32-Bit Integers, but with the optimized build that no longer happened - the compiler straight up sent 64-Bit Integers to AMF unlike in the Debug build where things actually worked. The fix was to simply explicitly cast to a 32-Bit Integer type.
  2. A really dumbed down and simplified version of the encoder with minimal customization options. Similar to x264 in terms of UI.
  3. en-US has been updated with strings for the Simple encoder, other languages are waiting on the contributors to update them.

1.2.0pre4 - The Remaking

13 Aug 18:07
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/tag/1.2.0rc1


With this version we're now using a different approach for the user-facing Encoders. Instead of directly interfacing with AMF (and risking a potential bad state until OBS is restarted), we now go through a shared encoder interface. This interface exposes everything the user-facing encoder needs to changed or see and provides easy and fast access to the individual functions.

In addition to the above, a simple Encoder was added for those who don't want to spend a lot of time setting it up. It comes with predefined presets and a tiny bit of customization options.

Changelog:

  • Changed: Encoders are now based on a shared class that interfaces with AMF to reduce duplicate code and be future proof.
  • Changed: Advanced Encoder is now called "H264 VCE Encoder [Advanced] (AMD Media Framework)".
  • Changed: Encoder Type and Profile are now separate fields. [Advanced]
  • Changed: Motion Estimation is now a drop down instead of checkboxes. [Advanced]
  • Changed: IDR Period limit is now 1000. [Advanced]
  • Changed: B-Picture Delta QPs are now in the range -11 to 10, with -11 being 'Default'. [Advanced]
  • Changed: Bitrates are limited to the value returned by AMD Media Framework.
  • Changed: Shared Encoder Interface now uses a 180 frame queue to produce higher final image quality.
  • Changed: Shared Encoder Interface will now use two additional threads to handle frame submission and packet querying.
  • Fixed: Plugin will correctly show when it is overloaded.
  • Fixed: PTS Timestamp is now correct for both AMD Media Framework and OBS. Fixes both B-Frame issues as well as insane bitrates.
  • Fixed: Quality Preset, Profile and Profile Level are now applied last.
  • Added: The following languages have been added or updated: English, Spanish (Markitos), Danish (wazer), Hungarian (niteforce), Vietnamese (max20091), Russian (leporel).
  • Added: Advanced Encoder now has a Quality Preset option 'None'. [Advanced]
  • Added: Checkbox to Reset to Default and replace default values with values from AMD Media Framework. [Advanced]
  • Added: Capability logging at plugin start.

TODO:

  • Added: Simple Encoder named "H264 VCE Encoder (AMD Media Framework)"

1.2.0pre3 - The Remaking

08 Aug 19:27
Compare
Choose a tag to compare
Pre-release

A newer version is available: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/releases/tag/1.2.0rc1


With 1.2.0 the plugin takes a different approach to encoding. Instead of directly interfacing with the AMF SDK, the plugin now interfaces with a shared encoder class, which exposes the functionality in a safe and error-proof way. If something goes wrong, it's clearly logged where it came from even if the selected encoder doesn't have too much logging active.

Additionally to the above, there are now two encoders: a simple and a advanced one. The advanced one is similar to the one in version 1.1.2, the simple one is for people who don't understand or want to understand the parameters - essentially hand-holding those people into an easier experience. This includes defined presets for specific tasks (Streaming, Recording, etc) which fully configure the encoder.

Entries marked in bold were changed since the last version. This version has additional optimizations enabled - if your CPU does not support AVX (64-bit) or SSE2 (32-bit), use the NoOpt archive instead. Almost all CPUs since 2011 support these instruction sets.

Changelog:

  • Changed: Encoders are now based on a shared class that interfaces with AMF to reduce duplicate code and be future proof.
  • Changed: Advanced Encoder is now called "H264 VCE Encoder [Advanced](AMD Media Framework)".
  • Changed: Encoder Type and Profile are now separate fields. [Advanced]
  • Changed: Motion Estimation is now a drop down instead of checkboxes. [Advanced]
  • Changed: IDR Period limit is now 1000. [Advanced]
  • Changed: B-Picture Delta QPs are now in the range -11 to 10, with -11 being 'Default'. [Advanced]
  • Changed: Bitrates are limited to the value returned by AMD Media Framework.
  • Fixed: Plugin will correctly show when it is overloaded.
  • Fixed: PTS Timestamp is now correct for both AMD Media Framework and OBS. Fixes both B-Frame issues as well as insane bitrates. [1]
  • Fixed: Quality Preset, Profile and Profile Level are now applied last.
  • Added: The following languages have been added: English, Spanish (Markitos), Danish (wazer), Hungarian (niteforce). [2]
  • Added: Quality Preset option 'None'. [Advanced]
  • Added: Checkbox to Reset to Default and replace default values with values from AMD Media Framework. [Advanced] [3]
  • Added: Capability logging at plugin start.
  1. OBS gives us PTS in frames, AMF wants it in 100 nanosecond steps. With the old code (frame->pts * 10000) that would cause insane bitrates to appear and lower quality. Also since we know what OBS wants these parameters to be in now, we can safely calculate back from the PTS time AMF gives us - as long as you don't stream/record for more than 125099.989 days at a time (that's 5212.499 days or ~173 months or ~14.28 years).
    Many thanks go to jackun for figuring out the math to go from amf_pts back to frames.
  2. Huge thanks to you! I only know two languages, so this is really appreciated.
  3. Both checkboxes would silently hard-fail occasionally, this is now no longer the case - it will silently soft-fail and continue on.