Image (boost::shared_ptr<const Image>, bool);
Image& operator= (Image const &);
~Image ();
Image (boost::shared_ptr<const Image>, bool);
Image& operator= (Image const &);
~Image ();
boost::shared_ptr<Image> scale (dcp::Size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat, bool aligned) const;
boost::shared_ptr<Image> scale (dcp::Size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat, bool aligned) const;
boost::shared_ptr<Image> crop_scale_window (Crop c, dcp::Size, dcp::Size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat, bool aligned) const;
boost::shared_ptr<Image> crop_scale_window (Crop c, dcp::Size, dcp::Size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat, bool aligned) const;
void make_black ();
void make_transparent ();
void alpha_blend (boost::shared_ptr<const Image> image, Position<int> pos);
void make_black ();
void make_transparent ();
void alpha_blend (boost::shared_ptr<const Image> image, Position<int> pos);
void read_from_socket (boost::shared_ptr<Socket>);
void write_to_socket (boost::shared_ptr<Socket>) const;
void read_from_socket (boost::shared_ptr<Socket>);
void write_to_socket (boost::shared_ptr<Socket>) const;