Some include tidying.
[dcpomatic.git] / src / lib / video_decoder.h
index f5c3cd743ba43bf3df96d4a1706507a33a0e3a95..f37d4b1ad8458f7b26176676e4c788a054e2d78d 100644 (file)
 #ifndef DCPOMATIC_VIDEO_DECODER_H
 #define DCPOMATIC_VIDEO_DECODER_H
 
-#include <boost/signals2.hpp>
-#include <boost/shared_ptr.hpp>
 #include "decoder.h"
 #include "video_content.h"
 #include "util.h"
 #include "content_video.h"
+#include <boost/signals2.hpp>
+#include <boost/shared_ptr.hpp>
 
 class VideoContent;
 class ImageProxy;
+class Image;
 
 /** @class VideoDecoder
  *  @brief Parent for classes which decode video.
@@ -53,14 +54,21 @@ public:
 #endif
 
 protected:
+       friend struct video_decoder_fill_test1;
+       friend struct video_decoder_fill_test2;
 
        void seek (ContentTime time, bool accurate);
        void video (boost::shared_ptr<const ImageProxy>, VideoFrame frame);
        std::list<ContentVideo> decoded_video (VideoFrame frame);
+       void fill_2d (VideoFrame from, VideoFrame to);
+       void fill_3d (VideoFrame from, VideoFrame to, Eyes);
 
        boost::shared_ptr<const VideoContent> _video_content;
        std::list<ContentVideo> _decoded_video;
        bool _same;
+       boost::shared_ptr<Image> _black_image;
+       boost::optional<ContentTime> _last_seek_time;
+       bool _last_seek_accurate;
 };
 
 #endif