projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Small cleanup.
[dcpomatic.git]
/
src
/
lib
/
j2k_still_encoder.cc
diff --git
a/src/lib/j2k_still_encoder.cc
b/src/lib/j2k_still_encoder.cc
index e7b0c40da28356201d61df8b2c482ecdb52e9b13..dd6ef49b2a414fdf9c3567a06012aeb4f353ed8b 100644
(file)
--- a/
src/lib/j2k_still_encoder.cc
+++ b/
src/lib/j2k_still_encoder.cc
@@
-17,8
+17,8
@@
*/
*/
-/** @file src/j2k_
wav
_encoder.cc
- * @brief An encoder which writes JPEG2000
and WAV files
.
+/** @file src/j2k_
still
_encoder.cc
+ * @brief An encoder which writes JPEG2000
files for a single still source image
.
*/
#include <sstream>
*/
#include <sstream>
@@
-30,47
+30,51
@@
#include <openjpeg.h>
#include "j2k_still_encoder.h"
#include "config.h"
#include <openjpeg.h>
#include "j2k_still_encoder.h"
#include "config.h"
-#include "film_state.h"
#include "options.h"
#include "exceptions.h"
#include "dcp_video_frame.h"
#include "filter.h"
#include "log.h"
#include "imagemagick_decoder.h"
#include "options.h"
#include "exceptions.h"
#include "dcp_video_frame.h"
#include "filter.h"
#include "log.h"
#include "imagemagick_decoder.h"
+#include "film.h"
-using namespace std;
-using namespace boost;
+using std::string;
+using std::pair;
+using boost::shared_ptr;
-J2KStillEncoder::J2KStillEncoder (shared_ptr<const Film
State> s, shared_ptr<const Options> o, Log* l
)
- : Encoder (
s, o, l
)
+J2KStillEncoder::J2KStillEncoder (shared_ptr<const Film
> f, shared_ptr<const Options> o
)
+ : Encoder (
f, o
)
{
}
void
{
}
void
-J2KStillEncoder::
process_video (shared_ptr<Image> yuv, int frame
)
+J2KStillEncoder::
do_process_video (shared_ptr<Image> yuv, shared_ptr<Subtitle> sub
)
{
{
- pair<string, string> const s = Filter::ffmpeg_strings (_f
s->filters
);
+ pair<string, string> const s = Filter::ffmpeg_strings (_f
ilm->filters()
);
DCPVideoFrame* f = new DCPVideoFrame (
DCPVideoFrame* f = new DCPVideoFrame (
- yuv,
_opt->out_size, _opt->padding, _fs->scaler, 0, _fs->frames_per_second
, s.second,
+ yuv,
sub, _opt->out_size, _opt->padding, _film->subtitle_offset(), _film->subtitle_scale(), _film->scaler(), 0, _film->frames_per_second()
, s.second,
Config::instance()->colour_lut_index(), Config::instance()->j2k_bandwidth(),
Config::instance()->colour_lut_index(), Config::instance()->j2k_bandwidth(),
- _
log
+ _
film->log()
);
);
- if (!boost::filesystem::exists (_opt->frame_out_path (
1
, false))) {
+ if (!boost::filesystem::exists (_opt->frame_out_path (
0
, false))) {
boost::shared_ptr<EncodedData> e = f->encode_locally ();
boost::shared_ptr<EncodedData> e = f->encode_locally ();
- e->write (_opt,
1
);
+ e->write (_opt,
0
);
}
}
- string const real = _opt->frame_out_path (
1
, false);
- for (int i =
2; i <= (_fs->still_duration * ImageMagickDecoder::static_frames_per_second()
); ++i) {
+ string const real = _opt->frame_out_path (
0
, false);
+ for (int i =
1; i < (_film->still_duration() * 24
); ++i) {
if (!boost::filesystem::exists (_opt->frame_out_path (i, false))) {
string const link = _opt->frame_out_path (i, false);
#ifdef DVDOMATIC_POSIX
if (!boost::filesystem::exists (_opt->frame_out_path (i, false))) {
string const link = _opt->frame_out_path (i, false);
#ifdef DVDOMATIC_POSIX
- symlink (real.c_str(), link.c_str());
+ int const r = symlink (real.c_str(), link.c_str());
+ if (r) {
+ throw EncodeError ("could not create symlink");
+ }
#endif
#ifdef DVDOMATIC_WINDOWS
#endif
#ifdef DVDOMATIC_WINDOWS
- filesystem::copy_file (real, link);
+
boost::
filesystem::copy_file (real, link);
#endif
}
frame_done ();
#endif
}
frame_done ();