summaryrefslogtreecommitdiff
path: root/src/lib/imagemagick_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-21 22:41:52 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-21 22:41:52 +0100
commit47f25009bcbc765e397bcb471dd361a511c99daf (patch)
tree356ac924524183047a84e34674985b3a00c5ca24 /src/lib/imagemagick_decoder.cc
parentafc495f722f89fea0bcc579046d1a5d362e36f69 (diff)
parente8d8a27c7f6861b031b3250b0ad50d04c41a7721 (diff)
Untested merge of master.
Diffstat (limited to 'src/lib/imagemagick_decoder.cc')
-rw-r--r--src/lib/imagemagick_decoder.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/lib/imagemagick_decoder.cc b/src/lib/imagemagick_decoder.cc
index 7049b7d6e..3888347ca 100644
--- a/src/lib/imagemagick_decoder.cc
+++ b/src/lib/imagemagick_decoder.cc
@@ -65,8 +65,8 @@ ImageMagickDecoder::pass ()
return true;
}
- if (have_last_video ()) {
- repeat_last_video (double (_position) / 24);
+ if (_image) {
+ emit_video (_image, true, double (_position) / 24);
_position++;
return false;
}
@@ -74,11 +74,11 @@ ImageMagickDecoder::pass ()
Magick::Image* magick_image = new Magick::Image (_imagemagick_content->file().string ());
libdcp::Size size = native_size ();
- shared_ptr<Image> image (new SimpleImage (PIX_FMT_RGB24, size, false));
+ _image.reset (new SimpleImage (PIX_FMT_RGB24, size, false));
using namespace MagickCore;
- uint8_t* p = image->data()[0];
+ uint8_t* p = _image->data()[0];
for (int y = 0; y < size.height; ++y) {
for (int x = 0; x < size.width; ++x) {
Magick::Color c = magick_image->pixelColor (x, y);
@@ -90,9 +90,8 @@ ImageMagickDecoder::pass ()
delete magick_image;
- image = image->crop (_film->crop(), true);
-
- emit_video (image, double (_position) / 24);
+ _image = _image->crop (_film->crop(), true);
+ emit_video (_image, false, double (_position) / 24);
++_position;
return false;