summaryrefslogtreecommitdiff
path: root/src/lib/j2k_image_proxy.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-11-26 15:14:11 +0000
committerCarl Hetherington <cth@carlh.net>2016-11-26 15:14:11 +0000
commit5bbf16e87ca09369174c9d2bb7f7fe94b6d70275 (patch)
tree16b11c4d6480523711b4261e6f064aa58b0f5707 /src/lib/j2k_image_proxy.h
parent51468148d3dde7cb4be3dae6442e5ef6bcafda2b (diff)
Reduce during J2K decode where possible for playback (#986).
Diffstat (limited to 'src/lib/j2k_image_proxy.h')
-rw-r--r--src/lib/j2k_image_proxy.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/j2k_image_proxy.h b/src/lib/j2k_image_proxy.h
index 96a776f2a..8fc9040d5 100644
--- a/src/lib/j2k_image_proxy.h
+++ b/src/lib/j2k_image_proxy.h
@@ -35,7 +35,11 @@ public:
J2KImageProxy (boost::shared_ptr<const dcp::StereoPictureFrame> frame, dcp::Size, dcp::Eye, AVPixelFormat pixel_format);
J2KImageProxy (boost::shared_ptr<cxml::Node> xml, boost::shared_ptr<Socket> socket);
- boost::shared_ptr<Image> image (boost::optional<dcp::NoteHandler> note = boost::optional<dcp::NoteHandler> ()) const;
+ boost::shared_ptr<Image> image (
+ boost::optional<dcp::NoteHandler> note = boost::optional<dcp::NoteHandler> (),
+ boost::optional<dcp::Size> size = boost::optional<dcp::Size> ()
+ ) const;
+
void add_metadata (xmlpp::Node *) const;
void send_binary (boost::shared_ptr<Socket>) const;
/** @return true if our image is definitely the same as another, false if it is probably not */
@@ -57,11 +61,11 @@ private:
/* For tests */
J2KImageProxy (dcp::Data data, dcp::Size size, AVPixelFormat pixel_format);
- void ensure_j2k () const;
dcp::Data _data;
dcp::Size _size;
boost::optional<dcp::Eye> _eye;
mutable boost::shared_ptr<dcp::OpenJPEGImage> _j2k;
+ mutable boost::optional<dcp::Size> _j2k_target_size;
AVPixelFormat _pixel_format;
};