From ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 24 Jan 2021 04:15:26 +0100 Subject: Tidying. --- src/j2k.h | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/j2k.h') diff --git a/src/j2k.h b/src/j2k.h index a5b41f3c..a4c4f0bd 100644 --- a/src/j2k.h +++ b/src/j2k.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of libdcp. @@ -32,16 +32,39 @@ */ +/** @file src/j2k.h + * @brief Methods to encode and decode JPEG2000 + */ + + #include "array_data.h" #include #include + namespace dcp { + class OpenJPEGImage; + extern std::shared_ptr 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 + * @param reduce A power of 2 by which to reduce the size of the decoded image; + * e.g. 0 reduces by (2^0 == 1), ie keeping the same size. + * 1 reduces by (2^1 == 2), ie halving the size of the image. + * This is useful for scaling 4K DCP images down to 2K. + * @return OpenJPEGImage + */ extern std::shared_ptr decompress_j2k (ArrayData 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. + */ extern ArrayData compress_j2k (std::shared_ptr, int bandwith, int frames_per_second, bool threed, bool fourk, std::string comment = "libdcp"); + } -- cgit v1.2.3