X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_decoder.cc;h=8d6f7e6c77651af66ebe4a46235274e47531f5d8;hb=a1ca287cee660bce1c41baa14e079d2c97292d81;hp=18eb1acc15ff5d1f82ad5bc642ec941c1d233dae;hpb=2e13b6693de34174da11271485ffed59a6d66cae;p=dcpomatic.git diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc index 18eb1acc1..8d6f7e6c7 100644 --- a/src/lib/video_decoder.cc +++ b/src/lib/video_decoder.cc @@ -32,14 +32,9 @@ #include "i18n.h" -using std::back_inserter; using std::cout; using std::dynamic_pointer_cast; -using std::list; -using std::make_shared; -using std::max; using std::shared_ptr; -using boost::optional; using namespace dcpomatic; @@ -110,7 +105,7 @@ VideoDecoder::emit (shared_ptr film, shared_ptr im if (vft == VideoFrameType::THREE_D_ALTERNATE) { frame = decoder_frame / 2; - eyes = (decoder_frame % 1) ? Eyes::RIGHT : Eyes::LEFT; + eyes = (decoder_frame % 2) ? Eyes::RIGHT : Eyes::LEFT; } else { frame = decoder_frame; if (vft == VideoFrameType::THREE_D) { @@ -136,6 +131,9 @@ VideoDecoder::emit (shared_ptr film, shared_ptr im frame = _position->frames_round(afr); eyes = Eyes::RIGHT; } + } else { + /* This should not happen; see above */ + frame = _position->frames_round(afr) + 1; } } else if (vft == VideoFrameType::THREE_D_ALTERNATE) { DCPOMATIC_ASSERT (_last_emitted_eyes);