summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-02-14 20:55:37 +0100
committerCarl Hetherington <cth@carlh.net>2021-02-14 20:55:37 +0100
commit9b6997ac39d8bc728f8acad8b99448e3c03b5e14 (patch)
tree024610e94f7bdf4b68230164f9d6695e3a4ee0b2 /src
parentbed820dd335f892a237fe5c0dc053cd50c6f7802 (diff)
Some const correctness for decompress_j2k
Diffstat (limited to 'src')
-rw-r--r--src/j2k_transcode.cc15
-rw-r--r--src/j2k_transcode.h7
2 files changed, 15 insertions, 7 deletions
diff --git a/src/j2k_transcode.cc b/src/j2k_transcode.cc
index dafe8fdf..9b7210aa 100644
--- a/src/j2k_transcode.cc
+++ b/src/j2k_transcode.cc
@@ -57,18 +57,25 @@ using namespace dcp;
shared_ptr<dcp::OpenJPEGImage>
-dcp::decompress_j2k (ArrayData data, int reduce)
+dcp::decompress_j2k (Data const& data, int reduce)
{
return dcp::decompress_j2k (data.data(), data.size(), reduce);
}
+shared_ptr<dcp::OpenJPEGImage>
+dcp::decompress_j2k (shared_ptr<const Data> data, int reduce)
+{
+ return dcp::decompress_j2k (data->data(), data->size(), reduce);
+}
+
+
#ifdef LIBDCP_OPENJPEG2
class ReadBuffer
{
public:
- ReadBuffer (uint8_t* data, int64_t size)
+ ReadBuffer (uint8_t const * data, int64_t size)
: _data (data)
, _size (size)
, _offset (0)
@@ -83,7 +90,7 @@ public:
}
private:
- uint8_t* _data;
+ uint8_t const * _data;
OPJ_SIZE_T _size;
OPJ_SIZE_T _offset;
};
@@ -118,7 +125,7 @@ compress_error_callback (char const * msg, void *)
shared_ptr<dcp::OpenJPEGImage>
-dcp::decompress_j2k (uint8_t* data, int64_t size, int reduce)
+dcp::decompress_j2k (uint8_t const * data, int64_t size, int reduce)
{
DCP_ASSERT (reduce >= 0);
diff --git a/src/j2k_transcode.h b/src/j2k_transcode.h
index 0687706d..52a0b46e 100644
--- a/src/j2k_transcode.h
+++ b/src/j2k_transcode.h
@@ -48,8 +48,6 @@ namespace dcp {
class OpenJPEGImage;
-extern std::shared_ptr<OpenJPEGImage> decompress_j2k (uint8_t* data, int64_t size, int reduce);
-
/** Decompress a JPEG2000 image to a bitmap
* @param data JPEG2000 data
* @param size Size of data in bytes
@@ -59,7 +57,10 @@ extern std::shared_ptr<OpenJPEGImage> decompress_j2k (uint8_t* data, int64_t siz
* This is useful for scaling 4K DCP images down to 2K.
* @return OpenJPEGImage
*/
-extern std::shared_ptr<OpenJPEGImage> decompress_j2k (ArrayData data, int reduce);
+extern std::shared_ptr<OpenJPEGImage> decompress_j2k (uint8_t const * data, int64_t size, int reduce);
+
+extern std::shared_ptr<OpenJPEGImage> decompress_j2k (Data const& data, int reduce);
+extern std::shared_ptr<OpenJPEGImage> decompress_j2k (std::shared_ptr<const Data> data, int reduce);
/** @xyz Picture to compress. Parts of xyz's data WILL BE OVERWRITTEN by libopenjpeg so xyz cannot be re-used
* after this call; see opj_j2k_encode where if l_reuse_data is false it will set l_tilec->data = l_img_comp->data.