X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fvideo_content.h;h=792929419c42f36e091efe40ef583df3eb20b7d3;hb=6bf1fecd1064978bcadd11b8cd56a5b8d9a132a3;hp=e88fb022720d0c91e13d875b36ff6589c1eec0ce;hpb=f90d74f7a0382f0dc63eef81bd553d7a7b38edb2;p=dcpomatic.git diff --git a/src/lib/video_content.h b/src/lib/video_content.h index e88fb0227..792929419 100644 --- a/src/lib/video_content.h +++ b/src/lib/video_content.h @@ -43,8 +43,6 @@ public: class VideoContent : public virtual Content { public: - typedef int Frame; - VideoContent (boost::shared_ptr); VideoContent (boost::shared_ptr, DCPTime, ContentTime); VideoContent (boost::shared_ptr, boost::filesystem::path); @@ -53,7 +51,6 @@ public: void as_xml (xmlpp::Node *) const; std::string technical_summary () const; - virtual std::string information () const; virtual std::string identifier () const; ContentTime video_length () const { @@ -89,7 +86,9 @@ public: void set_bottom_crop (int); void set_scale (VideoContentScale); + void unset_colour_conversion (bool signal = true); void set_colour_conversion (ColourConversion); + void set_default_colour_conversion (bool signal = true); void set_fade_in (ContentTime); void set_fade_out (ContentTime); @@ -130,11 +129,16 @@ public: return _scale; } - ColourConversion colour_conversion () const { + boost::optional colour_conversion () const { boost::mutex::scoped_lock lm (_mutex); return _colour_conversion; } + boost::optional sample_aspect_ratio () const { + boost::mutex::scoped_lock lm (_mutex); + return _sample_aspect_ratio; + } + ContentTime fade_in () const { boost::mutex::scoped_lock lm (_mutex); return _fade_in; @@ -155,6 +159,8 @@ public: void scale_and_crop_to_fit_width (); void scale_and_crop_to_fit_height (); + std::string processing_description () const; + protected: void take_from_video_examiner (boost::shared_ptr); @@ -173,7 +179,11 @@ private: VideoFrameType _video_frame_type; Crop _crop; VideoContentScale _scale; - ColourConversion _colour_conversion; + boost::optional _colour_conversion; + /** Sample aspect ratio obtained from the content file's header, + if there is one. + */ + boost::optional _sample_aspect_ratio; ContentTime _fade_in; ContentTime _fade_out; };