From 3060e3ee000ddb12a78d8008f641b724ce7b07df Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 30 Mar 2025 17:16:21 +0200 Subject: Add high performance encoding option (for amd) in settings page. Requires gsr version >= 5.3.4 --- include/Config.hpp | 1 + include/Overlay.hpp | 2 ++ include/gui/GlobalSettingsPage.hpp | 3 +++ 3 files changed, 6 insertions(+) (limited to 'include') diff --git a/include/Config.hpp b/include/Config.hpp index 0e8e4eb..f9c70ac 100644 --- a/include/Config.hpp +++ b/include/Config.hpp @@ -60,6 +60,7 @@ namespace gsr { std::string joystick_hotkeys_enable_option = "disable_hotkeys"; std::string tint_color; ConfigHotkey show_hide_hotkey; + bool high_performance_encoding = false; }; struct YoutubeStreamConfig { diff --git a/include/Overlay.hpp b/include/Overlay.hpp index d7b8af1..ffc1777 100644 --- a/include/Overlay.hpp +++ b/include/Overlay.hpp @@ -116,6 +116,8 @@ namespace gsr { bool update_compositor_texture(const Monitor &monitor); void force_window_on_top(); + + void add_common_gpu_screen_recorder_args(std::vector &args, const RecordOptions &record_options, const std::vector &audio_tracks, const std::string &video_bitrate, const char *region, const std::string &audio_devices_merged, char *region_str, int region_str_size, const RegionSelector ®ion_selector); private: using KeyBindingCallback = std::function; struct KeyBinding { diff --git a/include/gui/GlobalSettingsPage.hpp b/include/gui/GlobalSettingsPage.hpp index 5df5b9c..21b2eda 100644 --- a/include/gui/GlobalSettingsPage.hpp +++ b/include/gui/GlobalSettingsPage.hpp @@ -17,6 +17,7 @@ namespace gsr { class Button; class List; class CustomRendererWidget; + class CheckBox; enum ConfigureHotkeyType { NONE, @@ -63,6 +64,7 @@ namespace gsr { std::unique_ptr create_hotkey_control_buttons(); std::unique_ptr create_keyboard_hotkey_subsection(ScrollablePage *parent_page); std::unique_ptr create_controller_hotkey_subsection(ScrollablePage *parent_page); + std::unique_ptr create_high_performance_encoding_option(); std::unique_ptr