Supporters update.
[dcpomatic.git] / src / lib / video_examiner.h
index dd5d08c9e75341773265f7fa94d3bc1af5a9355c..b670dafc54a8191165a9fbfd0e4205f87126ca34 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 /** @file  src/lib/video_examiner.h
  *  @brief VideoExaminer class.
  */
 
-#include "types.h"
+
+#include "pixel_quanta.h"
 #include "video_content.h"
 #include <dcp/types.h>
 
+
 /** @class VideoExaminer
  *  @brief Parent for classes which examine video sources and obtain information about them.
  */
@@ -38,14 +41,16 @@ public:
 
        /** @return video frame rate (if known); must not be called if has_video() == false */
        virtual boost::optional<double> video_frame_rate () const = 0;
-       /** @return video size; must not be called if has_video() == false */
-       virtual dcp::Size video_size () const = 0;
+       /** @return video size (if known) */
+       virtual boost::optional<dcp::Size> video_size() const = 0;
        /** @return video length in frames; must not be called if has_video() == false */
        virtual Frame video_length () const = 0;
        /** @return video sample aspect ratio (if known); must not be called if has_video() == false */
        virtual boost::optional<double> sample_aspect_ratio () const {
-               return boost::optional<double> ();
+               return {};
        }
        /** @return true if this video is in YUV; must not be called if has_video() == false */
        virtual bool yuv () const = 0;
+       virtual VideoRange range () const = 0;
+       virtual PixelQuanta pixel_quanta () const = 0;
 };