diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-01-24 04:15:26 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-01-24 04:15:26 +0100 |
| commit | ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89 (patch) | |
| tree | c55e4b85ee30138ce83263045d77d01631378b2e /src/openjpeg_image.h | |
| parent | 6c37cc1979b2a01205a888c4c98f3334685ee8dd (diff) | |
Tidying.
Diffstat (limited to 'src/openjpeg_image.h')
| -rw-r--r-- | src/openjpeg_image.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/openjpeg_image.h b/src/openjpeg_image.h index 002e2a83..2138a21e 100644 --- a/src/openjpeg_image.h +++ b/src/openjpeg_image.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -31,31 +31,53 @@ files in the program, then also delete it here. */ + /** @file src/openjpeg_image.h - * @brief OpenJPEGImage class. + * @brief OpenJPEGImage class */ + #include "util.h" + struct opj_image; typedef struct opj_image opj_image_t; + namespace dcp { + /** @class OpenJPEGImage - * @brief A wrapper of libopenjpeg's opj_image_t. + * @brief A wrapper of libopenjpeg's opj_image_t */ class OpenJPEGImage { public: + /** Construct an OpenJPEGImage, taking ownership of the opj_image_t */ explicit OpenJPEGImage (opj_image_t *); + explicit OpenJPEGImage (OpenJPEGImage const & other); + + /** Construct a new OpenJPEGImage with undefined contents + * @param size Size for the frame in pixels + */ explicit OpenJPEGImage (Size); + + /** @param data_16 XYZ/RGB image data in packed 16:16:16, 48bpp with + * the 2-byte value for each component stored as little-endian + */ OpenJPEGImage (uint8_t const * in_16, dcp::Size size, int stride); + ~OpenJPEGImage (); + /** @param c Component index (0, 1 or 2) + * @return Pointer to the data for component c. + */ int* data (int) const; + + /** @return Size of the image in pixels */ Size size () const; + int precision (int component) const; bool srgb () const; int factor (int component) const; @@ -70,7 +92,8 @@ public: private: void create (Size size); - opj_image_t* _opj_image; ///< opj_image_t that we are managing + opj_image_t* _opj_image = nullptr; ///< opj_image_t that we are managing }; + } |
