summaryrefslogtreecommitdiff
path: root/src/lib/config.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-11-21 14:32:45 +0100
committerCarl Hetherington <cth@carlh.net>2021-11-25 00:55:02 +0100
commit72ee4688cbaef0832eb44dee78063bbc0df97bf8 (patch)
treebcc4d4325961936366458f749fb14f145d98a6f9 /src/lib/config.cc
parentd930131bac027fb37af01c2326f5a76ebc23fef7 (diff)
Add fastvideo J2K encoding backend.
Diffstat (limited to 'src/lib/config.cc')
-rw-r--r--src/lib/config.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 78f35e821..9c31c0621 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -80,6 +80,7 @@ Config::Config ()
void
Config::set_defaults ()
{
+ _encoding_backend = EncodingBackend::CPU;
_master_encoding_threads = max (2U, boost::thread::hardware_concurrency ());
_server_encoding_threads = max (2U, boost::thread::hardware_concurrency ());
_server_port_base = 6192;
@@ -238,6 +239,10 @@ try
backup ();
}
+ if (auto encoding_backend = f.optional_string_child("EncodingBackend")) {
+ _encoding_backend = *encoding_backend == "cpu" ? EncodingBackend::CPU : EncodingBackend::FASTVIDEO;
+ }
+
if (f.optional_number_child<int>("NumLocalEncodingThreads")) {
_master_encoding_threads = _server_encoding_threads = f.optional_number_child<int>("NumLocalEncodingThreads").get();
} else {
@@ -609,6 +614,7 @@ Config::write_config () const
/* [XML] Version The version number of the configuration file format. */
root->add_child("Version")->add_child_text (raw_convert<string>(_current_version));
+ root->add_child("EncodingBackend")->add_child_text(_encoding_backend == EncodingBackend::CPU ? "cpu" : "fastvideo");
/* [XML] MasterEncodingThreads Number of encoding threads to use when running as master. */
root->add_child("MasterEncodingThreads")->add_child_text (raw_convert<string> (_master_encoding_threads));
/* [XML] ServerEncodingThreads Number of encoding threads to use when running as server. */