}
#include <dcp/colour_conversion.h>
#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
struct AVFrame;
class Socket;
-class Image
+class Image : public boost::enable_shared_from_this<Image>
{
public:
Image (AVPixelFormat p, dcp::Size s, bool aligned, int extra_pixels = 0);
- Image (AVFrame *);
- Image (Image const &);
+ explicit Image (AVFrame *);
+ explicit Image (Image const &);
Image (boost::shared_ptr<const Image>, bool);
Image& operator= (Image const &);
~Image ();
size_t memory_used () const;
- static boost::shared_ptr<Image> ensure_aligned (boost::shared_ptr<Image> image);
+ dcp::Data as_png () const;
+
+ static boost::shared_ptr<const Image> ensure_aligned (boost::shared_ptr<const Image> image);
private:
friend struct pixel_formats_test;