X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fab_transcode_job.cc;h=025c23c86e633cb00c2867e9d7b370bb5f58cd76;hb=d0d93259d096faa0d410a27450445a3a1a16c430;hp=fd8236bf028ec54a2fb10d565bc6e9be433fb2f3;hpb=9dd38ef2f05b24ba669acb9805e0914ac227fff2;p=dcpomatic.git diff --git a/src/lib/ab_transcode_job.cc b/src/lib/ab_transcode_job.cc index fd8236bf0..025c23c86 100644 --- a/src/lib/ab_transcode_job.cc +++ b/src/lib/ab_transcode_job.cc @@ -19,42 +19,40 @@ #include #include "ab_transcode_job.h" -#include "j2k_wav_encoder.h" #include "film.h" #include "format.h" #include "filter.h" #include "ab_transcoder.h" -#include "film_state.h" -#include "encoder_factory.h" #include "config.h" +#include "encoder.h" -using namespace std; -using namespace boost; +using std::string; +using boost::shared_ptr; -/** @param s FilmState to compare (with filters and/or a non-bicubic scaler). - * @param o Options. - * @Param l A log that we can write to. +/** @param f Film to compare. + * @param o Decode options. */ -ABTranscodeJob::ABTranscodeJob (shared_ptr s, shared_ptr o, Log* l, shared_ptr req) - : Job (s, o, l, req) +ABTranscodeJob::ABTranscodeJob (shared_ptr f, DecodeOptions o) + : Job (f) + , _decode_opt (o) { - _fs_b.reset (new FilmState (*_fs)); - _fs_b->scaler = Config::instance()->reference_scaler (); - _fs_b->filters = Config::instance()->reference_filters (); + _film_b.reset (new Film (*_film)); + _film_b->set_scaler (Config::instance()->reference_scaler ()); + _film_b->set_filters (Config::instance()->reference_filters ()); } string ABTranscodeJob::name () const { - return String::compose ("A/B transcode %1", _fs->name); + return String::compose ("A/B transcode %1", _film->name()); } void ABTranscodeJob::run () { try { - /* _fs_b is the one with no filters */ - ABTranscoder w (_fs_b, _fs, _opt, this, _log, encoder_factory (_fs, _opt, _log)); + /* _film_b is the one with reference filters */ + ABTranscoder w (_film_b, _film, _decode_opt, this, shared_ptr (new Encoder (_film))); w.go (); set_progress (1); set_state (FINISHED_OK);