X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_video_frame.cc;h=c185de0f4d74ffeef5b6df6cdec2299874db6c3f;hb=2231b171b4b624f4b747031727f61bd93f80957f;hp=916a57bc8f64e6773b2584da4674ecc1b7f289ea;hpb=d3f1e0827be04befcc7dbcaa4f7820ca278770e0;p=dcpomatic.git diff --git a/src/lib/dcp_video_frame.cc b/src/lib/dcp_video_frame.cc index 916a57bc8..c185de0f4 100644 --- a/src/lib/dcp_video_frame.cc +++ b/src/lib/dcp_video_frame.cc @@ -47,7 +47,6 @@ #include "dcp_video_frame.h" #include "lut.h" #include "config.h" -#include "film_state.h" #include "options.h" #include "exceptions.h" #include "server.h" @@ -57,8 +56,10 @@ #include "log.h" #include "subtitle.h" -using namespace std; -using namespace boost; +using std::string; +using std::stringstream; +using std::ofstream; +using boost::shared_ptr; /** Construct a DCP video frame. * @param input Input image. @@ -73,9 +74,9 @@ using namespace boost; * @param l Log to write to. */ DCPVideoFrame::DCPVideoFrame ( - shared_ptr yuv, shared_ptr sub, + shared_ptr yuv, shared_ptr sub, Size out, int p, int subtitle_offset, float subtitle_scale, - Scaler const * s, int f, float fps, string pp, int clut, int bw, Log* l + Scaler const * s, SourceFrame f, float fps, string pp, int clut, int bw, Log* l ) : _input (yuv) , _subtitle (sub) @@ -85,8 +86,7 @@ DCPVideoFrame::DCPVideoFrame ( , _subtitle_scale (subtitle_scale) , _scaler (s) , _frame (f) - /* we round here; not sure if this is right */ - , _frames_per_second (rint (fps)) + , _frames_per_second (dcp_frame_rate(fps).frames_per_second) , _post_process (pp) , _colour_lut_index (clut) , _j2k_bandwidth (bw) @@ -307,10 +307,10 @@ DCPVideoFrame::encode_locally () shared_ptr DCPVideoFrame::encode_remotely (ServerDescription const * serv) { - asio::io_service io_service; - asio::ip::tcp::resolver resolver (io_service); - asio::ip::tcp::resolver::query query (serv->host_name(), boost::lexical_cast (Config::instance()->server_port ())); - asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve (query); + boost::asio::io_service io_service; + boost::asio::ip::tcp::resolver resolver (io_service); + boost::asio::ip::tcp::resolver::query query (serv->host_name(), boost::lexical_cast (Config::instance()->server_port ())); + boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve (query); shared_ptr socket (new Socket); @@ -344,6 +344,13 @@ DCPVideoFrame::encode_remotely (ServerDescription const * serv) << "subtitle_height " << _subtitle->image()->size().height << "\n"; } + _log->log (String::compose ( + "Sending to remote; pixel format %1, components %2, lines (%3,%4,%5), line sizes (%6,%7,%8)", + _input->pixel_format(), _input->components(), + _input->lines(0), _input->lines(1), _input->lines(2), + _input->line_size()[0], _input->line_size()[1], _input->line_size()[2] + )); + socket->write ((uint8_t *) s.str().c_str(), s.str().length() + 1, 30); _input->write_to_socket (socket); @@ -369,7 +376,7 @@ DCPVideoFrame::encode_remotely (ServerDescription const * serv) * @param frame Frame index. */ void -EncodedData::write (shared_ptr opt, int frame) +EncodedData::write (shared_ptr opt, SourceFrame frame) { string const tmp_j2k = opt->frame_out_path (frame, true); @@ -385,7 +392,7 @@ EncodedData::write (shared_ptr opt, int frame) string const real_j2k = opt->frame_out_path (frame, false); /* Rename the file from foo.j2c.tmp to foo.j2c now that it is complete */ - filesystem::rename (tmp_j2k, real_j2k); + boost::filesystem::rename (tmp_j2k, real_j2k); /* Write a file containing the hash */ string const hash = real_j2k + ".md5";