summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-02-02 18:46:58 +0000
committerCarl Hetherington <cth@carlh.net>2015-02-02 18:46:58 +0000
commitb255fcca7f57c7068603a104adbb645fe5701c21 (patch)
treeb463feeb0d0c7e1283d6eb8fd0851eaa1f48750d /src/lib
parent78dd04db5ee5d1aa5fc915f04dc71cb53d33d059 (diff)
Improve efficiency of DCP -> image decoding.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_examiner.cc4
-rw-r--r--src/lib/j2k_image_proxy.cc8
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index de7e95399..35be422c1 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -120,9 +120,9 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content)
shared_ptr<Image> image (new Image (PIX_FMT_RGB48LE, _video_size.get(), false));
if (mono) {
- mono->get_frame(0)->rgb_frame (reinterpret_cast<uint16_t*> (image->data()[0]));
+ mono->get_frame(0)->rgb_frame (image);
} else {
- stereo->get_frame(0)->rgb_frame (dcp::EYE_LEFT, reinterpret_cast<uint16_t*> (image->data()[0]));
+ stereo->get_frame(0)->rgb_frame (dcp::EYE_LEFT, image);
}
}
diff --git a/src/lib/j2k_image_proxy.cc b/src/lib/j2k_image_proxy.cc
index 09eaa4695..2c4a2db5b 100644
--- a/src/lib/j2k_image_proxy.cc
+++ b/src/lib/j2k_image_proxy.cc
@@ -77,15 +77,15 @@ J2KImageProxy::J2KImageProxy (shared_ptr<cxml::Node> xml, shared_ptr<Socket> soc
shared_ptr<Image>
J2KImageProxy::image (optional<dcp::NoteHandler> note) const
{
- shared_ptr<Image> image (new Image (PIX_FMT_RGB48LE, _size, false));
+ shared_ptr<Image> image (new Image (PIX_FMT_RGB48LE, _size, true));
if (_mono) {
- _mono->rgb_frame (reinterpret_cast<uint16_t*> (image->data()[0]), note);
+ _mono->rgb_frame (image, note);
} else {
- _stereo->rgb_frame (_eye, reinterpret_cast<uint16_t*> (image->data()[0]));
+ _stereo->rgb_frame (_eye, image);
}
- return shared_ptr<Image> (new Image (image, true));
+ return image;
}
void