Various bits.
[dcpomatic.git] / src / lib / ab_transcoder.h
index 491205ef715cbc934c96cd9e3403a68de7253856..b1b01d724f7b4818400122c7347aafe8d9f0bcad 100644 (file)
 */
 
 /** @file src/ab_transcoder.h
- *  @brief A transcoder which uses one FilmState for the left half of the screen, and a different one
+ *  @brief A transcoder which uses one Film for the left half of the screen, and a different one
  *  for the right half (to facilitate A/B comparisons of settings)
  */
 
 #include <boost/shared_ptr.hpp>
 #include <stdint.h>
+#include "util.h"
 
 class Job;
 class Encoder;
-class Decoder;
-class FilmState;
-class Options;
 class Image;
 class Log;
-class Subtitle;
+class Film;
+class Matcher;
+class DelayLine;
+class Gain;
+class Combiner;
+class Player;
 
 /** @class ABTranscoder
- *  @brief A transcoder which uses one FilmState for the left half of the screen, and a different one
+ *  @brief A transcoder which uses one Film for the left half of the screen, and a different one
  *  for the right half (to facilitate A/B comparisons of settings)
  */
 class ABTranscoder
 {
 public:
        ABTranscoder (
-               boost::shared_ptr<const FilmState> a,
-               boost::shared_ptr<const FilmState> b,
-               boost::shared_ptr<const Options> o,
-               Job* j,
-               Log* l,
-               boost::shared_ptr<Encoder> e
+               boost::shared_ptr<Film> a,
+               boost::shared_ptr<Film> b,
+               boost::shared_ptr<Job> j
                );
        
-       ~ABTranscoder ();
-
        void go ();
 
 private:
-       void process_video (boost::shared_ptr<Image>, int, boost::shared_ptr<Subtitle>, int);
-       
-       boost::shared_ptr<const FilmState> _fs_a;
-       boost::shared_ptr<const FilmState> _fs_b;
-       boost::shared_ptr<const Options> _opt;
-       Job* _job;
-       Log* _log;
+       boost::shared_ptr<Film> _film_a;
+       boost::shared_ptr<Film> _film_b;
+       boost::shared_ptr<Player> _player_a;
+       boost::shared_ptr<Player> _player_b;
+       boost::shared_ptr<Job> _job;
        boost::shared_ptr<Encoder> _encoder;
-       boost::shared_ptr<Decoder> _da;
-       boost::shared_ptr<Decoder> _db;
-       int _last_frame;
+       boost::shared_ptr<Combiner> _combiner;
+       boost::shared_ptr<Matcher> _matcher;
+       boost::shared_ptr<DelayLine> _delay_line;
+       boost::shared_ptr<Gain> _gain;
        boost::shared_ptr<Image> _image;
 };