Stop using static initialisation so that dcpomatic::write() can be called more than...
[dcpomatic.git] / src / lib / image_examiner.h
index ca8ecf9c8c7a013dfbd91557c5357faa68997175..53fab327e495dac5a34ef37040cabf0603773a71 100644 (file)
@@ -25,24 +25,28 @@ class ImageContent;
 class ImageExaminer : public VideoExaminer
 {
 public:
-       ImageExaminer (boost::shared_ptr<const Film>, boost::shared_ptr<const ImageContent>, boost::shared_ptr<Job>);
+       ImageExaminer (std::shared_ptr<const Film>, std::shared_ptr<const ImageContent>, std::shared_ptr<Job>);
 
-       bool has_video () const {
+       bool has_video () const override {
                return true;
        }
-       boost::optional<double> video_frame_rate () const;
-       dcp::Size video_size () const;
-       Frame video_length () const {
+       boost::optional<double> video_frame_rate () const override;
+       dcp::Size video_size () const override;
+       Frame video_length () const override {
                return _video_length;
        }
-       bool yuv () const;
-       VideoRange range () const {
-               return VIDEO_RANGE_FULL;
+       bool yuv () const override;
+       VideoRange range () const override {
+               return VideoRange::FULL;
+       }
+       PixelQuanta pixel_quanta () const override {
+               /* See ::yuv - we're assuming the image is not YUV and so not subsampled */
+               return {};
        }
 
 private:
-       boost::weak_ptr<const Film> _film;
-       boost::shared_ptr<const ImageContent> _image_content;
+       std::weak_ptr<const Film> _film;
+       std::shared_ptr<const ImageContent> _image_content;
        boost::optional<dcp::Size> _video_size;
        Frame _video_length;
 };