summaryrefslogtreecommitdiff
path: root/src/lib/j2k_image_proxy.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-11-01 23:51:19 +0100
committerCarl Hetherington <cth@carlh.net>2020-11-02 23:10:04 +0100
commit2ea3a0d0e4066a166c0700bd1d53daa7f1c50dff (patch)
treea730b75be36d74a8aee1ebab60d5a3aa629d8d35 /src/lib/j2k_image_proxy.h
parent6fa9748f382302fa88292b4219598bb81edc7bd0 (diff)
Pass around JPEG2000 data as a shared_ptr and hence avoid a copy
of 4MB of data for every JPEG2000 frame we decode.
Diffstat (limited to 'src/lib/j2k_image_proxy.h')
-rw-r--r--src/lib/j2k_image_proxy.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/j2k_image_proxy.h b/src/lib/j2k_image_proxy.h
index 71bcffb2c..3eccc213d 100644
--- a/src/lib/j2k_image_proxy.h
+++ b/src/lib/j2k_image_proxy.h
@@ -19,8 +19,8 @@
*/
#include "image_proxy.h"
+#include <dcp/array_data.h>
#include <dcp/util.h>
-#include <dcp/data.h>
#include <boost/thread/mutex.hpp>
namespace dcp {
@@ -60,7 +60,7 @@ public:
bool same (boost::shared_ptr<const ImageProxy>) const;
int prepare (boost::optional<dcp::Size> = boost::optional<dcp::Size>()) const;
- dcp::Data j2k () const {
+ boost::shared_ptr<const dcp::Data> j2k () const {
return _data;
}
@@ -74,9 +74,9 @@ private:
friend struct client_server_test_j2k;
/* For tests */
- J2KImageProxy (dcp::Data data, dcp::Size size, AVPixelFormat pixel_format);
+ J2KImageProxy (dcp::ArrayData data, dcp::Size size, AVPixelFormat pixel_format);
- dcp::Data _data;
+ boost::shared_ptr<const dcp::Data> _data;
dcp::Size _size;
boost::optional<dcp::Eye> _eye;
mutable boost::shared_ptr<Image> _image;