diff options
Diffstat (limited to 'src/lib/j2k_image_proxy.cc')
| -rw-r--r-- | src/lib/j2k_image_proxy.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/lib/j2k_image_proxy.cc b/src/lib/j2k_image_proxy.cc index 7dca3d8a9..ce0b88265 100644 --- a/src/lib/j2k_image_proxy.cc +++ b/src/lib/j2k_image_proxy.cc @@ -35,6 +35,7 @@ using std::string; using std::cout; using boost::shared_ptr; using boost::optional; +using boost::dynamic_pointer_cast; /** Construct a J2KImageProxy from a JPEG2000 file */ J2KImageProxy::J2KImageProxy (boost::filesystem::path path, dcp::Size size) @@ -132,3 +133,18 @@ J2KImageProxy::send_binary (shared_ptr<Socket> socket) const { socket->write (_data.data().get(), _data.size()); } + +bool +J2KImageProxy::same (shared_ptr<const ImageProxy> other) const +{ + shared_ptr<const J2KImageProxy> jp = dynamic_pointer_cast<const J2KImageProxy> (other); + if (!jp) { + return false; + } + + if (_data.size() != jp->_data.size()) { + return false; + } + + return memcmp (_data.data().get(), jp->_data.data().get(), _data.size()) == 0; +} |
