X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplayer_video.h;h=56cfbd1005912a00b879f7263205a1017f980c7b;hb=a332bd6be323f03dad5b180fb237afe54f1bf81e;hp=a8f12a0829c886aded28cb30242edb212e2e334c;hpb=e9cca90a162e3e4b1db4a5e5188831beaa69d44e;p=dcpomatic.git diff --git a/src/lib/player_video.h b/src/lib/player_video.h index a8f12a082..56cfbd100 100644 --- a/src/lib/player_video.h +++ b/src/lib/player_video.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2019 Carl Hetherington + Copyright (C) 2013-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -32,6 +32,7 @@ extern "C" { #include #include #include +#include class Image; class ImageProxy; @@ -42,7 +43,7 @@ class Socket; * bits still their raw form. We may want to combine the bits on a remote machine, * or maybe not even bother to combine them at all. */ -class PlayerVideo +class PlayerVideo : public boost::noncopyable { public: PlayerVideo ( @@ -66,8 +67,8 @@ public: void set_text (PositionImage); - void prepare (boost::function pixel_format, bool aligned, bool fast); - boost::shared_ptr image (boost::function pixel_format, bool aligned, bool fast) const; + void prepare (boost::function pixel_format, VideoRange video_range, bool aligned, bool fast); + boost::shared_ptr image (boost::function pixel_format, VideoRange video_range, bool aligned, bool fast) const; static AVPixelFormat force (AVPixelFormat, AVPixelFormat); static AVPixelFormat keep_xyz_or_rgb (AVPixelFormat); @@ -78,7 +79,7 @@ public: bool reset_metadata (boost::shared_ptr film, dcp::Size video_container_size, dcp::Size film_frame_size); bool has_j2k () const; - dcp::Data j2k () const; + boost::shared_ptr j2k () const; Eyes eyes () const { return _eyes; @@ -113,7 +114,7 @@ public: } private: - void make_image (boost::function pixel_format, bool aligned, bool fast) const; + void make_image (boost::function pixel_format, VideoRange video_range, bool aligned, bool fast) const; boost::shared_ptr _in; Crop _crop; @@ -125,9 +126,7 @@ private: boost::optional _colour_conversion; VideoRange _video_range; boost::optional _text; - /** Content that we came from. This is so that reset_metadata() can work, and also - * for variant:swaroop's non-skippable ads. - */ + /** Content that we came from. This is so that reset_metadata() can work. */ boost::weak_ptr _content; /** Video frame that we came from. Again, this is for reset_metadata() */ boost::optional _video_frame;