summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-02-02 22:33:27 +0000
committerCarl Hetherington <cth@carlh.net>2015-02-02 22:33:27 +0000
commit989f182558193a51e0a26603fb2ca59f827216a0 (patch)
tree7d2b2511967e5417838a4343341e5aa9d26cf2b8 /src
parent0d7fe66361a40702cb97357955cf35256f1d2c26 (diff)
Remove Image and ARGBImage and just dump RGB data into
uint8_t* buffers. This is hopefully simpler than trying to come up with some Image hierarchy that suits everything.
Diffstat (limited to 'src')
-rw-r--r--src/argb_image.cc49
-rw-r--r--src/argb_image.h71
-rw-r--r--src/image.cc47
-rw-r--r--src/image.h46
-rw-r--r--src/mono_picture_frame.cc27
-rw-r--r--src/mono_picture_frame.h7
-rw-r--r--src/rgb_xyz.cc89
-rw-r--r--src/rgb_xyz.h15
-rw-r--r--src/stereo_picture_frame.cc36
-rw-r--r--src/stereo_picture_frame.h9
-rw-r--r--src/types.h23
-rw-r--r--src/util.cc1
-rw-r--r--src/util.h23
-rw-r--r--src/wscript4
14 files changed, 102 insertions, 345 deletions
diff --git a/src/argb_image.cc b/src/argb_image.cc
deleted file mode 100644
index 79dcd85a..00000000
--- a/src/argb_image.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- Copyright (C) 2012-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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-/** @file src/argb_image.cc
- * @brief ARGBImage class.
- */
-
-#include "argb_image.h"
-
-using namespace dcp;
-
-/** Construct an empty ARGBImage of a given size and with
- * undefined contents.
- * @param size Size in pixels.
- */
-ARGBImage::ARGBImage (Size size)
- : _size (size)
-{
- _data = new uint8_t[_size.width * _size.height * 4];
-}
-
-
-ARGBImage::~ARGBImage ()
-{
- delete[] _data;
-}
-
-/** @return The stride, in bytes; that is, the number of bytes per row of the image */
-int
-ARGBImage::stride () const
-{
- return _size.width * 4;
-}
diff --git a/src/argb_image.h b/src/argb_image.h
deleted file mode 100644
index 805d0a22..00000000
--- a/src/argb_image.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- Copyright (C) 2012-2014 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-/** @file src/argb_image.h
- * @brief ARGBImage class.
- */
-
-#include "util.h"
-#include <stdint.h>
-
-namespace dcp
-{
-
-/** @class ARGBImage
- * @brief A single frame of picture data held in an ARGB buffer.
- *
- * The format of the data is:
- *
- * <pre>
- * Byte /- 0 -------|- 1 --------|- 2 --------|- 3 --------|- 4 --------|- 5 --------| ...
- * |(0, 0) Blue|(0, 0)Green |(0, 0) Red |(0, 0) Alpha|(0, 1) Blue |(0, 1) Green| ...
- * </pre>
- *
- * So that the first byte is the blue component of the pixel at x=0, y=0, the second
- * is the green component, and so on.
- *
- * Lines are packed so that the second row directly follows the first.
- *
- * XXX: this should probably be an Image...?
- */
-class ARGBImage : boost::noncopyable
-{
-public:
- ARGBImage (Size size);
- ~ARGBImage ();
-
- /** @return pointer to the image data */
- uint8_t* data () const {
- return _data;
- }
-
- /** @return length of one picture row in bytes */
- int stride () const;
-
- /** @return size of the picture in pixels */
- Size size () const {
- return _size;
- }
-
-private:
- Size _size; ///< frame size in pixels
- uint8_t* _data; ///< pointer to image data
-};
-
-}
diff --git a/src/image.cc b/src/image.cc
deleted file mode 100644
index 15ff24dc..00000000
--- a/src/image.cc
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- Copyright (C) 2012-2014 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-#include "image.h"
-
-using boost::shared_ptr;
-using namespace dcp;
-
-Image::Image (Size s)
- : _size (s)
-{
-
-}
-
-Image::Image (Image const & other)
- : _size (other._size)
-{
-
-}
-
-Image::Image (boost::shared_ptr<const Image> other)
- : _size (other->_size)
-{
-
-}
-
-void
-Image::swap (Image& other)
-{
- std::swap (_size, other._size);
-}
diff --git a/src/image.h b/src/image.h
deleted file mode 100644
index 7033564f..00000000
--- a/src/image.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright (C) 2012-2014 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-#include "util.h"
-
-namespace dcp {
-
-class Image
-{
-public:
- Image (Size);
- Image (Image const &);
- Image (boost::shared_ptr<const Image>);
-
- virtual ~Image () {}
- virtual uint8_t * const * data () const = 0;
- /** @return array of strides in bytes */
- virtual int const * stride () const = 0;
-
- Size size () const {
- return _size;
- }
-
-protected:
- virtual void swap (Image& other);
-
- Size _size;
-};
-
-}
diff --git a/src/mono_picture_frame.cc b/src/mono_picture_frame.cc
index 1edfd411..689a8b21 100644
--- a/src/mono_picture_frame.cc
+++ b/src/mono_picture_frame.cc
@@ -23,7 +23,6 @@
#include "mono_picture_frame.h"
#include "exceptions.h"
-#include "argb_image.h"
#include "util.h"
#include "rgb_xyz.h"
#include "colour_conversion.h"
@@ -112,29 +111,9 @@ MonoPictureFrame::j2k_size () const
/** @param reduce a factor by which to reduce the resolution
* of the image, expressed as a power of two (pass 0 for no
* reduction).
- * @param srgb_gamma Reciprocal of output gamma to use after
- * the conversion from XYZ to RGB.
- *
- * @return An ARGB representation of this frame. This is ARGB in the
- * Cairo sense, so that each pixel takes up 4 bytes; the first byte
- * is blue, second green, third red and fourth alpha (always 255).
*/
-shared_ptr<ARGBImage>
-MonoPictureFrame::argb_image (int reduce) const
+shared_ptr<XYZImage>
+MonoPictureFrame::xyz_image (int reduce) const
{
- return xyz_to_rgba (
- decompress_j2k (const_cast<uint8_t*> (_buffer->RoData()), _buffer->Size(), reduce),
- ColourConversion::xyz_to_srgb ()
- );
-}
-
-void
-MonoPictureFrame::rgb_frame (shared_ptr<Image> rgb, optional<NoteHandler> note) const
-{
- xyz_to_rgb (
- decompress_j2k (const_cast<uint8_t*> (_buffer->RoData()), _buffer->Size(), 0),
- ColourConversion::xyz_to_srgb (),
- rgb,
- note
- );
+ return decompress_j2k (const_cast<uint8_t*> (_buffer->RoData()), _buffer->Size(), reduce);
}
diff --git a/src/mono_picture_frame.h b/src/mono_picture_frame.h
index c9183a12..91089262 100644
--- a/src/mono_picture_frame.h
+++ b/src/mono_picture_frame.h
@@ -38,8 +38,7 @@ namespace ASDCP {
namespace dcp {
-class ARGBImage;
-class Image;
+class XYZImage;
/** @class MonoPictureFrame
* @brief A single frame of a 2D (monoscopic) picture asset.
@@ -52,8 +51,8 @@ public:
MonoPictureFrame ();
~MonoPictureFrame ();
- boost::shared_ptr<ARGBImage> argb_image (int reduce = 0) const;
- void rgb_frame (boost::shared_ptr<Image> rgb, boost::optional<NoteHandler> note = boost::optional<NoteHandler> ()) const;
+ boost::shared_ptr<XYZImage> xyz_image (int reduce = 0) const;
+
uint8_t const * j2k_data () const;
uint8_t* j2k_data ();
int j2k_size () const;
diff --git a/src/rgb_xyz.cc b/src/rgb_xyz.cc
index f44b1a30..97755b78 100644
--- a/src/rgb_xyz.cc
+++ b/src/rgb_xyz.cc
@@ -18,9 +18,7 @@
*/
#include "rgb_xyz.h"
-#include "argb_image.h"
#include "xyz_image.h"
-#include "image.h"
#include "colour_matrix.h"
#include "colour_conversion.h"
#include "transfer_function.h"
@@ -36,14 +34,26 @@ using namespace dcp;
#define DCI_COEFFICIENT (48.0 / 52.37)
-/** Convert an openjpeg XYZ image to RGBA.
+/** Convert an XYZ image to RGBA.
* @param xyz_image Image in XYZ.
- * @return RGB image.
+ * @param conversion Colour conversion to use.
+ * @param argb Buffer to fill with RGBA data. The format of the data is:
+ *
+ * <pre>
+ * Byte /- 0 -------|- 1 --------|- 2 --------|- 3 --------|- 4 --------|- 5 --------| ...
+ * |(0, 0) Blue|(0, 0)Green |(0, 0) Red |(0, 0) Alpha|(0, 1) Blue |(0, 1) Green| ...
+ * </pre>
+ *
+ * So that the first byte is the blue component of the pixel at x=0, y=0, the second
+ * is the green component, and so on.
+ *
+ * Lines are packed so that the second row directly follows the first.
*/
-shared_ptr<ARGBImage>
+void
dcp::xyz_to_rgba (
boost::shared_ptr<const XYZImage> xyz_image,
- ColourConversion const & conversion
+ ColourConversion const & conversion,
+ uint8_t* argb
)
{
int const max_colour = pow (2, 12) - 1;
@@ -60,16 +70,16 @@ dcp::xyz_to_rgba (
int* xyz_y = xyz_image->data (1);
int* xyz_z = xyz_image->data (2);
- shared_ptr<ARGBImage> argb_image (new ARGBImage (xyz_image->size ()));
- uint8_t* argb = argb_image->data ();
-
double const * lut_in = conversion.in()->lut (16);
double const * lut_out = conversion.out()->lut (12);
boost::numeric::ublas::matrix<double> matrix = conversion.matrix ();
- for (int y = 0; y < xyz_image->size().height; ++y) {
+ int const height = xyz_image->size().height;
+ int const width = xyz_image->size().width;
+
+ for (int y = 0; y < height; ++y) {
uint8_t* argb_line = argb;
- for (int x = 0; x < xyz_image->size().width; ++x) {
+ for (int x = 0; x < width; ++x) {
DCP_ASSERT (*xyz_x >= 0 && *xyz_y >= 0 && *xyz_z >= 0 && *xyz_x < 4096 && *xyz_y < 4096 && *xyz_z < 4096);
@@ -103,26 +113,27 @@ dcp::xyz_to_rgba (
*argb_line++ = lut_out[int(rint(d.r * max_colour))] * 0xff;
*argb_line++ = 0xff;
}
-
- argb += argb_image->stride ();
- }
- return argb_image;
+ /* 4 bytes per pixel */
+ argb += width * 4;
+ }
}
-/** Convert an openjpeg XYZ image to RGB.
+/** Convert an XYZ image to 48bpp RGB.
* @param xyz_image Frame in XYZ.
* @param conversion Colour conversion to use.
- * @param rgb Image to write RGB data to; must have space to be
- * filled with packed RGB 16:16:16, 48bpp, 16R, 16G, 16B,
- * with the 2-byte value for each R/G/B component stored as
- * little-endian; i.e. AV_PIX_FMT_RGB48LE.
+ * @param rgb Buffer to fill with RGB data. Format is packed RGB
+ * 16:16:16, 48bpp, 16R, 16G, 16B, with the 2-byte value for each
+ * R/G/B component stored as little-endian; i.e. AV_PIX_FMT_RGB48LE.
+ * @param stride Stride for RGB data in bytes.
+ * @param note Optional handler for any notes that may be made during the conversion (e.g. when clamping occurs).
*/
void
dcp::xyz_to_rgb (
shared_ptr<const XYZImage> xyz_image,
ColourConversion const & conversion,
- shared_ptr<Image> rgb,
+ uint8_t* rgb,
+ int stride,
optional<NoteHandler> note
)
{
@@ -144,7 +155,7 @@ dcp::xyz_to_rgb (
boost::numeric::ublas::matrix<double> matrix = conversion.matrix ();
for (int y = 0; y < xyz_image->size().height; ++y) {
- uint16_t* rgb_line = reinterpret_cast<uint16_t*> (rgb->data()[0] + y * rgb->stride()[0]);
+ uint16_t* rgb_line = reinterpret_cast<uint16_t*> (rgb + y * stride);
for (int x = 0; x < xyz_image->size().width; ++x) {
int cx = *xyz_x++;
@@ -203,16 +214,21 @@ dcp::xyz_to_rgb (
}
}
-/** rgb must be packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, with the 2-byte value for each R/G/B component stored as little-endian;
- * i.e. AV_PIX_FMT_RGB48LE.
+/** @param rgb RGB data; packed RGB 16:16:16, 48bpp, 16R, 16G, 16B,
+ * with the 2-byte value for each R/G/B component stored as
+ * little-endian; i.e. AV_PIX_FMT_RGB48LE.
+ * @param size of RGB image in pixels.
+ * @param stride of RGB data in bytes.
*/
shared_ptr<dcp::XYZImage>
dcp::rgb_to_xyz (
- boost::shared_ptr<const Image> rgb,
+ uint8_t const * rgb,
+ dcp::Size size,
+ int stride,
ColourConversion const & conversion
)
{
- shared_ptr<XYZImage> xyz (new XYZImage (rgb->size ()));
+ shared_ptr<XYZImage> xyz (new XYZImage (size));
struct {
double r, g, b;
@@ -227,9 +243,9 @@ dcp::rgb_to_xyz (
boost::numeric::ublas::matrix<double> matrix = conversion.matrix ();
int jn = 0;
- for (int y = 0; y < rgb->size().height; ++y) {
- uint16_t* p = reinterpret_cast<uint16_t*> (rgb->data()[0] + y * rgb->stride()[0]);
- for (int x = 0; x < rgb->size().width; ++x) {
+ for (int y = 0; y < size.height; ++y) {
+ uint16_t const * p = reinterpret_cast<uint16_t const *> (rgb + y * stride);
+ for (int x = 0; x < size.width; ++x) {
/* In gamma LUT (converting 16-bit to 12-bit) */
s.r = lut_in[*p++ >> 4];
@@ -263,18 +279,19 @@ dcp::rgb_to_xyz (
}
-/** Image must be packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, with the 2-byte value for each R/G/B component stored as little-endian;
- * i.e. AV_PIX_FMT_RGB48LE.
+/** @param xyz_16 XYZ image data in packed 16:16:16, 48bpp, 16X, 16Y,
+ * 16Z, with the 2-byte value for each X/Y/Z component stored as
+ * little-endian.
*/
shared_ptr<dcp::XYZImage>
-dcp::xyz_to_xyz (shared_ptr<const Image> xyz_16)
+dcp::xyz_to_xyz (uint8_t const * xyz_16, dcp::Size size, int stride)
{
- shared_ptr<XYZImage> xyz_12 (new XYZImage (xyz_16->size ()));
+ shared_ptr<XYZImage> xyz_12 (new XYZImage (size));
int jn = 0;
- for (int y = 0; y < xyz_16->size().height; ++y) {
- uint16_t* p = reinterpret_cast<uint16_t*> (xyz_16->data()[0] + y * xyz_16->stride()[0]);
- for (int x = 0; x < xyz_16->size().width; ++x) {
+ for (int y = 0; y < size.height; ++y) {
+ uint16_t const * p = reinterpret_cast<uint16_t const *> (xyz_16 + y * stride);
+ for (int x = 0; x < size.width; ++x) {
/* Truncate 16-bit to 12-bit */
xyz_12->data(0)[jn] = *p++ >> 4;
xyz_12->data(1)[jn] = *p++ >> 4;
diff --git a/src/rgb_xyz.h b/src/rgb_xyz.h
index cd0125cb..5d1a4d17 100644
--- a/src/rgb_xyz.h
+++ b/src/rgb_xyz.h
@@ -29,14 +29,21 @@ class XYZImage;
class Image;
class ColourConversion;
-extern boost::shared_ptr<ARGBImage> xyz_to_rgba (boost::shared_ptr<const XYZImage>, ColourConversion const & conversion);
+extern void xyz_to_rgba (
+ boost::shared_ptr<const XYZImage>,
+ ColourConversion const & conversion,
+ uint8_t* rgba
+ );
+
extern void xyz_to_rgb (
boost::shared_ptr<const XYZImage>,
ColourConversion const & conversion,
- boost::shared_ptr<Image> rgb,
+ uint8_t* rgb,
+ int stride,
boost::optional<NoteHandler> note = boost::optional<NoteHandler> ()
);
-extern boost::shared_ptr<XYZImage> rgb_to_xyz (boost::shared_ptr<const Image>, ColourConversion const & conversion);
-extern boost::shared_ptr<XYZImage> xyz_to_xyz (boost::shared_ptr<const Image>);
+
+extern boost::shared_ptr<XYZImage> rgb_to_xyz (uint8_t const * rgb, dcp::Size size, int stride, ColourConversion const & conversion);
+extern boost::shared_ptr<XYZImage> xyz_to_xyz (uint8_t const * xyz, dcp::Size size, int stride);
}
diff --git a/src/stereo_picture_frame.cc b/src/stereo_picture_frame.cc
index 0eae7583..ac7d7bf1 100644
--- a/src/stereo_picture_frame.cc
+++ b/src/stereo_picture_frame.cc
@@ -19,7 +19,6 @@
#include "stereo_picture_frame.h"
#include "exceptions.h"
-#include "argb_image.h"
#include "util.h"
#include "rgb_xyz.h"
#include "colour_conversion.h"
@@ -67,43 +66,18 @@ StereoPictureFrame::~StereoPictureFrame ()
* @param reduce a factor by which to reduce the resolution
* of the image, expressed as a power of two (pass 0 for no
* reduction).
- *
- * @return An ARGB representation of one of the eyes (left or right)
- * of this frame. This is ARGB in the Cairo sense, so that each
- * pixel takes up 4 bytes; the first byte is blue, second green,
- * third red and fourth alpha (always 255).
- *
*/
-shared_ptr<ARGBImage>
-StereoPictureFrame::argb_image (Eye eye, int reduce) const
+shared_ptr<XYZImage>
+StereoPictureFrame::xyz_image (Eye eye, int reduce) const
{
- shared_ptr<XYZImage> xyz_image;
switch (eye) {
case LEFT:
- xyz_image = decompress_j2k (const_cast<uint8_t*> (_buffer->Left.RoData()), _buffer->Left.Size(), reduce);
- break;
+ return decompress_j2k (const_cast<uint8_t*> (_buffer->Left.RoData()), _buffer->Left.Size(), reduce);
case RIGHT:
- xyz_image = decompress_j2k (const_cast<uint8_t*> (_buffer->Right.RoData()), _buffer->Right.Size(), reduce);
- break;
+ return decompress_j2k (const_cast<uint8_t*> (_buffer->Right.RoData()), _buffer->Right.Size(), reduce);
}
- return xyz_to_rgba (xyz_image, ColourConversion::xyz_to_srgb ());
-}
-
-void
-StereoPictureFrame::rgb_frame (Eye eye, shared_ptr<Image> image) const
-{
- shared_ptr<XYZImage> xyz_image;
- switch (eye) {
- case LEFT:
- xyz_image = decompress_j2k (const_cast<uint8_t*> (_buffer->Left.RoData()), _buffer->Left.Size(), 0);
- break;
- case RIGHT:
- xyz_image = decompress_j2k (const_cast<uint8_t*> (_buffer->Right.RoData()), _buffer->Right.Size(), 0);
- break;
- }
-
- return xyz_to_rgb (xyz_image, ColourConversion::xyz_to_srgb (), image);
+ return shared_ptr<XYZImage> ();
}
uint8_t const *
diff --git a/src/stereo_picture_frame.h b/src/stereo_picture_frame.h
index ba78d922..0aeb6849 100644
--- a/src/stereo_picture_frame.h
+++ b/src/stereo_picture_frame.h
@@ -28,13 +28,11 @@ namespace ASDCP {
namespace JP2K {
struct SFrameBuffer;
}
- class AESDecContext;
}
namespace dcp {
-class ARGBImage;
-class Image;
+class XYZImage;
/** A single frame of a 3D (stereoscopic) picture asset */
class StereoPictureFrame : public boost::noncopyable
@@ -44,11 +42,12 @@ public:
StereoPictureFrame ();
~StereoPictureFrame ();
- boost::shared_ptr<ARGBImage> argb_image (Eye eye, int reduce = 0) const;
- void rgb_frame (Eye eye, boost::shared_ptr<Image>) const;
+ boost::shared_ptr<XYZImage> xyz_image (Eye eye, int reduce = 0) const;
+
uint8_t const * left_j2k_data () const;
uint8_t* left_j2k_data ();
int left_j2k_size () const;
+
uint8_t const * right_j2k_data () const;
uint8_t* right_j2k_data ();
int right_j2k_size () const;
diff --git a/src/types.h b/src/types.h
index 594bd7b7..4c303e0d 100644
--- a/src/types.h
+++ b/src/types.h
@@ -35,6 +35,29 @@ namespace parse {
class AssetMap;
}
+/** @struct Size
+ * @brief The integer, two-dimensional size of something.
+ */
+struct Size
+{
+ Size ()
+ : width (0)
+ , height (0)
+ {}
+
+ Size (int w, int h)
+ : width (w)
+ , height (h)
+ {}
+
+ float ratio () const {
+ return float (width) / height;
+ }
+
+ int width;
+ int height;
+};
+
/** Identifier for a sound channel */
enum Channel {
LEFT = 0, ///< left
diff --git a/src/util.cc b/src/util.cc
index 89b563ae..044801b7 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -24,7 +24,6 @@
#include "util.h"
#include "exceptions.h"
#include "types.h"
-#include "argb_image.h"
#include "certificates.h"
#include "xyz_image.h"
#include "dcp_assert.h"
diff --git a/src/util.h b/src/util.h
index 5bc3a78d..dbcec78c 100644
--- a/src/util.h
+++ b/src/util.h
@@ -43,29 +43,6 @@ class ARGBImage;
class CertificateChain;
class GammaLUT;
class XYZImage;
-
-/** @struct Size
- * @brief The integer, two-dimensional size of something.
- */
-struct Size
-{
- Size ()
- : width (0)
- , height (0)
- {}
-
- Size (int w, int h)
- : width (w)
- , height (h)
- {}
-
- float ratio () const {
- return float (width) / height;
- }
-
- int width;
- int height;
-};
extern bool operator== (Size const & a, Size const & b);
extern bool operator!= (Size const & a, Size const & b);
diff --git a/src/wscript b/src/wscript
index af7b823e..f85b0032 100644
--- a/src/wscript
+++ b/src/wscript
@@ -2,7 +2,6 @@ from waflib import TaskGen
def build(bld):
source = """
- argb_image.cc
asset.cc
certificate_chain.cc
certificates.cc
@@ -19,7 +18,6 @@ def build(bld):
file.cc
font.cc
gamma_transfer_function.cc
- image.cc
interop_load_font.cc
interop_subtitle_content.cc
key.cc
@@ -78,7 +76,6 @@ def build(bld):
encrypted_kdm.h
exceptions.h
gamma_transfer_function.h
- image.h
interop_load_font.h
interop_subtitle_content.h
key.h
@@ -104,7 +101,6 @@ def build(bld):
reel_stereo_picture_asset.h
reel_subtitle_asset.h
ref.h
- argb_image.h
signer.h
smpte_load_font.h
smpte_subtitle_content.h