X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_video_frame.h;h=4ceb07d2649905a87a80ebf9daa6712e97fc8d96;hb=254664b5a482cb3551d0a98ececfbdd8296e6c71;hp=f5ffa467e81b8ef45de2b4941ff95940ae80f9df;hpb=ef0aa27c671f9c34b9aad79015bcc50cb10c0fc5;p=dcpomatic.git diff --git a/src/lib/dcp_video_frame.h b/src/lib/dcp_video_frame.h index f5ffa467e..4ceb07d26 100644 --- a/src/lib/dcp_video_frame.h +++ b/src/lib/dcp_video_frame.h @@ -19,14 +19,14 @@ */ #include +#include #include "util.h" /** @file src/dcp_video_frame.h * @brief A single frame of video destined for a DCP. */ -class FilmState; -class EncodeOptions; +class Film; class ServerDescription; class Scaler; class Image; @@ -39,14 +39,16 @@ class Subtitle; class EncodedData { public: - /** @param s Size of data, in bytes. - */ + /** @param s Size of data, in bytes */ EncodedData (int s); + EncodedData (std::string f); + virtual ~EncodedData (); void send (boost::shared_ptr socket); - void write (boost::shared_ptr, SourceFrame); + void write (boost::shared_ptr, int) const; + void write_info (boost::shared_ptr, int, libdcp::FrameInfo) const; /** @return data */ uint8_t* data () const { @@ -104,8 +106,8 @@ class DCPVideoFrame { public: DCPVideoFrame ( - boost::shared_ptr, boost::shared_ptr, Size, - int, int, float, Scaler const *, SourceFrame, float, std::string, int, int, Log * + boost::shared_ptr, boost::shared_ptr, libdcp::Size, + int, int, float, Scaler const *, int, int, std::string, int, int, boost::shared_ptr ); virtual ~DCPVideoFrame (); @@ -113,7 +115,7 @@ public: boost::shared_ptr encode_locally (); boost::shared_ptr encode_remotely (ServerDescription const *); - SourceFrame frame () const { + int frame () const { return _frame; } @@ -122,18 +124,18 @@ private: boost::shared_ptr _input; ///< the input image boost::shared_ptr _subtitle; ///< any subtitle that should be on the image - Size _out_size; ///< the required size of the output, in pixels + libdcp::Size _out_size; ///< the required size of the output, in pixels int _padding; int _subtitle_offset; float _subtitle_scale; Scaler const * _scaler; ///< scaler to use - SourceFrame _frame; ///< frame index within the Film's source - int _frames_per_second; ///< Frames per second that we will use for the DCP (rounded) + int _frame; ///< frame index within the DCP's intrinsic duration + int _frames_per_second; ///< Frames per second that we will use for the DCP std::string _post_process; ///< FFmpeg post-processing string to use - int _colour_lut_index; ///< Colour look-up table to use (see Config::colour_lut_index ()) - int _j2k_bandwidth; ///< J2K bandwidth to use (see Config::j2k_bandwidth ()) + int _colour_lut; ///< Colour look-up table to use + int _j2k_bandwidth; ///< J2K bandwidth to use - Log* _log; ///< log + boost::shared_ptr _log; ///< log opj_image_cmptparm_t _cmptparm[3]; ///< libopenjpeg's opj_image_cmptparm_t opj_image* _image; ///< libopenjpeg's image container