Merge master.
[dcpomatic.git] / src / lib / video_content.h
index 8313c73eeb8a32b8d65a79e2caa6d22466966042..d32769b5a9dde2ec41128207983e04b9721b8c0e 100644 (file)
@@ -45,7 +45,7 @@ public:
        VideoContentScale (bool);
        VideoContentScale (cxml::NodePtr);
 
-       dcp::Size size (boost::shared_ptr<const VideoContent>, dcp::Size, dcp::Size) const;
+       dcp::Size size (boost::shared_ptr<const VideoContent>, dcp::Size, dcp::Size, int round) const;
        std::string id () const;
        std::string name () const;
        void as_xml (xmlpp::Node *) const;
@@ -62,6 +62,7 @@ public:
        static std::vector<VideoContentScale> all () {
                return _scales;
        }
+       static VideoContentScale from_id (std::string id);
 
 private:
        /** a ratio to stretch the content to, or 0 for no stretch */
@@ -116,6 +117,7 @@ public:
        }
 
        void set_video_frame_type (VideoFrameType);
+       void set_video_frame_rate (float);
 
        void set_left_crop (int);
        void set_right_crop (int);
@@ -171,6 +173,9 @@ public:
 
        ContentTime dcp_time_to_content_time (DCPTime) const;
 
+       void scale_and_crop_to_fit_width ();
+       void scale_and_crop_to_fit_height ();
+
 protected:
        void take_from_video_examiner (boost::shared_ptr<VideoExaminer>);
 
@@ -178,10 +183,10 @@ protected:
        float _video_frame_rate;
 
 private:
-       friend class ffmpeg_pts_offset_test;
-       friend class best_dcp_frame_rate_test_single;
-       friend class best_dcp_frame_rate_test_double;
-       friend class audio_sampling_rate_test;
+       friend struct ffmpeg_pts_offset_test;
+       friend struct best_dcp_frame_rate_test_single;
+       friend struct best_dcp_frame_rate_test_double;
+       friend struct audio_sampling_rate_test;
 
        void setup_default_colour_conversion ();