diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-06-14 12:58:57 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-06-14 12:58:57 +0100 |
| commit | b5e7d7127cf06f5309d2ac652d41861de59d6232 (patch) | |
| tree | a20e9c99823078b3c5d895b69f7861946f4fa7f4 /src/lib/encoder.cc | |
| parent | a30b789020ae356d8e15c6943ae5706b83df5b84 (diff) | |
Discard right-eye images when using 3D sources to make 2D DCPs.
Diffstat (limited to 'src/lib/encoder.cc')
| -rw-r--r-- | src/lib/encoder.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index f766cccd9..38bf4e290 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -173,6 +173,17 @@ void Encoder::encode (list<shared_ptr<PlayerVideo> > pv) { BOOST_FOREACH (shared_ptr<PlayerVideo> i, pv) { + if (!_film->three_d()) { + /* 2D DCP */ + if (i->eyes() == EYES_RIGHT) { + /* Discard right-eye images */ + continue; + } else if (i->eyes() == EYES_LEFT) { + /* Use left-eye images for both eyes */ + i->set_eyes (EYES_BOTH); + } + } + enqueue (i); } ++_position; @@ -191,8 +202,6 @@ Encoder::enqueue (shared_ptr<PlayerVideo> pv) boost::mutex::scoped_lock queue_lock (_queue_mutex); - /* XXX: discard 3D here if required */ - /* Wait until the queue has gone down a bit */ while (_queue.size() >= threads * 2) { LOG_TIMING ("decoder-sleep queue=%1", _queue.size()); |
