[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/graphics/kipi-plugins
From:       Jens Mueller <tschenser () gmx ! de>
Date:       2010-03-31 20:54:48
Message-ID: 20100331205448.7FB6CAC888 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1109716 by jmueller:

- set correct whitebalance
- add some exif tags from manufactor markernotes (lens, shutter count, serial, \
firmware, focal length)

BUGS: 191907

 M  +4 -3      NEWS  
 M  +46 -5     dngconverter/dngwriter/dngwriter.cpp  


--- trunk/extragear/graphics/kipi-plugins/NEWS #1109715:1109716
@@ -7,6 +7,7 @@
 
 BUGFIXES FROM KDE BUGZILLA (alias B.K.O | http://bugs.kde.org):
 
-001 ==> PrintWizard : 232382 : Setting custom page size is impossible.
-002 ==> Libkdcraw   : 221542 : Build fails due to ambiguities.
-003 ==> 
+001 ==> PrintWizard  : 232382 : Setting custom page size is impossible.
+002 ==> Libkdcraw    : 221542 : Build fails due to ambiguities.
+003 ==> DngConverter : 191907 : DNG Converter damages white balance metadata
+004 ==>
--- trunk/extragear/graphics/kipi-plugins/dngconverter/dngwriter/dngwriter.cpp \
#1109715:1109716 @@ -478,12 +478,10 @@
 
         // -------------------------------------------------------------------------------
  
-        // Clear "Camera WhiteXY"
-        negative->SetCameraWhiteXY(dng_xy_coord());
+        negative->SetCameraNeutral(dng_vector_3(1/identify.cameraMult[0],
+                                                1/identify.cameraMult[1],
+                                                1/identify.cameraMult[2]));
 
-        // This settings break color on preview and thumbnail
-        //negative->SetCameraNeutral(dng_vector_3(1.0, 1.0, 1.0));
-
         if (d->cancel) return -2;
 
         // -----------------------------------------------------------------------------------------
 @@ -517,6 +515,12 @@
         {
             // String Tags
 
+            str = meta.getExifTagString("Exif.Image.Make");
+            if (!str.isEmpty()) exif->fMake.Set_ASCII(str.toAscii());
+
+            str = meta.getExifTagString("Exif.Image.Model");
+            if (!str.isEmpty()) exif->fModel.Set_ASCII(str.toAscii());
+
             str = meta.getExifTagString("Exif.Image.Software");
             if (!str.isEmpty()) exif->fSoftware.Set_ASCII(str.toAscii());
 
@@ -642,6 +646,43 @@
             if (meta.getExifTagLong("Exif.GPSInfo.GPSAltitudeRef", val))             \
                exif->fGPSAltitudeRef           = (uint32)val;
             if (meta.getExifTagLong("Exif.GPSInfo.GPSDifferential", val))            \
exif->fGPSDifferential          = (uint32)val;  
+            // Nikon Markernotes
+
+            if (meta.getExifTagRational("Exif.Nikon3.Lens", num, den, 0))            \
exif->fLensInfo[0]              = dng_urational(num, den); +            if \
(meta.getExifTagRational("Exif.Nikon3.Lens", num, den, 1))              \
exif->fLensInfo[1]              = dng_urational(num, den); +            if \
(meta.getExifTagRational("Exif.Nikon3.Lens", num, den, 2))              \
exif->fLensInfo[2]              = dng_urational(num, den); +            if \
(meta.getExifTagRational("Exif.Nikon3.Lens", num, den, 3))              \
exif->fLensInfo[3]              = dng_urational(num, den); +
+            str = meta.getExifTagString("Exif.Nikon3.SerialNumber");
+            if (!str.isEmpty()) exif->fCameraSerialNumber.Set_ASCII(str.toAscii());
+
+            if (meta.getExifTagLong("Exif.Nikon3.ShutterCount", val))                \
exif->fImageNumber              = (uint32)val; +            if \
(meta.getExifTagLong("Exif.NikonLd3.LensIDNumber", val))                \
exif->fLensID.Set_ASCII((QString("%1").arg(val)).toAscii()); +
+            // Canon Markernotes
+
+            if (meta.getExifTagLong("Exif.Canon.SerialNumber", val))                 \
exif->fCameraSerialNumber.Set_ASCII((QString("%1").arg(val)).toAscii()); +            \
if (meta.getExifTagLong("Exif.CanonCs.LensType", val))                     \
exif->fLensID.Set_ASCII((QString("%1").arg(val)).toAscii()); +            if \
(meta.getExifTagLong("Exif.CanonCs.FlashActivity", val))                exif->fFlash  \
= (uint32)val; +
+            if (meta.getExifTagRational("Exif.Canon.FocalLength", num, den, 1))      \
exif->fFocalLength              = dng_urational(num, den); +            if \
(meta.getExifTagRational("Exif.CanonCs.Lens", num, den, 0))             \
exif->fLensInfo[1]              = dng_urational(num, den); +            if \
(meta.getExifTagRational("Exif.CanonCs.Lens", num, den, 1))             \
exif->fLensInfo[0]              = dng_urational(num, den); +
+            str = meta.getExifTagString("Exif.Canon.OwnerName");
+            if (!str.isEmpty()) exif->fOwnerName.Set_ASCII(str.toAscii());
+
+            str = meta.getExifTagString("Exif.Canon.FirmwareVersion");
+            if (!str.isEmpty()) exif->fFirmware.Set_ASCII(str.toAscii());
+
+            str = meta.getExifTagString("Exif.CanonSi.ISOSpeed");
+            if (!str.isEmpty()) exif->fISOSpeedRatings[0] = str.toInt();
+
+            // Olympus Markernotes
+
+            str = meta.getExifTagString("Exif.OlympusEq.SerialNumber");
+            if (!str.isEmpty()) exif->fCameraSerialNumber.Set_ASCII(str.toAscii());
+
             // Markernote backup.
 
             QByteArray mkrnts = meta.getExifTagData("Exif.Photo.MakerNote");


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic