summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-08-11 00:57:24 +0200
committerCarl Hetherington <cth@carlh.net>2020-09-13 20:22:43 +0200
commitd430b8650121bfdad3d22b903521a146ad46c487 (patch)
tree68349e4dc35595548cffacc72e9e61b4c45ec677
parent49fcfee3b68282cefeefff034adeb458a80d1b4f (diff)
Put Image in dcpomatic:: to avoid Fastvideo name clash.
-rw-r--r--src/lib/bitmap_text.h8
-rw-r--r--src/lib/content_text.h6
-rw-r--r--src/lib/dcp_video.cc2
-rw-r--r--src/lib/ffmpeg_decoder.h11
-rw-r--r--src/lib/ffmpeg_file_encoder.h4
-rw-r--r--src/lib/ffmpeg_image_proxy.cc2
-rw-r--r--src/lib/ffmpeg_image_proxy.h2
-rw-r--r--src/lib/filter_graph.h1
-rw-r--r--src/lib/image.cc13
-rw-r--r--src/lib/image.h4
-rw-r--r--src/lib/image_proxy.h11
-rw-r--r--src/lib/j2k_image_proxy.cc2
-rw-r--r--src/lib/j2k_image_proxy.h2
-rw-r--r--src/lib/player.h2
-rw-r--r--src/lib/player_video.cc1
-rw-r--r--src/lib/player_video.h9
-rw-r--r--src/lib/position_image.h8
-rw-r--r--src/lib/raw_image_proxy.cc1
-rw-r--r--src/lib/raw_image_proxy.h4
-rw-r--r--src/lib/text_decoder.h8
-rw-r--r--src/lib/video_decoder.h5
-rw-r--r--src/lib/video_filter_graph.cc2
-rw-r--r--src/lib/video_filter_graph.h2
-rw-r--r--src/wx/film_viewer.h11
-rw-r--r--src/wx/gl_video_view.cc1
-rw-r--r--src/wx/gl_video_view.h2
-rw-r--r--src/wx/simple_video_view.h4
-rw-r--r--src/wx/video_view.h7
-rw-r--r--src/wx/video_waveform_plot.cc2
-rw-r--r--src/wx/video_waveform_plot.h9
-rw-r--r--test/client_server_test.cc2
-rw-r--r--test/image_test.cc2
-rw-r--r--test/make_black_test.cc2
-rw-r--r--test/pixel_formats_test.cc1
-rw-r--r--test/test.cc2
-rw-r--r--test/test.h6
36 files changed, 104 insertions, 57 deletions
diff --git a/src/lib/bitmap_text.h b/src/lib/bitmap_text.h
index 2314c2db0..2748322e0 100644
--- a/src/lib/bitmap_text.h
+++ b/src/lib/bitmap_text.h
@@ -24,17 +24,19 @@
#include "rect.h"
#include <boost/shared_ptr.hpp>
-class Image;
+namespace dcpomatic {
+ class Image;
+}
class BitmapText
{
public:
- BitmapText (boost::shared_ptr<Image> i, dcpomatic::Rect<double> r)
+ BitmapText (boost::shared_ptr<dcpomatic::Image> i, dcpomatic::Rect<double> r)
: image (i)
, rectangle (r)
{}
- boost::shared_ptr<Image> image;
+ boost::shared_ptr<dcpomatic::Image> image;
/** Area that the subtitle covers on its corresponding video, expressed in
* proportions of the image size; e.g. rectangle.x = 0.5 would mean that
* the rectangle starts half-way across the video.
diff --git a/src/lib/content_text.h b/src/lib/content_text.h
index 0c0df1ee6..d6bcc7a80 100644
--- a/src/lib/content_text.h
+++ b/src/lib/content_text.h
@@ -28,7 +28,9 @@
#include <dcp/subtitle_string.h>
#include <list>
-class Image;
+namespace dcpomatic {
+ class Image;
+}
class ContentText
{
@@ -48,7 +50,7 @@ private:
class ContentBitmapText : public ContentText
{
public:
- ContentBitmapText (dcpomatic::ContentTime f, boost::shared_ptr<Image> im, dcpomatic::Rect<double> r)
+ ContentBitmapText (dcpomatic::ContentTime f, boost::shared_ptr<dcpomatic::Image> im, dcpomatic::Rect<double> r)
: ContentText (f)
, sub (im, r)
{}
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc
index 36928b3fc..440571b76 100644
--- a/src/lib/dcp_video.cc
+++ b/src/lib/dcp_video.cc
@@ -65,6 +65,8 @@ using dcp::raw_convert;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
+using namespace dcpomatic;
+
#define DCI_COEFFICENT (48.0 / 52.37)
diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h
index 65f36a004..fc15456db 100644
--- a/src/lib/ffmpeg_decoder.h
+++ b/src/lib/ffmpeg_decoder.h
@@ -32,11 +32,14 @@ extern "C" {
#include <boost/thread/mutex.hpp>
#include <stdint.h>
+namespace dcpomatic {
+ class Image;
+}
+
+class AudioBuffers;
+class FFmpegAudioStream;
class Log;
class VideoFilterGraph;
-class FFmpegAudioStream;
-class AudioBuffers;
-class Image;
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
@@ -76,7 +79,7 @@ private:
/** true if we have a subtitle which has not had emit_stop called for it yet */
bool _have_current_subtitle;
- boost::shared_ptr<Image> _black_image;
+ boost::shared_ptr<dcpomatic::Image> _black_image;
std::vector<boost::optional<dcpomatic::ContentTime> > _next_time;
};
diff --git a/src/lib/ffmpeg_file_encoder.h b/src/lib/ffmpeg_file_encoder.h
index 19674d249..0701c1779 100644
--- a/src/lib/ffmpeg_file_encoder.h
+++ b/src/lib/ffmpeg_file_encoder.h
@@ -94,10 +94,10 @@ private:
boost::shared_ptr<AudioBuffers> _pending_audio;
- /** Store of shared_ptr<Image> to keep them alive whilst raw pointers into
+ /** Store of shared_ptr<dcpomatic::Image> to keep them alive whilst raw pointers into
their data have been passed to FFmpeg.
*/
- std::map<uint8_t*, boost::shared_ptr<const Image> > _pending_images;
+ std::map<uint8_t*, boost::shared_ptr<const dcpomatic::Image> > _pending_images;
boost::mutex _pending_images_mutex;
static int _video_stream_index;
diff --git a/src/lib/ffmpeg_image_proxy.cc b/src/lib/ffmpeg_image_proxy.cc
index f2b72059b..3cd984115 100644
--- a/src/lib/ffmpeg_image_proxy.cc
+++ b/src/lib/ffmpeg_image_proxy.cc
@@ -47,6 +47,8 @@ using boost::shared_ptr;
using boost::optional;
using boost::dynamic_pointer_cast;
using dcp::raw_convert;
+using namespace dcpomatic;
+
FFmpegImageProxy::FFmpegImageProxy (boost::filesystem::path path)
: _data (path)
diff --git a/src/lib/ffmpeg_image_proxy.h b/src/lib/ffmpeg_image_proxy.h
index aa77003a4..77cfa2fab 100644
--- a/src/lib/ffmpeg_image_proxy.h
+++ b/src/lib/ffmpeg_image_proxy.h
@@ -49,6 +49,6 @@ private:
failed-decode errors can give more detail.
*/
boost::optional<boost::filesystem::path> _path;
- mutable boost::shared_ptr<Image> _image;
+ mutable boost::shared_ptr<dcpomatic::Image> _image;
mutable boost::mutex _mutex;
};
diff --git a/src/lib/filter_graph.h b/src/lib/filter_graph.h
index 10298cb74..8f98f9f76 100644
--- a/src/lib/filter_graph.h
+++ b/src/lib/filter_graph.h
@@ -32,7 +32,6 @@ extern "C" {
struct AVFilterContext;
struct AVFrame;
-class Image;
class Filter;
/** @class FilterGraph
diff --git a/src/lib/image.cc b/src/lib/image.cc
index 002c7df9a..3a33f72f5 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -54,6 +54,7 @@ using std::list;
using std::runtime_error;
using boost::shared_ptr;
using dcp::Size;
+using namespace dcpomatic;
int
Image::vertical_factor (int n) const
@@ -613,9 +614,9 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position)
double const b = lut_in[op[blue]];
/* RGB to XYZ, including Bradford transform and DCI companding */
- double const x = max (0.0, min (65535.0, r * fast_matrix[0] + g * fast_matrix[1] + b * fast_matrix[2]));
- double const y = max (0.0, min (65535.0, r * fast_matrix[3] + g * fast_matrix[4] + b * fast_matrix[5]));
- double const z = max (0.0, min (65535.0, r * fast_matrix[6] + g * fast_matrix[7] + b * fast_matrix[8]));
+ double const x = std::max(0.0, std::min(65535.0, r * fast_matrix[0] + g * fast_matrix[1] + b * fast_matrix[2]));
+ double const y = std::max(0.0, std::min(65535.0, r * fast_matrix[3] + g * fast_matrix[4] + b * fast_matrix[5]));
+ double const z = std::max(0.0, std::min(65535.0, r * fast_matrix[6] + g * fast_matrix[7] + b * fast_matrix[8]));
/* Out gamma LUT and blend */
tp[0] = lrint(lut_out[lrint(x)] * 65535) * alpha + tp[0] * (1 - alpha);
@@ -743,7 +744,7 @@ Image::copy (shared_ptr<const Image> other, Position<int> position)
DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB24 && other->pixel_format() == AV_PIX_FMT_RGB24);
DCPOMATIC_ASSERT (position.x >= 0 && position.y >= 0);
- int const N = min (position.x + other->size().width, size().width) - position.x;
+ int const N = std::min (position.x + other->size().width, size().width) - position.x;
for (int ty = position.y, oy = 0; ty < size().height && oy < other->size().height; ++ty, ++oy) {
uint8_t * const tp = data()[0] + ty * stride()[0] + position.x * 3;
uint8_t * const op = other->data()[0] + oy * other->stride()[0];
@@ -1031,7 +1032,7 @@ Image::aligned () const
}
PositionImage
-merge (list<PositionImage> images)
+dcpomatic::merge (list<PositionImage> images)
{
if (images.empty ()) {
return PositionImage ();
@@ -1056,7 +1057,7 @@ merge (list<PositionImage> images)
}
bool
-operator== (Image const & a, Image const & b)
+dcpomatic::operator== (Image const & a, Image const & b)
{
if (a.planes() != b.planes() || a.pixel_format() != b.pixel_format() || a.aligned() != b.aligned()) {
return false;
diff --git a/src/lib/image.h b/src/lib/image.h
index 46633df67..c7e725d55 100644
--- a/src/lib/image.h
+++ b/src/lib/image.h
@@ -38,6 +38,8 @@ extern "C" {
struct AVFrame;
class Socket;
+namespace dcpomatic {
+
class Image : public boost::enable_shared_from_this<Image>
{
public:
@@ -107,4 +109,6 @@ private:
extern PositionImage merge (std::list<PositionImage> images);
extern bool operator== (Image const & a, Image const & b);
+}
+
#endif
diff --git a/src/lib/image_proxy.h b/src/lib/image_proxy.h
index 08516e718..446fb8334 100644
--- a/src/lib/image_proxy.h
+++ b/src/lib/image_proxy.h
@@ -33,7 +33,10 @@ extern "C" {
#include <boost/optional.hpp>
#include <boost/utility.hpp>
-class Image;
+namespace dcpomatic {
+ class Image;
+}
+
class Socket;
namespace xmlpp {
@@ -61,20 +64,20 @@ public:
virtual ~ImageProxy () {}
struct Result {
- Result (boost::shared_ptr<Image> image_, int log2_scaling_)
+ Result (boost::shared_ptr<dcpomatic::Image> image_, int log2_scaling_)
: image (image_)
, log2_scaling (log2_scaling_)
, error (false)
{}
- Result (boost::shared_ptr<Image> image_, int log2_scaling_, bool error_)
+ Result (boost::shared_ptr<dcpomatic::Image> image_, int log2_scaling_, bool error_)
: image (image_)
, log2_scaling (log2_scaling_)
, error (error_)
{}
/** Image (which will be aligned) */
- boost::shared_ptr<Image> image;
+ boost::shared_ptr<dcpomatic::Image> image;
/** log2 of any scaling down that has already been applied to the image;
* e.g. if the image is already half the size of the original, this value
* will be 1.
diff --git a/src/lib/j2k_image_proxy.cc b/src/lib/j2k_image_proxy.cc
index df4af0cf9..c8a561d25 100644
--- a/src/lib/j2k_image_proxy.cc
+++ b/src/lib/j2k_image_proxy.cc
@@ -48,6 +48,8 @@ using boost::optional;
using boost::dynamic_pointer_cast;
using dcp::Data;
using dcp::raw_convert;
+using namespace dcpomatic;
+
/** Construct a J2KImageProxy from a JPEG2000 file */
J2KImageProxy::J2KImageProxy (boost::filesystem::path path, dcp::Size size, AVPixelFormat pixel_format)
diff --git a/src/lib/j2k_image_proxy.h b/src/lib/j2k_image_proxy.h
index 71bcffb2c..78e0cbd9b 100644
--- a/src/lib/j2k_image_proxy.h
+++ b/src/lib/j2k_image_proxy.h
@@ -79,7 +79,7 @@ private:
dcp::Data _data;
dcp::Size _size;
boost::optional<dcp::Eye> _eye;
- mutable boost::shared_ptr<Image> _image;
+ mutable boost::shared_ptr<dcpomatic::Image> _image;
mutable boost::optional<dcp::Size> _target_size;
mutable boost::optional<int> _reduce;
AVPixelFormat _pixel_format;
diff --git a/src/lib/player.h b/src/lib/player.h
index ea81ae939..17c9233cd 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -170,7 +170,7 @@ private:
* the size of preview in a window.
*/
dcp::Size _video_container_size;
- boost::shared_ptr<Image> _black_image;
+ boost::shared_ptr<dcpomatic::Image> _black_image;
/** true if the player should ignore all video; i.e. never produce any */
bool _ignore_video;
diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc
index 10e798ed5..1a4c9028d 100644
--- a/src/lib/player_video.cc
+++ b/src/lib/player_video.cc
@@ -42,6 +42,7 @@ using boost::optional;
using boost::function;
using dcp::Data;
using dcp::raw_convert;
+using namespace dcpomatic;
PlayerVideo::PlayerVideo (
shared_ptr<const ImageProxy> in,
diff --git a/src/lib/player_video.h b/src/lib/player_video.h
index 1a4a01d58..9fd313a15 100644
--- a/src/lib/player_video.h
+++ b/src/lib/player_video.h
@@ -34,7 +34,10 @@ extern "C" {
#include <boost/thread/mutex.hpp>
#include <boost/noncopyable.hpp>
-class Image;
+namespace dcpomatic {
+ class Image;
+}
+
class ImageProxy;
class Film;
class Socket;
@@ -68,7 +71,7 @@ public:
void set_text (PositionImage);
void prepare (boost::function<AVPixelFormat (AVPixelFormat)> pixel_format, bool aligned, bool fast);
- boost::shared_ptr<Image> image (boost::function<AVPixelFormat (AVPixelFormat)> pixel_format, bool aligned, bool fast) const;
+ boost::shared_ptr<dcpomatic::Image> image (boost::function<AVPixelFormat (AVPixelFormat)> pixel_format, bool aligned, bool fast) const;
static AVPixelFormat force (AVPixelFormat, AVPixelFormat);
static AVPixelFormat keep_xyz_or_rgb (AVPixelFormat);
@@ -134,7 +137,7 @@ private:
boost::optional<Frame> _video_frame;
mutable boost::mutex _mutex;
- mutable boost::shared_ptr<Image> _image;
+ mutable boost::shared_ptr<dcpomatic::Image> _image;
/** _crop that was used to make _image */
mutable Crop _image_crop;
/** _inter_size that was used to make _image */
diff --git a/src/lib/position_image.h b/src/lib/position_image.h
index 3e6d833e7..bcae4d159 100644
--- a/src/lib/position_image.h
+++ b/src/lib/position_image.h
@@ -24,19 +24,21 @@
#include "position.h"
#include <boost/shared_ptr.hpp>
-class Image;
+namespace dcpomatic {
+ class Image;
+}
class PositionImage
{
public:
PositionImage () {}
- PositionImage (boost::shared_ptr<Image> i, Position<int> p)
+ PositionImage (boost::shared_ptr<dcpomatic::Image> i, Position<int> p)
: image (i)
, position (p)
{}
- boost::shared_ptr<Image> image;
+ boost::shared_ptr<dcpomatic::Image> image;
Position<int> position;
bool same (PositionImage const & other) const;
diff --git a/src/lib/raw_image_proxy.cc b/src/lib/raw_image_proxy.cc
index 09902c3a2..09b73da8e 100644
--- a/src/lib/raw_image_proxy.cc
+++ b/src/lib/raw_image_proxy.cc
@@ -40,6 +40,7 @@ using boost::shared_ptr;
using boost::dynamic_pointer_cast;
using boost::optional;
using dcp::raw_convert;
+using namespace dcpomatic;
RawImageProxy::RawImageProxy (shared_ptr<Image> image)
: _image (image)
diff --git a/src/lib/raw_image_proxy.h b/src/lib/raw_image_proxy.h
index 7971d4a10..52df5756c 100644
--- a/src/lib/raw_image_proxy.h
+++ b/src/lib/raw_image_proxy.h
@@ -26,7 +26,7 @@
class RawImageProxy : public ImageProxy
{
public:
- explicit RawImageProxy (boost::shared_ptr<Image>);
+ explicit RawImageProxy (boost::shared_ptr<dcpomatic::Image>);
RawImageProxy (boost::shared_ptr<cxml::Node> xml, boost::shared_ptr<Socket> socket);
Result image (
@@ -39,7 +39,7 @@ public:
size_t memory_used () const;
private:
- boost::shared_ptr<Image> _image;
+ boost::shared_ptr<dcpomatic::Image> _image;
};
#endif
diff --git a/src/lib/text_decoder.h b/src/lib/text_decoder.h
index fba9b5947..f84427891 100644
--- a/src/lib/text_decoder.h
+++ b/src/lib/text_decoder.h
@@ -33,7 +33,9 @@ namespace sub {
class Subtitle;
}
-class Image;
+namespace dcpomatic {
+ class Image;
+}
class TextDecoder : public DecoderPart
{
@@ -48,8 +50,8 @@ public:
return _position;
}
- void emit_bitmap_start (dcpomatic::ContentTime from, boost::shared_ptr<Image> image, dcpomatic::Rect<double> rect);
- void emit_bitmap (dcpomatic::ContentTimePeriod period, boost::shared_ptr<Image> image, dcpomatic::Rect<double> rect);
+ void emit_bitmap_start (dcpomatic::ContentTime from, boost::shared_ptr<dcpomatic::Image> image, dcpomatic::Rect<double> rect);
+ void emit_bitmap (dcpomatic::ContentTimePeriod period, boost::shared_ptr<dcpomatic::Image> image, dcpomatic::Rect<double> rect);
void emit_plain_start (dcpomatic::ContentTime from, std::list<dcp::SubtitleString> s);
void emit_plain_start (dcpomatic::ContentTime from, sub::Subtitle const & subtitle);
void emit_plain (dcpomatic::ContentTimePeriod period, std::list<dcp::SubtitleString> s);
diff --git a/src/lib/video_decoder.h b/src/lib/video_decoder.h
index dca8eef11..89b6d78d4 100644
--- a/src/lib/video_decoder.h
+++ b/src/lib/video_decoder.h
@@ -33,11 +33,10 @@
#include <boost/signals2.hpp>
#include <boost/shared_ptr.hpp>
-class VideoContent;
+class FrameIntervalChecker;
class ImageProxy;
-class Image;
class Log;
-class FrameIntervalChecker;
+class VideoContent;
/** @class VideoDecoder
* @brief Parent for classes which decode video.
diff --git a/src/lib/video_filter_graph.cc b/src/lib/video_filter_graph.cc
index 9b297c87b..717638ef5 100644
--- a/src/lib/video_filter_graph.cc
+++ b/src/lib/video_filter_graph.cc
@@ -35,6 +35,8 @@ using std::vector;
using std::string;
using std::make_pair;
using boost::shared_ptr;
+using namespace dcpomatic;
+
VideoFilterGraph::VideoFilterGraph (dcp::Size s, AVPixelFormat p, dcp::Fraction r)
: _size (s)
diff --git a/src/lib/video_filter_graph.h b/src/lib/video_filter_graph.h
index 19cb24e36..f0249f1dd 100644
--- a/src/lib/video_filter_graph.h
+++ b/src/lib/video_filter_graph.h
@@ -26,7 +26,7 @@ public:
VideoFilterGraph (dcp::Size s, AVPixelFormat p, dcp::Fraction r);
bool can_process (dcp::Size s, AVPixelFormat p) const;
- std::list<std::pair<boost::shared_ptr<Image>, int64_t> > process (AVFrame * frame);
+ std::list<std::pair<boost::shared_ptr<dcpomatic::Image>, int64_t> > process (AVFrame * frame);
protected:
std::string src_parameters () const;
diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h
index 11a4731fc..cd92f1beb 100644
--- a/src/wx/film_viewer.h
+++ b/src/wx/film_viewer.h
@@ -34,14 +34,13 @@ DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
-class wxToggleButton;
-class FFmpegPlayer;
-class Image;
-class RGBPlusAlphaImage;
-class PlayerVideo;
-class Player;
class Butler;
class ClosedCaptionsDialog;
+class FFmpegPlayer;
+class Player;
+class PlayerVideo;
+class RGBPlusAlphaImage;
+class wxToggleButton;
/** @class FilmViewer
* @brief A wx widget to view a Film.
diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc
index a82d5a276..c4ee53b1e 100644
--- a/src/wx/gl_video_view.cc
+++ b/src/wx/gl_video_view.cc
@@ -51,6 +51,7 @@
using std::cout;
using boost::shared_ptr;
using boost::optional;
+using namespace dcpomatic;
static void
diff --git a/src/wx/gl_video_view.h b/src/wx/gl_video_view.h
index e1a7fc1ac..a024c2401 100644
--- a/src/wx/gl_video_view.h
+++ b/src/wx/gl_video_view.h
@@ -54,7 +54,7 @@ public:
}
private:
- void set_image (boost::shared_ptr<const Image> image);
+ void set_image (boost::shared_ptr<const dcpomatic::Image> image);
void set_image_and_draw ();
void draw (Position<int> inter_position, dcp::Size inter_size);
void thread ();
diff --git a/src/wx/simple_video_view.h b/src/wx/simple_video_view.h
index 323047ada..7750af7da 100644
--- a/src/wx/simple_video_view.h
+++ b/src/wx/simple_video_view.h
@@ -42,7 +42,7 @@ public:
bool display_next_frame (bool non_blocking);
private:
- void set_image (boost::shared_ptr<const Image> image) {
+ void set_image (boost::shared_ptr<const dcpomatic::Image> image) {
_image = image;
}
@@ -51,7 +51,7 @@ private:
void timer ();
wxPanel* _panel;
- boost::shared_ptr<const Image> _image;
+ boost::shared_ptr<const dcpomatic::Image> _image;
wxTimer _timer;
Position<int> _inter_position;
dcp::Size _inter_size;
diff --git a/src/wx/video_view.h b/src/wx/video_view.h
index 50ea40fc7..825273373 100644
--- a/src/wx/video_view.h
+++ b/src/wx/video_view.h
@@ -30,10 +30,13 @@
#include <boost/thread.hpp>
#include <boost/noncopyable.hpp>
-class Image;
-class wxWindow;
class FilmViewer;
class PlayerVideo;
+class wxWindow;
+
+namespace dcpomatic {
+ class Image;
+}
class VideoView : public ExceptionStore, public boost::noncopyable
{
diff --git a/src/wx/video_waveform_plot.cc b/src/wx/video_waveform_plot.cc
index c6fa883fa..7e356597e 100644
--- a/src/wx/video_waveform_plot.cc
+++ b/src/wx/video_waveform_plot.cc
@@ -39,6 +39,8 @@ using std::string;
using boost::weak_ptr;
using boost::shared_ptr;
using dcp::locale_convert;
+using namespace dcpomatic;
+
int const VideoWaveformPlot::_vertical_margin = 8;
int const VideoWaveformPlot::_pixel_values = 4096;
diff --git a/src/wx/video_waveform_plot.h b/src/wx/video_waveform_plot.h
index 1e38f5890..ecb43e272 100644
--- a/src/wx/video_waveform_plot.h
+++ b/src/wx/video_waveform_plot.h
@@ -30,10 +30,13 @@ namespace dcp {
class OpenJPEGImage;
}
-class PlayerVideo;
-class Image;
+namespace dcpomatic {
+ class Image;
+}
+
class Film;
class FilmViewer;
+class PlayerVideo;
class VideoWaveformPlot : public wxPanel
{
@@ -60,7 +63,7 @@ private:
boost::weak_ptr<const Film> _film;
boost::shared_ptr<dcp::OpenJPEGImage> _image;
- boost::shared_ptr<const Image> _waveform;
+ boost::shared_ptr<const dcpomatic::Image> _waveform;
bool _dirty;
bool _enabled;
int _component;
diff --git a/test/client_server_test.cc b/test/client_server_test.cc
index 75cee85b3..6146bdeb0 100644
--- a/test/client_server_test.cc
+++ b/test/client_server_test.cc
@@ -47,6 +47,8 @@ using boost::thread;
using boost::optional;
using boost::weak_ptr;
using dcp::Data;
+using namespace dcpomatic;
+
void
do_remote_encode (shared_ptr<DCPVideo> frame, EncodeServerDescription description, Data locally_encoded)
diff --git a/test/image_test.cc b/test/image_test.cc
index 5fccf6b9b..b45d9a97b 100644
--- a/test/image_test.cc
+++ b/test/image_test.cc
@@ -34,6 +34,8 @@ using std::string;
using std::list;
using std::cout;
using boost::shared_ptr;
+using namespace dcpomatic;
+
BOOST_AUTO_TEST_CASE (aligned_image_test)
{
diff --git a/test/make_black_test.cc b/test/make_black_test.cc
index 2ed5db8ef..ddcb772d3 100644
--- a/test/make_black_test.cc
+++ b/test/make_black_test.cc
@@ -33,6 +33,8 @@ extern "C" {
#include "lib/image.h"
using std::list;
+using namespace dcpomatic;
+
BOOST_AUTO_TEST_CASE (make_black_test)
{
diff --git a/test/pixel_formats_test.cc b/test/pixel_formats_test.cc
index 952cc0af9..e8659cd7e 100644
--- a/test/pixel_formats_test.cc
+++ b/test/pixel_formats_test.cc
@@ -36,6 +36,7 @@ extern "C" {
using std::list;
using std::cout;
+using namespace dcpomatic;
/** @struct Case
* @brief A test case for pixel_formats_test.
diff --git a/test/test.cc b/test/test.cc
index 32d32f988..b044a2819 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -509,7 +509,7 @@ wait_for_jobs ()
}
void
-write_image (shared_ptr<const Image> image, boost::filesystem::path file, string format, MagickCore::StorageType pixel_type)
+write_image (shared_ptr<const dcpomatic::Image> image, boost::filesystem::path file, string format, MagickCore::StorageType pixel_type)
{
using namespace MagickCore;
diff --git a/test/test.h b/test/test.h
index b620a68a0..0c1e304e0 100644
--- a/test/test.h
+++ b/test/test.h
@@ -26,9 +26,11 @@ DCPOMATIC_ENABLE_WARNINGS
#include <boost/shared_ptr.hpp>
class Film;
-class Image;
class Log;
+namespace dcpomatic {
+ class Image;
+}
class TestPaths
{
@@ -52,7 +54,7 @@ extern void check_file (boost::filesystem::path, boost::filesystem::path);
extern void check_ffmpeg (boost::filesystem::path, boost::filesystem::path, int audio_tolerance);
extern void check_image (boost::filesystem::path, boost::filesystem::path, double threshold = 0.01);
extern boost::filesystem::path test_film_dir (std::string);
-extern void write_image (boost::shared_ptr<const Image> image, boost::filesystem::path file, std::string format, MagickCore::StorageType pixel_type = MagickCore::CharPixel);
+extern void write_image (boost::shared_ptr<const dcpomatic::Image> image, boost::filesystem::path file, std::string format, MagickCore::StorageType pixel_type = MagickCore::CharPixel);
boost::filesystem::path dcp_file (boost::shared_ptr<const Film> film, std::string prefix);
void check_one_frame (boost::filesystem::path dcp, int64_t index, boost::filesystem::path ref);
extern boost::filesystem::path subtitle_file (boost::shared_ptr<Film> film);