summaryrefslogtreecommitdiff
path: root/src/lib/config.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-07-06 23:09:08 +0200
committerCarl Hetherington <cth@carlh.net>2024-01-28 02:01:57 +0100
commitc80eca531e01860e6714f526b2efb07a58c2e26e (patch)
tree8b2ca4b071b6def5f2e9e85809b6bc25caa81586 /src/lib/config.cc
parent3299d48531d631264dacd01faf1fa3c069b28e62 (diff)
Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his tool "grok".
Diffstat (limited to 'src/lib/config.cc')
-rw-r--r--src/lib/config.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index c37d20e17..326fa36a1 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -218,6 +218,13 @@ Config::set_defaults ()
set_notification_email_to_default ();
set_cover_sheet_to_default ();
+ _gpu_binary_location = "";
+ _enable_gpu = false;
+ _selected_gpu = 0;
+ _gpu_license_server = "";
+ _gpu_license_port = 5000;
+ _gpu_license = "";
+
_main_divider_sash_position = {};
_main_content_divider_sash_position = {};
@@ -640,6 +647,13 @@ try
_allow_smpte_bv20 = f.optional_bool_child("AllowSMPTEBv20").get_value_or(false);
_isdcf_name_part_length = f.optional_number_child<int>("ISDCFNamePartLength").get_value_or(14);
+ _enable_gpu = f.optional_bool_child("EnableGpu").get_value_or(false);
+ _gpu_binary_location = f.string_child("GpuBinaryLocation");
+ _selected_gpu = f.number_child<int>("SelectedGpu");
+ _gpu_license_server = f.string_child ("GpuLicenseServer");
+ _gpu_license_port = f.number_child<int> ("GpuLicensePort");
+ _gpu_license = f.string_child("GpuLicense");
+
_export.read(f.optional_node_child("Export"));
}
catch (...) {
@@ -1126,6 +1140,13 @@ Config::write_config () const
/* [XML] ISDCFNamePartLength Maximum length of the "name" part of an ISDCF name, which should be 14 according to the standard */
root->add_child("ISDCFNamePartLength")->add_child_text(raw_convert<string>(_isdcf_name_part_length));
+ root->add_child("GpuBinaryLocation")->add_child_text (_gpu_binary_location);
+ root->add_child("EnableGpu")->add_child_text ((_enable_gpu ? "1" : "0"));
+ root->add_child("SelectedGpu")->add_child_text (raw_convert<string> (_selected_gpu));
+ root->add_child("GpuLicenseServer")->add_child_text (_gpu_license_server);
+ root->add_child("GpuLicensePort")->add_child_text (raw_convert<string> (_gpu_license_port));
+ root->add_child("GpuLicense")->add_child_text (_gpu_license);
+
_export.write(root->add_child("Export"));
auto target = config_write_file();