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>2023-10-16 17:56:10 +0200
commit1a65b7b23e86916e056f8d177c3a386eed73bfeb (patch)
tree91a404d8b46d70dc88b4d09bdc528b073899fb93 /src/lib/config.cc
parent6eba9bffa2371aa71b8981b1a7bcde0448d7623e (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 190817cbc..bbb3eef27 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -212,6 +212,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 = {};
@@ -633,6 +640,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 (...) {
@@ -1119,6 +1133,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();