[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:40:35 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=9bbfd1c

The following commit has been merged in the master branch:
commit 9bbfd1c1868dac7faa7c6b5e986f4bd23f03c9b3
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Sat Jun 20 04:55:31 2009 +0000

    Removed r1830, r1826, r1825, r1824 from trunk (PGF image format)
---
 src/Makefile              |   3 +-
 src/image.cpp             |   2 -
 src/pgfimage.cpp          | 331 ----------------------------------------------
 src/pgfimage.hpp          | 137 -------------------
 test/data/imagemagick.pgf | Bin 120983 -> 0 bytes
 5 files changed, 1 insertion(+), 472 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index bb323d8..173ec26 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -90,8 +90,7 @@ CCSRC =  basicio.cpp          \
 	 nikonmn.cpp          \
 	 olympusmn.cpp        \
 	 orfimage.cpp         \
-	 panasonicmn.cpp      \
-	 pgfimage.cpp
+	 panasonicmn.cpp
 ifdef HAVE_LIBZ
 CCSRC += pngimage.cpp         \
 	 pngchunk.cpp
diff --git a/src/image.cpp b/src/image.cpp
index 999965a..24056a7 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -60,7 +60,6 @@ EXIV2_RCSID("@(#) $Id$")
 #include "bmpimage.hpp"
 #include "jp2image.hpp"
 #include "rw2image.hpp"
-#include "pgfimage.hpp"
 #include "xmpsidecar.hpp"
 
 // + standard includes
@@ -118,7 +117,6 @@ namespace {
         { ImageType::bmp,  newBmpInstance,  isBmpType,  amNone,      amNone,      amNone,      amNone      },
         { ImageType::jp2,  newJp2Instance,  isJp2Type,  amReadWrite, amReadWrite, amReadWrite, amNone      },
         { ImageType::rw2,  newRw2Instance,  isRw2Type,  amRead,      amRead,      amRead,      amNone      },
-        { ImageType::pgf,  newPgfInstance,  isPgfType,  amReadWrite, amReadWrite, amReadWrite, amReadWrite },
         // End of list marker
         { ImageType::none, 0,               0,          amNone,      amNone,      amNone,      amNone      }
     };
diff --git a/src/pgfimage.cpp b/src/pgfimage.cpp
deleted file mode 100644
index 79e4709..0000000
--- a/src/pgfimage.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-// ***************************************************************** -*- C++ -*-
-/*
- * Copyright (C) 2004-2009 Andreas Huggel <ahuggel at gmx.net>
- *
- * This program is part of the Exiv2 distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
- */
-/*
-  File:    pgfimage.cpp
-  Version: $Rev: 1750 $
-  Author(s): Gilles Caulier (cgilles) <caulier dot gilles at gmail dot com>
-  History: 16-Jun-09, gc: submitted
-  Credits: See header file
- */
-// *****************************************************************************
-#include "rcsid.hpp"
-EXIV2_RCSID("@(#) $Id: pgfimage.cpp 1750 2009-02-16 14:30:51Z ahuggel $")
-
-// *****************************************************************************
-
-#define DEBUG 1
-
-// *****************************************************************************
-// included header files
-#ifdef _MSC_VER
-# include "exv_msvc.h"
-#else
-# include "exv_conf.h"
-#endif
-
-#include "pgfimage.hpp"
-#include "image.hpp"
-#include "pngimage.hpp"
-#include "basicio.hpp"
-#include "error.hpp"
-#include "futils.hpp"
-
-// + standard includes
-#include <string>
-#include <cstring>
-#include <iostream>
-#include <cassert>
-
-// Signature from front of PGF file
-const unsigned char pgfSignature[3] = { 0x50, 0x47, 0x46 };
-
-const unsigned char pgfBlank[] = { 0x50,0x47,0x46,0x36,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
-                                   0x00,0x00,0x18,0x03,0x03,0x00,0x00,0x00,0x14,0x00,0x67,0x08,0x20,0x00,0xc0,0x01,
-                                   0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,
-                                   0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,
-                                   0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,
-                                   0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,
-                                   0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00
-                                 };
-
-// *****************************************************************************
-// class member definitions
-namespace Exiv2 {
-
-    PgfImage::PgfImage(BasicIo::AutoPtr io, bool create)
-            : Image(ImageType::pgf, mdExif | mdIptc| mdXmp | mdComment, io)
-    {
-        if (create)
-        {
-            if (io_->open() == 0)
-            {
-#ifdef DEBUG
-                std::cerr << "Exiv2::PgfImage:: Creating PGF image to memory
";
-#endif
-                IoCloser closer(*io_);
-                if (io_->write(pgfBlank, sizeof(pgfBlank)) != sizeof(pgfBlank))
-                {
-#ifdef DEBUG
-                    std::cerr << "Exiv2::PgfImage:: Failed to create PGF image on memory
";
-#endif
-                }
-            }
-        }
-    } // PgfImage::PgfImage
-
-    void PgfImage::readMetadata()
-    {
-#ifdef DEBUG
-        std::cerr << "Exiv2::PgfImage::readMetadata: Reading PGF file " << io_->path() << "
";
-#endif
-        if (io_->open() != 0)
-        {
-            throw Error(9, io_->path(), strError());
-        }
-        IoCloser closer(*io_);
-        // Ensure that this is the correct image type
-        if (!isPgfType(*io_, true))
-        {
-            if (io_->error() || io_->eof()) throw Error(14);
-            throw Error(3, "PGF");
-        }
-        clearMetadata();
-
-        readPgfMagicNumber(*io_);
-
-        uint32_t headerSize = readPgfHeaderSize(*io_);
-
-        readPgfHeaderStructure(*io_, &pixelWidth_, &pixelHeight_);
-
-        // And now, the most interresting, the user data byte array where metadata are stored as small image.
-
-        long size = 8 + headerSize - io_->tell();
-
-#ifdef DEBUG
-        std::cout << "Exiv2::PgfImage::readMetadata: Found Image data (" << size << " bytes)
";
-#endif
-
-        if (size < 0) throw Error(20);
-        if (size == 0) return;
-
-        DataBuf imgData(size);
-        std::memset(imgData.pData_, 0x0, imgData.size_);
-        long bufRead = io_->read(imgData.pData_, imgData.size_);
-        if (io_->error()) throw Error(14);
-        if (bufRead != imgData.size_) throw Error(20);
-
-        Image::AutoPtr image = Exiv2::ImageFactory::open(imgData.pData_, imgData.size_);
-        image->readMetadata();
-        exifData() = image->exifData();
-        iptcData() = image->iptcData();
-        xmpData()  = image->xmpData();
-
-    } // PgfImage::readMetadata
-
-    void PgfImage::writeMetadata()
-    {
-        if (io_->open() != 0)
-        {
-            throw Error(9, io_->path(), strError());
-        }
-        IoCloser closer(*io_);
-        BasicIo::AutoPtr tempIo(io_->temporary()); // may throw
-        assert (tempIo.get() != 0);
-
-        doWriteMetadata(*tempIo); // may throw
-        io_->close();
-        io_->transfer(*tempIo); // may throw
-
-    } // PgfImage::writeMetadata
-
-    void PgfImage::doWriteMetadata(BasicIo& outIo)
-    {
-        if (!io_->isopen()) throw Error(20);
-        if (!outIo.isopen()) throw Error(21);
-
-#ifdef DEBUG
-        std::cout << "Exiv2::PgfImage::doWriteMetadata: Writing PGF file " << io_->path() << "
";
-        std::cout << "Exiv2::PgfImage::doWriteMetadata: tmp file created " << outIo.path() << "
";
-#endif
-
-        // Ensure that this is the correct image type
-        if (!isPgfType(*io_, true))
-        {
-            if (io_->error() || io_->eof()) throw Error(20);
-            throw Error(22);
-        }
-
-        // Ensure PGF version.
-        byte mnb            = readPgfMagicNumber(*io_);
-
-        readPgfHeaderSize(*io_);
-
-        int w, h;
-        DataBuf header      = readPgfHeaderStructure(*io_, &w, &h);
-
-        Image::AutoPtr img  = ImageFactory::create(ImageType::png);
-
-        img->setExifData(exifData_);
-        img->setIptcData(iptcData_);
-        img->setXmpData(xmpData_);
-        img->writeMetadata();
-        int imgSize    = img->io().size();
-        DataBuf imgBuf = img->io().read(imgSize);
-
-#ifdef DEBUG
-        std::cout << "Exiv2::PgfImage::doWriteMetadata: Creating image to host metadata (" << imgSize << " bytes)
";
-#endif
-
-        //---------------------------------------------------------------
-
-        // Write PGF Signature.
-        if (outIo.write(pgfSignature, 3) != 3) throw Error(21);
-
-        // Write Magic number.
-        if (outIo.putb(mnb) == EOF) throw Error(21);
-
-        // Write new Header size.
-        uint32_t newHeaderSize = header.size_ + imgSize;
-        DataBuf buffer(4);
-        memcpy (buffer.pData_, &newHeaderSize, 4);
-        if (outIo.write(buffer.pData_, 4) != 4) throw Error(21);
-
-#ifdef DEBUG
-        std::cout << "Exiv2::PgfImage: new PGF header size : " << newHeaderSize << " bytes
";
-
-        printf("%x
", buffer.pData_[0]);
-        printf("%x
", buffer.pData_[1]);
-        printf("%x
", buffer.pData_[2]);
-        printf("%x
", buffer.pData_[3]);
-#endif
-
-        // Write Header data.
-        if (outIo.write(header.pData_, header.size_) != header.size_) throw Error(21);
-
-        // Write new metadata byte array.
-        if (outIo.write(imgBuf.pData_, imgBuf.size_) != imgBuf.size_) throw Error(21);
-
-        // Copy the rest of PGF image data.
-
-        DataBuf buf(4096);
-        long readSize = 0;
-        while ((readSize=io_->read(buf.pData_, buf.size_)))
-        {
-            if (outIo.write(buf.pData_, readSize) != readSize) throw Error(21);
-        }
-        if (outIo.error()) throw Error(21);
-
-    } // PgfImage::doWriteMetadata
-
-    byte PgfImage::readPgfMagicNumber(BasicIo& iIo)
-    {
-        byte b = iIo.getb();
-        if (iIo.error()) throw Error(14);
-
-        if (b < 0x36)   // 0x36 = '6'.
-        {
-            // Not right Magick version.
-#ifdef DEBUG
-            std::cout << "Exiv2::PgfImage::readMetadata: wrong Magick number
";
-#endif
-        }
-
-        return b;
-    } // PgfImage::readPgfMagicNumber
-
-    uint32_t PgfImage::readPgfHeaderSize(BasicIo& iIo)
-    {
-        DataBuf buffer(4);
-        long bufRead = iIo.read(buffer.pData_, buffer.size_);
-        if (iIo.error()) throw Error(14);
-        if (bufRead != buffer.size_) throw Error(20);
-
-        uint32_t headerSize = 0;
-        memcpy (&headerSize, buffer.pData_, 4);      // TODO : check endianness.
-        if (headerSize <= 0 ) throw Error(22);
-
-#ifdef DEBUG
-        std::cout << "Exiv2::PgfImage: PGF header size : " << headerSize << " bytes
";
-#endif
-
-        return headerSize;
-    } // PgfImage::readPgfHeaderSize
-
-    DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, int* width, int* height)
-    {
-        DataBuf header(16);
-        long bufRead = iIo.read(header.pData_, header.size_);
-        if (iIo.error()) throw Error(14);
-        if (bufRead != header.size_) throw Error(20);
-
-        memcpy(width,  &header.pData_[0], 4);      // TODO : check endianness.
-        memcpy(height, &header.pData_[4], 4);      // TODO : check endianness.
-
-        /* NOTE: properties not yet used
-        byte nLevels  = buffer.pData_[8];
-        byte quality  = buffer.pData_[9];
-        byte bpp      = buffer.pData_[10];
-        byte channels = buffer.pData_[11];
-        */
-        byte mode     = header.pData_[12];
-
-        if (mode == 2)  // Indexed color image. We pass color table (256 * 3 bytes).
-        {
-            header.alloc(16 + 256*3);
-
-            bufRead = iIo.read(&header.pData_[16], 256*3);
-            if (iIo.error()) throw Error(14);
-            if (bufRead != 256*3) throw Error(20);
-        }
-
-        return header;
-    } // PgfImage::readPgfHeaderStructure
-
-    // *************************************************************************
-    // free functions
-    Image::AutoPtr newPgfInstance(BasicIo::AutoPtr io, bool create)
-    {
-        Image::AutoPtr image(new PgfImage(io, create));
-        if (!image->good())
-        {
-            image.reset();
-        }
-        return image;
-    }
-
-    bool isPgfType(BasicIo& iIo, bool advance)
-    {
-        const int32_t len = 3;
-        byte buf[len];
-        iIo.read(buf, len);
-        if (iIo.error() || iIo.eof())
-        {
-            return false;
-        }
-        int rc = memcmp(buf, pgfSignature, 3);
-        if (!advance || rc != 0)
-        {
-            iIo.seek(-len, BasicIo::cur);
-        }
-
-        return rc == 0;
-    }
-}                                       // namespace Exiv2
diff --git a/src/pgfimage.hpp b/src/pgfimage.hpp
deleted file mode 100644
index 5c73a10..0000000
--- a/src/pgfimage.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// ***************************************************************** -*- C++ -*-
-/*
- * Copyright (C) 2004-2009 Andreas Huggel <ahuggel at gmx.net>
- *
- * This program is part of the Exiv2 distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
- */
-/*!
-  @file    pgfimage.hpp
-  @brief   PGF image, implemented using the following references:
-           <a href="http://www.libpgf.org/uploads/media/PGF_stamm_wscg02.pdf">PGF specification</a> from libpgf web site<br>
-  @version $Rev: 1750 $
-  @author  Andreas Huggel (ahu)
-           <a href="mailto:ahuggel at gmx.net">ahuggel at gmx.net</a>
-  @author  Gilles Caulier (cgilles)
-           <a href="mailto:caulier dot gilles at gmail dot com">caulier dot gilles at gmail dot com</a>
-  @date    16-Jun-09, gc: submitted
- */
-#ifndef PGFIMAGE_HPP_
-#define PGFIMAGE_HPP_
-
-// *****************************************************************************
-// included header files
-#include "image.hpp"
-#include "basicio.hpp"
-#include "types.hpp"
-
-// + standard includes
-#include <string>
-
-// *****************************************************************************
-// namespace extensions
-namespace Exiv2
-{
-
-// *****************************************************************************
-// class definitions
-
-    // Add PGF to the supported image formats
-    namespace ImageType
-    {
-        const int pgf = 17;          //!< PGF image type (see class PgfImage)
-    }
-
-    /*!
-      @brief Class to access PGF images. Exif and IPTC metadata are supported
-          directly.
-     */
-    class EXIV2API PgfImage : public Image {
-    public:
-        //! @name Creators
-        //@{
-        /*!
-          @brief Constructor that can either open an existing PGF image or create
-              a new image from scratch. If a new image is to be created, any
-              existing data is overwritten. Since the constructor can not return
-              a result, callers should check the good() method after object
-              construction to determine success or failure.
-          @param io An auto-pointer that owns a BasicIo instance used for
-              reading and writing image metadata.  Important: The constructor
-              takes ownership of the passed in BasicIo instance through the
-              auto-pointer. Callers should not continue to use the BasicIo
-              instance after it is passed to this method.  Use the Image::io()
-              method to get a temporary reference.
-          @param create Specifies if an existing image should be read (false)
-              or if a new file should be created (true).
-         */
-        PgfImage(BasicIo::AutoPtr io, bool create);
-        //@}
-
-        //! @name Manipulators
-        //@{
-        void readMetadata();
-        void writeMetadata();
-        //@}
-
-        //! @name Accessors
-        //@{
-        std::string mimeType() const { return "image/pgf"; }
-        //@}
-
-    private:
-        //! @name NOT implemented
-        //@{
-        //! Copy constructor
-        PgfImage(const PgfImage& rhs);
-        //! Assignment operator
-        PgfImage& operator=(const PgfImage& rhs);
-        /*!
-          @brief Provides the main implementation of writeMetadata() by
-                writing all buffered metadata to the provided BasicIo.
-          @param oIo BasicIo instance to write to (a temporary location).
-
-          @return 4 if opening or writing to the associated BasicIo fails
-         */
-        EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo);
-        //! Read Magick number. Only version >= 6 is supported.
-        byte readPgfMagicNumber(BasicIo& iIo);
-        //! Read PGF Header size encoded in 32 bits integer.
-        uint32_t readPgfHeaderSize(BasicIo& iIo);
-        //! Read header structure.
-        DataBuf readPgfHeaderStructure(BasicIo& iIo, int* width, int* height);
-        //@}
-
-    }; // class PgfImage
-
-// *****************************************************************************
-// template, inline and free functions
-
-    // These could be static private functions on Image subclasses but then
-    // ImageFactory needs to be made a friend.
-    /*!
-      @brief Create a new PgfImage instance and return an auto-pointer to it.
-             Caller owns the returned object and the auto-pointer ensures that
-             it will be deleted.
-     */
-    EXIV2API Image::AutoPtr newPgfInstance(BasicIo::AutoPtr io, bool create);
-
-    //! Check if the file iIo is a PGF image.
-    EXIV2API bool isPgfType(BasicIo& iIo, bool advance);
-
-}                                       // namespace Exiv2
-
-#endif                                  // #ifndef PGFIMAGE_HPP_
diff --git a/test/data/imagemagick.pgf b/test/data/imagemagick.pgf
deleted file mode 100644
index 6bd3af4..0000000
Binary files a/test/data/imagemagick.pgf and /dev/null differ

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list