[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:38:16 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=b2f2b95
The following commit has been merged in the master branch:
commit b2f2b95bcbda17aec76bddd8dfd342671cb3ba7b
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Mon Feb 5 14:33:25 2007 +0000
Added Fujifilm read-support for RAF images.
---
src/Makefile | 3 +-
src/image.cpp | 6 ++-
src/{mrwimage.cpp => rafimage.cpp} | 108 +++++++++++++++----------------------
src/{mrwimage.hpp => rafimage.hpp} | 51 +++++++++---------
4 files changed, 74 insertions(+), 94 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index 069f3ac..249d2a5 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -80,7 +80,8 @@ ifdef HAVE_LIBZ
CCSRC += pngimage.cpp \
pngchunk.cpp
endif
-CCSRC += sigmamn.cpp \
+CCSRC += rafimage.cpp \
+ sigmamn.cpp \
sonymn.cpp \
tags.cpp \
tiffcomposite.cpp \
diff --git a/src/image.cpp b/src/image.cpp
index 75451b8..ef42b50 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -44,14 +44,15 @@ EXIV2_RCSID("@(#) $Id$")
#include "error.hpp"
#include "futils.hpp"
-#include "jpgimage.hpp"
#include "cr2image.hpp"
#include "crwimage.hpp"
+#include "jpgimage.hpp"
#include "mrwimage.hpp"
-#include "tiffimage.hpp"
#ifdef EXV_HAVE_LIBZ
# include "pngimage.hpp"
#endif // EXV_HAVE_LIBZ
+#include "rafimage.hpp"
+#include "tiffimage.hpp"
// + standard includes
#include <cerrno>
@@ -83,6 +84,7 @@ namespace Exiv2 {
#ifdef EXV_HAVE_LIBZ
{ ImageType::png, newPngInstance, isPngType, amRead, amRead, amNone },
#endif // EXV_HAVE_LIBZ
+ { ImageType::raf, newRafInstance, isRafType, amRead, amRead, amNone },
// End of list marker
{ ImageType::none, 0, 0, amNone, amNone, amNone }
};
diff --git a/src/mrwimage.cpp b/src/rafimage.cpp
similarity index 58%
copy from src/mrwimage.cpp
copy to src/rafimage.cpp
index 1e21561..543c725 100644
--- a/src/mrwimage.cpp
+++ b/src/rafimage.cpp
@@ -1,6 +1,6 @@
// ***************************************************************** -*- C++ -*-
/*
- * Copyright (C) 2006-2007 Andreas Huggel <ahuggel at gmx.net>
+ * Copyright (C) 2007 Andreas Huggel <ahuggel at gmx.net>
*
* This program is part of the Exiv2 distribution.
*
@@ -19,10 +19,10 @@
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
*/
/*
- File: mrwimage.cpp
+ File: rafimage.cpp
Version: $Rev$
Author(s): Andreas Huggel (ahu) <ahuggel at gmx.net>
- History: 13-May-06, ahu: created
+ History: 05-Feb-07, ahu: created
Credits: See header file
*/
// *****************************************************************************
@@ -37,7 +37,7 @@ EXIV2_RCSID("@(#) $Id$")
# include "exv_conf.h"
#endif
-#include "mrwimage.hpp"
+#include "rafimage.hpp"
#include "tiffparser.hpp"
#include "image.hpp"
#include "basicio.hpp"
@@ -54,153 +54,133 @@ EXIV2_RCSID("@(#) $Id$")
// class member definitions
namespace Exiv2 {
- MrwImage::MrwImage(BasicIo::AutoPtr io, bool create)
+ RafImage::RafImage(BasicIo::AutoPtr io, bool create)
: Image(mdExif | mdIptc), io_(io)
{
if (create) {
IoCloser closer(*io_);
io_->open();
}
- } // MrwImage::MrwImage
+ } // RafImage::RafImage
- bool MrwImage::good() const
+ bool RafImage::good() const
{
if (io_->open() != 0) return false;
IoCloser closer(*io_);
return isThisType(*io_, false);
}
- AccessMode MrwImage::checkMode(MetadataId metadataId) const
+ AccessMode RafImage::checkMode(MetadataId metadataId) const
{
- return ImageFactory::checkMode(ImageType::mrw, metadataId);
+ return ImageFactory::checkMode(ImageType::raf, metadataId);
}
- void MrwImage::clearMetadata()
+ void RafImage::clearMetadata()
{
clearExifData();
clearIptcData();
}
- void MrwImage::setMetadata(const Image& image)
+ void RafImage::setMetadata(const Image& image)
{
setExifData(image.exifData());
setIptcData(image.iptcData());
}
- void MrwImage::clearExifData()
+ void RafImage::clearExifData()
{
exifData_.clear();
}
- void MrwImage::setExifData(const ExifData& exifData)
+ void RafImage::setExifData(const ExifData& exifData)
{
exifData_ = exifData;
}
- void MrwImage::clearIptcData()
+ void RafImage::clearIptcData()
{
iptcData_.clear();
}
- void MrwImage::setIptcData(const IptcData& iptcData)
+ void RafImage::setIptcData(const IptcData& iptcData)
{
iptcData_ = iptcData;
}
- void MrwImage::clearComment()
+ void RafImage::clearComment()
{
// not supported, do nothing
}
- void MrwImage::setComment(const std::string& /*comment*/)
+ void RafImage::setComment(const std::string& /*comment*/)
{
// not supported
- throw(Error(32, "Image comment", "MRW"));
+ throw(Error(32, "Image comment", "RAF"));
}
- void MrwImage::readMetadata()
+ void RafImage::readMetadata()
{
#ifdef DEBUG
- std::cerr << "Reading MRW file " << io_->path() << "
";
+ std::cerr << "Reading RAF file " << io_->path() << "
";
#endif
- if (io_->open() != 0) {
- throw Error(9, io_->path(), strError());
- }
+ if (io_->open() != 0) throw Error(9, io_->path(), strError());
IoCloser closer(*io_);
// Ensure that this is the correct image type
- if (!isThisType(*io_, false)) {
+ if (!isThisType(*io_, true)) {
if (io_->error() || io_->eof()) throw Error(14);
- throw Error(3, "MRW");
+ throw Error(3, "RAF");
}
- clearMetadata();
-
- // Find the TTW block and read it into a buffer
- uint32_t const len = 8;
- byte tmp[len];
- io_->read(tmp, len);
- uint32_t pos = len;
- uint32_t const end = getULong(tmp + 4, bigEndian);
-
- pos += len;
- if (pos > end) throw Error(14);
- io_->read(tmp, len);
+ if (io_->seek(84, BasicIo::beg) != 0) throw Error(14);
+ byte tmp[4];
+ io_->read(tmp, 4);
if (io_->error() || io_->eof()) throw Error(14);
-
- while (memcmp(tmp + 1, "TTW", 3) != 0) {
- uint32_t const siz = getULong(tmp + 4, bigEndian);
- pos += siz;
- if (pos > end) throw Error(14);
- io_->seek(siz, BasicIo::cur);
- if (io_->error() || io_->eof()) throw Error(14);
-
- pos += len;
- if (pos > end) throw Error(14);
- io_->read(tmp, len);
- if (io_->error() || io_->eof()) throw Error(14);
- }
-
- DataBuf buf(getULong(tmp + 4, bigEndian));
+ uint32_t const pos = getULong(tmp, bigEndian) + 4;
+ if (io_->seek(pos, BasicIo::beg) != 0) throw Error(14);
+ io_->read(tmp, 2);
+ if (io_->error() || io_->eof()) throw Error(14);
+ DataBuf buf(getUShort(tmp, bigEndian) - 10);
+ if (io_->seek(pos + 8, BasicIo::beg) != 0) throw Error(14);
io_->read(buf.pData_, buf.size_);
if (io_->error() || io_->eof()) throw Error(14);
-
+ clearMetadata();
TiffParser::decode(this, buf.pData_, buf.size_,
TiffCreator::create, TiffDecoder::findDecoder);
- } // MrwImage::readMetadata
+ } // RafImage::readMetadata
- void MrwImage::writeMetadata()
+ void RafImage::writeMetadata()
{
/*
Todo: implement me!
*/
- throw(Error(31, "metadata", "MRW"));
- } // MrwImage::writeMetadata
+ throw(Error(31, "metadata", "RAF"));
+ } // RafImage::writeMetadata
- bool MrwImage::isThisType(BasicIo& iIo, bool advance) const
+ bool RafImage::isThisType(BasicIo& iIo, bool advance) const
{
- return isMrwType(iIo, advance);
+ return isRafType(iIo, advance);
}
// *************************************************************************
// free functions
- Image::AutoPtr newMrwInstance(BasicIo::AutoPtr io, bool create)
+ Image::AutoPtr newRafInstance(BasicIo::AutoPtr io, bool create)
{
- Image::AutoPtr image(new MrwImage(io, create));
+ Image::AutoPtr image(new RafImage(io, create));
if (!image->good()) {
image.reset();
}
return image;
}
- bool isMrwType(BasicIo& iIo, bool advance)
+ bool isRafType(BasicIo& iIo, bool advance)
{
- const int32_t len = 4;
+ const int32_t len = 8;
byte buf[len];
iIo.read(buf, len);
if (iIo.error() || iIo.eof()) {
return false;
}
- int rc = memcmp(buf, "
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list