#include <boost/shared_ptr.hpp>
#include <stdint.h>
+#include "util.h"
class Job;
class Encoder;
-class Decoder;
+class VideoDecoder;
+class AudioDecoder;
class Options;
class Image;
class Log;
class Subtitle;
class Film;
+class Matcher;
+class DelayLine;
+class Gain;
+class Combiner;
/** @class ABTranscoder
* @brief A transcoder which uses one Film for the left half of the screen, and a different one
boost::shared_ptr<Encoder> e
);
- ~ABTranscoder ();
-
void go ();
private:
- void process_video (boost::shared_ptr<Image>, int, boost::shared_ptr<Subtitle>, int);
-
boost::shared_ptr<Film> _film_a;
boost::shared_ptr<Film> _film_b;
boost::shared_ptr<const Options> _opt;
Job* _job;
boost::shared_ptr<Encoder> _encoder;
- boost::shared_ptr<Decoder> _da;
- boost::shared_ptr<Decoder> _db;
- int _last_frame;
+ std::pair<boost::shared_ptr<VideoDecoder>, boost::shared_ptr<AudioDecoder> > _da;
+ std::pair<boost::shared_ptr<VideoDecoder>, boost::shared_ptr<AudioDecoder> > _db;
+ 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;
};