/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
+#include "types.h"
#include <boost/shared_ptr.hpp>
+#include <boost/optional.hpp>
+#include <stdint.h>
-namespace libdcp {
+namespace dcp {
-class ARGBFrame;
-class XYZFrame;
-class LUT;
+class ARGBImage;
+class OpenJPEGImage;
class Image;
-
-extern boost::shared_ptr<ARGBFrame> xyz_to_rgb (
- boost::shared_ptr<const XYZFrame>, boost::shared_ptr<const LUT>, boost::shared_ptr<const LUT>
+class ColourConversion;
+
+extern void xyz_to_rgba (
+ boost::shared_ptr<const OpenJPEGImage>,
+ ColourConversion const & conversion,
+ uint8_t* rgba
+ );
+
+extern void xyz_to_rgb (
+ boost::shared_ptr<const OpenJPEGImage>,
+ ColourConversion const & conversion,
+ uint8_t* rgb,
+ int stride,
+ boost::optional<NoteHandler> note = boost::optional<NoteHandler> ()
);
-extern boost::shared_ptr<XYZFrame> rgb_to_xyz (
- boost::shared_ptr<const Image>, boost::shared_ptr<const LUT>, boost::shared_ptr<const LUT>, float const colour_matrix[3][3]
+extern boost::shared_ptr<OpenJPEGImage> rgb_to_xyz (
+ uint8_t const * rgb,
+ dcp::Size size,
+ int stride,
+ ColourConversion const & conversion,
+ boost::optional<NoteHandler> note = boost::optional<NoteHandler> ()
);
-
+
+extern boost::shared_ptr<OpenJPEGImage> xyz_to_xyz (uint8_t const * xyz, dcp::Size size, int stride);
+
}