X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_video_frame.h;h=e4006d98683af8c9ff58e9d0eafc9040686d9c56;hb=93510d31e7ae2cadf2de076d4bef60ca3f381a35;hp=e786d9b610d943560b8cf0ac29cf9587c7fb1c97;hpb=8349f0c97d98c0b7550ff4c76ad25f8f06270d6a;p=dcpomatic.git diff --git a/src/lib/dcp_video_frame.h b/src/lib/dcp_video_frame.h index e786d9b61..e4006d986 100644 --- a/src/lib/dcp_video_frame.h +++ b/src/lib/dcp_video_frame.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2012-2014 Carl Hetherington Taken from code Copyright (C) 2010-2011 Terrence Meiczinger This program is free software; you can redistribute it and/or modify @@ -20,6 +20,7 @@ #include #include +#include #include "util.h" /** @file src/dcp_video_frame.h @@ -32,6 +33,7 @@ class Scaler; class Image; class Log; class Subtitle; +class PlayerVideoFrame; /** @class EncodedData * @brief Container for J2K-encoded data. @@ -42,7 +44,7 @@ public: /** @param s Size of data, in bytes */ EncodedData (int s); - EncodedData (std::string f); + EncodedData (boost::filesystem::path); virtual ~EncodedData (); @@ -101,25 +103,27 @@ public: class DCPVideoFrame : public boost::noncopyable { public: - DCPVideoFrame (boost::shared_ptr, int, Eyes, int, int, boost::shared_ptr); + DCPVideoFrame (boost::shared_ptr, int, int, int, Resolution, boost::shared_ptr); + DCPVideoFrame (boost::shared_ptr, boost::shared_ptr, boost::shared_ptr); boost::shared_ptr encode_locally (); - boost::shared_ptr encode_remotely (ServerDescription const *); + boost::shared_ptr encode_remotely (ServerDescription); - Eyes eyes () const { - return _eyes; - } - - int frame () const { - return _frame; + int index () const { + return _index; } + + Eyes eyes () const; private: - boost::shared_ptr _image; - int _frame; ///< frame index within the DCP's intrinsic duration - Eyes _eyes; + + void add_metadata (xmlpp::Element *) const; + + boost::shared_ptr _frame; + int _index; ///< frame index within the DCP's intrinsic duration int _frames_per_second; ///< Frames per second that we will use for the DCP int _j2k_bandwidth; ///< J2K bandwidth to use + Resolution _resolution; ///< Resolution (2K or 4K) boost::shared_ptr _log; ///< log };