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

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:46:12 UTC 2017


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

The following commit has been merged in the master branch:
commit a57a9b2fa4c29be88e42fbf9336199e15b38b260
Author: Robin Mills <robin at clanmills.com>
Date:   Sun Jan 10 14:41:01 2016 +0000

    #1149.  Modify -pR to find and report the tiff in an APP1/FLIR segment.
---
 src/jpgimage.cpp | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp
index 244ce4f..8aaea1e 100644
--- a/src/jpgimage.cpp
+++ b/src/jpgimage.cpp
@@ -644,9 +644,11 @@ namespace Exiv2 {
                     }
 
                     // for MPF: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/MPF.html
-                    if( (option == kpsRecursive && marker == (app0_+1) && std::strcmp(http,"Exif")==0 )
-                    ||  (option == kpsRecursive && marker == (app0_+2) && std::strcmp(http,"MPF" )==0 )
-                    ) {
+                    // for FLIR: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/FLIR.html
+                    bool bFlir = option == kpsRecursive && marker == (app0_+1) && std::strcmp(http,"FLIR")==0;
+                    bool bExif = option == kpsRecursive && marker == (app0_+1) && std::strcmp(http,"Exif")==0;
+                    bool bMPF  = option == kpsRecursive && marker == (app0_+2) && std::strcmp(http,"MPF")==0;
+                    if( bFlir || bExif || bMPF ) {
                         // extract Exif data block which is tiff formatted
                         if ( size > 0 ) {
                             out << std::endl;
@@ -660,6 +662,16 @@ namespace Exiv2 {
                             io_->read(exif,size);
                             uint32_t start     = std::strcmp(http,"Exif")==0 ? 8 : 6;
 
+                            // there is a header in FLIR, followed by a tiff block
+                            // Hunt down the tiff using brute force
+                            if ( bFlir ) {
+                                start = 0 ;
+                                while ( start < size-1 ) {
+                                    if ( exif[start] == 'I' && exif[start+1] == 'I' ) break;
+                                    start++;
+                                }
+                            }
+
                             // create a copy on write memio object with the data, then print the structure
                             BasicIo::AutoPtr p = BasicIo::AutoPtr(new MemIo(exif+start,size-start));
                             TiffImage::printTiffStructure(*p,out,option,depth);

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list