-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
obs-amf: Enables a pipeline for texture-based encoding with AMF. #4538
obs-amf: Enables a pipeline for texture-based encoding with AMF. #4538
Conversation
Usually we recommend force-pushing to the original branch which updates the original PR, rather than opening a second PR. |
This PR doesn't 100% work on my 6700 XT using 21.6.1 drivers. Only the recording and low latency presets work and they don't work when you downscale in video settings |
Also, I noticed that the quality of the encoder does improve a lot by how VBAQ works with the newer SDK. Hopefully you can update this to v1.4.21.0 |
Hello! :) Driver: 21.6.1 I've compiled this PR together with the latest master as of 16.08.2021 (yesterday).
As for @Pablomx2's findings, I have no problems scaling, or changing settings. Only the pre-encode option makes it blow up. |
Hello! thank you for your review and research. I added logging of properties, from obs_data_t and the encoder itself for LOG_LEVEL >= DEBUG and corrected some places in the code. In the next commit, I will try to fix the other issues as well. |
Hello! I'll try to see if I can get a build going with the current changes in it, to test things out. I have an RX 6900 XT on 21.12.1. It appears that you have incorporated AMF 1.4.21 into this code, which is excellent! Keep up the good work, @OvchinnikovDmitrii! I'm looking forward to this being rolled into OBS Studio proper, as well any newer versions of AMF that you may work on. <3 |
Since this came up on Discord again today. I also made a rewrite of this plugin. See obsproject/obs-amd-encoder#426 . |
Our goal is to phase out submodules where they're not strictly necessary. I'm personally ok with archiving the amd encoder submodule and merging this pr directly once it's reviewed and in a good state. |
Currently I can encode videos with AMF on arch linux after installing the package amf-amdgpu-pro. But I can't select it for video streaming on twitch (only x264/vaapi are listed) |
This version of the AMF encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMF encoding, both with H264 and H264 support, as well as HDR support as long as your color format is set to P010.
This version of the AMD encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMD encoding, both with H264 and H264 support, as well as HDR support as long as your color format is set to P010.
This version of the AMD encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMD encoding, both with H264 and H264 support, as well as HDR support as long as your color format is set to P010.
This version of the AMD encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMD encoding, with both H264 and HEVC support, as well as HDR support as long as your color format is set to P010.
This version of the AMD encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMD encoding, with both H264 and HEVC support, as well as HDR support as long as your color format is set to P010.
This version of the AMD encoder is based upon the implementation done by Luxoft in #4538 Adds support for texture-based AMD encoding, with both H264 and HEVC support, as well as HDR support as long as your color format is set to P010.
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Superseded by #6508. |
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Adds support for texture-based AMD encoding, with both H264, HEVC, and HDR support. Falls back to FFmpeg when texture-based encoding cannot be used for whatever reason. (Jim note: This is based upon #4538 by AMD/Luxoft with fewer files, FFmpeg fallback for software encoding, and HDR support. I also went to lengths to ensure that FFmpeg command line parameters also works with it) Co-authored-by: Jim <obs.jim@gmail.com>
Description
Adds h264 and hevc texture-based encoders that work via AMF. They are available for selection in advanced settings and does not affect existing AMF encoders.
Updated version of #4228
-Fixed remarks on the previous version
-Changed the default values of some properties
-Removed unnecessary logging
Motivation and Context
To increase the encoding speed.
How Has This Been Tested?
Hardware: Radeon RX Vega 64 | AMD
Operating System: Windows ver. 1809
I recorded the video using new encoders and different settings, and checked the result
Types of changes
New feature
Performance enhancement
Checklist: