X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_content.h;h=d32769b5a9dde2ec41128207983e04b9721b8c0e;hb=5dc2dbdb6639f8d617a40209ad603d2a38f9df2a;hp=6b91997c9f4076c91ffdd9d536ee21106bc0e9d0;hpb=854f2e5bbb7ffb9758b823af87034033033f3cb8;p=dcpomatic.git diff --git a/src/lib/video_content.h b/src/lib/video_content.h index 6b91997c9..d32769b5a 100644 --- a/src/lib/video_content.h +++ b/src/lib/video_content.h @@ -43,9 +43,9 @@ public: VideoContentScale (); VideoContentScale (Ratio const *); VideoContentScale (bool); - VideoContentScale (boost::shared_ptr); + VideoContentScale (cxml::NodePtr); - dcp::Size size (boost::shared_ptr, dcp::Size, dcp::Size) const; + dcp::Size size (boost::shared_ptr, 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 all () { return _scales; } + static VideoContentScale from_id (std::string id); private: /** a ratio to stretch the content to, or 0 for no stretch */ @@ -83,7 +84,7 @@ public: VideoContent (boost::shared_ptr); VideoContent (boost::shared_ptr, DCPTime, ContentTime); VideoContent (boost::shared_ptr, boost::filesystem::path); - VideoContent (boost::shared_ptr, boost::shared_ptr, int); + VideoContent (boost::shared_ptr, cxml::ConstNodePtr, int); VideoContent (boost::shared_ptr, std::vector >); void as_xml (xmlpp::Node *) const; @@ -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); @@ -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 ();