summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc4
-rw-r--r--src/lib/config.h11
-rw-r--r--src/lib/dcp_video.cc3
3 files changed, 16 insertions, 2 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index c0750bb4e..eda45afff 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -175,6 +175,7 @@ Config::set_defaults ()
_player_playlist_directory = boost::none;
_player_kdm_directory = boost::none;
_audio_mapping = boost::none;
+ _minimum_frame_size = 65536;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
@@ -549,6 +550,8 @@ try
_audio_mapping = AudioMapping (f.node_child("AudioMapping"), Film::current_state_version);
}
+ _minimum_frame_size = f.optional_number_child<int>("MinimumFrameSize").get_value_or(65536);
+
if (boost::filesystem::exists (_cinemas_file)) {
cxml::Document f ("Cinemas");
f.read_file (_cinemas_file);
@@ -972,6 +975,7 @@ Config::write_config () const
if (_audio_mapping) {
_audio_mapping->as_xml (root->add_child("AudioMapping"));
}
+ root->add_child("MinimumFrameSize")->add_child_text(raw_convert<string>(_minimum_frame_size));
try {
auto const s = doc.write_to_string_formatted ();
diff --git a/src/lib/config.h b/src/lib/config.h
index 957a84666..0e8fccb53 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -536,6 +536,10 @@ public:
AudioMapping audio_mapping (int output_channels);
+ int minimum_frame_size () const {
+ return _minimum_frame_size;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
@@ -1047,6 +1051,10 @@ public:
void set_audio_mapping (AudioMapping m);
void set_audio_mapping_to_default ();
+ void set_minimum_frame_size (int size) {
+ maybe_set (_minimum_frame_size, size);
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
@@ -1260,6 +1268,7 @@ private:
boost::optional<boost::filesystem::path> _player_playlist_directory;
boost::optional<boost::filesystem::path> _player_kdm_directory;
boost::optional<AudioMapping> _audio_mapping;
+ int _minimum_frame_size;
static int const _current_version;
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc
index 1f9f76771..e1666ea75 100644
--- a/src/lib/dcp_video.cc
+++ b/src/lib/dcp_video.cc
@@ -128,7 +128,8 @@ DCPVideo::encode_locally ()
auto const comment = Config::instance()->dcp_j2k_comment();
ArrayData enc = {};
- int constexpr minimum_size = 65536;
+ int const minimum_size = Config::instance()->minimum_frame_size();
+ LOG_GENERAL ("Using minimum frame size %1", minimum_size);
auto xyz = convert_to_xyz (_frame, boost::bind(&Log::dcp_log, dcpomatic_log.get(), _1, _2));
int noise_amount = 2;