diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-10-05 01:34:07 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-10-05 01:34:07 +0100 |
| commit | 35c0a33f8da3b1f99ec32a8c42f578cbc063e7e4 (patch) | |
| tree | bc1827210ad379143236bafd0875252959ef6b99 /src/lib/writer.cc | |
| parent | 46ffbecc24e997c91c152a6e7154747b2e76a904 (diff) | |
Add configuration option to set writer's maximum frames in memory.
Diffstat (limited to 'src/lib/writer.cc')
| -rw-r--r-- | src/lib/writer.cc | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc index b5123ad74..3f0c687c2 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -676,16 +676,7 @@ operator== (QueueItem const & a, QueueItem const & b) void Writer::set_encoder_threads (int threads) { - /* I think the scaling factor here should be the ratio of the longest frame - encode time to the shortest; if the thread count is T, longest time is L - and the shortest time S we could encode L/S frames per thread whilst waiting - for the L frame to encode so we might have to store LT/S frames. - - However we don't want to use too much memory, so keep it a bit lower than we'd - perhaps like. A J2K frame is typically about 1Mb so 3 here will mean we could - use about 240Mb with 72 encoding threads. - */ - _maximum_frames_in_memory = lrint (threads * 3); + _maximum_frames_in_memory = lrint (threads * Config::instance()->frames_in_memory_multiplier()); } void |
