X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplayer_video.h;h=e9d260972824b10e58c3a4a71e2b2388b8bf97a3;hb=cb990adba9c57e5107ef2aa9716cf0a26c1df83d;hp=4fe8712d489735c9e546c65bc304c8f2b2ad959f;hpb=d2137ac5db409e686b4d9b3fa567935a5e416d41;p=dcpomatic.git diff --git a/src/lib/player_video.h b/src/lib/player_video.h index 4fe8712d4..e9d260972 100644 --- a/src/lib/player_video.h +++ b/src/lib/player_video.h @@ -18,6 +18,9 @@ */ #include +extern "C" { +#include +} #include "types.h" #include "position.h" #include "colour_conversion.h" @@ -37,12 +40,24 @@ class EncodedData; class PlayerVideo { public: - PlayerVideo (boost::shared_ptr, DCPTime, Crop, dcp::Size, dcp::Size, Scaler const *, Eyes, Part, ColourConversion); + PlayerVideo ( + boost::shared_ptr, + DCPTime, + Crop, + boost::optional, + dcp::Size, + dcp::Size, + Scaler const *, + Eyes, + Part, + ColourConversion + ); + PlayerVideo (boost::shared_ptr, boost::shared_ptr, boost::shared_ptr); void set_subtitle (PositionImage); - boost::shared_ptr image (bool burn_subtitle) const; + boost::shared_ptr image (AVPixelFormat pix_fmt, bool burn_subtitle) const; void add_metadata (xmlpp::Node* node, bool send_subtitles) const; void send_binary (boost::shared_ptr socket, bool send_subtitles) const; @@ -62,10 +77,21 @@ public: return _colour_conversion; } + /** @return Position of the content within the overall image once it has been scaled up */ + Position inter_position () const; + + /** @return Size of the content within the overall image once it has been scaled up */ + dcp::Size inter_size () const { + return _inter_size; + } + + bool same (boost::shared_ptr other) const; + private: boost::shared_ptr _in; DCPTime _time; Crop _crop; + boost::optional _fade; dcp::Size _inter_size; dcp::Size _out_size; Scaler const * _scaler;