From bd47b3ee1c76d439fecddcb913270a193f6eab5b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 25 Aug 2013 17:21:12 +0100 Subject: Interop support. --- src/lib/still_image_decoder.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/lib/still_image_decoder.cc') diff --git a/src/lib/still_image_decoder.cc b/src/lib/still_image_decoder.cc index 1dd684639..6e82f9a55 100644 --- a/src/lib/still_image_decoder.cc +++ b/src/lib/still_image_decoder.cc @@ -55,18 +55,20 @@ StillImageDecoder::pass () Magick::Image* magick_image = new Magick::Image (_still_image_content->path().string ()); _video_size = libdcp::Size (magick_image->columns(), magick_image->rows()); - _image.reset (new Image (PIX_FMT_RGB24, _video_size.get(), false)); + _image.reset (new Image (PIX_FMT_RGB24, _video_size.get(), true)); using namespace MagickCore; uint8_t* p = _image->data()[0]; for (int y = 0; y < _video_size->height; ++y) { + uint8_t* q = p; for (int x = 0; x < _video_size->width; ++x) { Magick::Color c = magick_image->pixelColor (x, y); - *p++ = c.redQuantum() * 255 / QuantumRange; - *p++ = c.greenQuantum() * 255 / QuantumRange; - *p++ = c.blueQuantum() * 255 / QuantumRange; + *q++ = c.redQuantum() * 255 / QuantumRange; + *q++ = c.greenQuantum() * 255 / QuantumRange; + *q++ = c.blueQuantum() * 255 / QuantumRange; } + p += _image->stride()[0]; } delete magick_image; -- cgit v1.2.3