From 21e8238484af35ac207b01defe406e73445632be Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 14 May 2014 19:27:04 +0100 Subject: Make DCPVideoFrame use PlayerVideoFrame to store its image. --- src/lib/image.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/lib/image.cc') diff --git a/src/lib/image.cc b/src/lib/image.cc index d083cf3f6..1fa55e242 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -22,6 +22,7 @@ */ #include +#include extern "C" { #include #include @@ -37,6 +38,7 @@ using std::string; using std::min; using std::cout; using std::cerr; +using std::stringstream; using boost::shared_ptr; using libdcp::Size; @@ -619,3 +621,24 @@ Image::aligned () const return _aligned; } +string +Image::digest () const +{ + MD5_CTX md5_context; + MD5_Init (&md5_context); + + for (int i = 0; i < components(); ++i) { + MD5_Update (&md5_context, data()[i], line_size()[i]); + } + + unsigned char digest[MD5_DIGEST_LENGTH]; + MD5_Final (digest, &md5_context); + + stringstream s; + for (int i = 0; i < MD5_DIGEST_LENGTH; ++i) { + s << std::hex << std::setfill('0') << std::setw(2) << ((int) digest[i]); + } + + return s.str (); +} + -- cgit v1.2.3