/** @class OpenJPEGImage
* @brief A wrapper of libopenjpeg's opj_image_t.
*/
-class OpenJPEGImage : public boost::noncopyable
+class OpenJPEGImage
{
public:
explicit OpenJPEGImage (opj_image_t *);
+ explicit OpenJPEGImage (OpenJPEGImage const & other);
explicit OpenJPEGImage (Size);
+ OpenJPEGImage (uint8_t const * in_16, dcp::Size size, int stride);
~OpenJPEGImage ();
int* data (int) const;
- dcp::Size size () const;
+ Size size () const;
int precision (int component) const;
bool srgb () const;
+ int factor (int component) const;
/** @return Pointer to opj_image_t struct. The caller
* must not delete this.
}
private:
+ void create (Size size);
+
opj_image_t* _opj_image; ///< opj_image_t that we are managing
};