[Digikam-devel] extragear/graphics/digikam/kioslave

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] extragear/graphics/digikam/kioslave

Gilles Caulier
SVN commit 553524 by cgilles:

digikam from trunk : digiKam KIO slave image preview extractor use now the new DMetadata IPTC image preview extraction method ! It's very fast !!!

IMPORTANT : actually, digiKam image editor store a JPEG preview image of 640x680 compressed to 75% factor. Please let's me hear if these settings is right for you. Note that preview IPTC tag size is limited to 256 Kb to store image.

CCMAIL: [hidden email]


 M  +26 -3     digikampreview.cpp  
 M  +1 -0      digikampreview.h  


--- trunk/extragear/graphics/digikam/kioslave/digikampreview.cpp #553523:553524
@@ -91,11 +91,14 @@
         return;
     }
 
-    // Try to load with dcraw : RAW files.
+    // -- Get the image preview --------------------------------
+    // In first, we trying to load with dcraw : RAW files.
     if ( !loadDCRAW(img, url.path()) )
     {
-        // Try to load with Qt/KDE.
-        img.load(url.path());
+        // Try to extract Exif/Iptc preview.
+        if ( !loadImagePreview(img, url.path()) )
+            // Try to load with Qt/KDE.
+            img.load(url.path());
     }
 
     if (img.isNull())
@@ -214,6 +217,20 @@
     }
 }
 
+// -- Exif/IPTC preview extraction using Exiv2 --------------------------------------------------------
+
+bool kio_digikampreviewProtocol::loadImagePreview(QImage& image, const QString& path)
+{
+    DMetadata metadata(path);
+    if (metadata.getImagePreview(image))
+    {
+        kdDebug() << "Use Exif/Iptc preview extraction" << endl;
+        return true;
+    }
+    
+    return false;
+}
+
 // -- RAW preview extraction using Dcraw --------------------------------------------------------------
 
 bool kio_digikampreviewProtocol::loadDCRAW(QImage& image, const QString& path)
@@ -269,7 +286,10 @@
     if ( !imgData.isEmpty() )
     {
         if (image.loadFromData( imgData ))
+        {
+            kdDebug() << "Use embedded JPEG RAW preview extraction" << endl;
             return true;
+        }
     }
     
     // In second, try to use simple RAW extraction method
@@ -311,7 +331,10 @@
     if ( !imgData.isEmpty() )
     {
         if (image.loadFromData( imgData ))
+        {
+            kdDebug() << "Use reduced RAW preview extraction" << endl;
             return true;
+        }
     }
     
     return false;
--- trunk/extragear/graphics/digikam/kioslave/digikampreview.h #553523:553524
@@ -43,6 +43,7 @@
 
     void exifRotate(const QString& filePath, QImage& thumb);
     bool loadDCRAW(QImage& image, const QString& path);
+    bool loadImagePreview(QImage& image, const QString& path);
 
 };
 
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Bugzilla from mikmach@wp.pl
Dnia środa, 21 czerwca 2006 13:46, Gilles Caulier napisał:
> SVN commit 553524 by cgilles:
>
> digikam from trunk : digiKam KIO slave image preview extractor use now
> the new DMetadata IPTC image preview extraction method ! It's very fast
> !!!

Don't know how for RAW files but preview speed for JPEG files is
much slower...
>
> IMPORTANT : actually, digiKam image editor store a JPEG preview image of
> 640x680 compressed to 75% factor. Please let's me hear if these settings
> is right for you. Note that preview IPTC tag size is limited to 256 Kb
> to store image.

Quality isn't so great.

1. What about 80% quality? Even when making size smaller. Smoothing of
   Qt is really good and personally I would prefer to see some Qt-blur
   instead of JPEG artefacts. (note: I use full screen Digikam in
   1152x864 resolution - on bigger screens it may look different).
2. What is sampling factor? In most systems 1x2 (or lower) is default
   but offers significantly reduced quality for modest size gains
   comparing to 1x1.

m.

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Gilles Caulier-2
Le Mercredi 21 Juin 2006 16:08, Mikolaj Machowski a écrit :
> Dnia środa, 21 czerwca 2006 13:46, Gilles Caulier napisał:
> > SVN commit 553524 by cgilles:
> >
> > digikam from trunk : digiKam KIO slave image preview extractor use now
> > the new DMetadata IPTC image preview extraction method ! It's very fast
> > !!!
>
> Don't know how for RAW files but preview speed for JPEG files is
> much slower...

Because, if no preveiw data is found in IPTC tags, the whole image is loaded
uing Qt.

There is somthing missing for that : the Exif makernote preview tag
extraction. Exiv2 need to be improved for that. It's planed for the next
release

>
> > IMPORTANT : actually, digiKam image editor store a JPEG preview image of
> > 640x680 compressed to 75% factor. Please let's me hear if these settings
> > is right for you. Note that preview IPTC tag size is limited to 256 Kb
> > to store image.
>
> Quality isn't so great.
>
> 1. What about 80% quality? Even when making size smaller. Smoothing of
>    Qt is really good and personally I would prefer to see some Qt-blur
>    instead of JPEG artefacts. (note: I use full screen Digikam in
>    1152x864 resolution - on bigger screens it may look different).

yes. of course. but preview is not the whole image. It's different. perhaps i
can increase preview image size and compression factor.

> 2. What is sampling factor? In most systems 1x2 (or lower) is default
>    but offers significantly reduced quality for modest size gains
>    comparing to 1x1.

sampling factor ?

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Gilles Caulier-2
In reply to this post by Bugzilla from mikmach@wp.pl
Le Mercredi 21 Juin 2006 16:08, Mikolaj Machowski a écrit :

> Dnia środa, 21 czerwca 2006 13:46, Gilles Caulier napisał:
> > SVN commit 553524 by cgilles:
> >
> > digikam from trunk : digiKam KIO slave image preview extractor use now
> > the new DMetadata IPTC image preview extraction method ! It's very fast
> > !!!
>
> Don't know how for RAW files but preview speed for JPEG files is
> much slower...
>
> > IMPORTANT : actually, digiKam image editor store a JPEG preview image of
> > 640x680 compressed to 75% factor. Please let's me hear if these settings
> > is right for you. Note that preview IPTC tag size is limited to 256 Kb
> > to store image.
>
> Quality isn't so great.
>
> 1. What about 80% quality? Even when making size smaller. Smoothing of
>    Qt is really good and personally I would prefer to see some Qt-blur
>    instead of JPEG artefacts. (note: I use full screen Digikam in
>    1152x864 resolution - on bigger screens it may look different).
> 2. What is sampling factor? In most systems 1x2 (or lower) is default
>    but offers significantly reduced quality for modest size gains
>    comparing to 1x1.

Fixed to 800x600 with default Qt compression ratio. Look better and similar
than embedded Jpeg preview from RAW files

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Bugzilla from mikmach@wp.pl
In reply to this post by Gilles Caulier-2
Dnia środa, 21 czerwca 2006 19:06, Caulier Gilles napisał:

> Le Mercredi 21 Juin 2006 16:08, Mikolaj Machowski a écrit :
> > Dnia środa, 21 czerwca 2006 13:46, Gilles Caulier napisał:
> > > SVN commit 553524 by cgilles:
> > >
> > > digikam from trunk : digiKam KIO slave image preview extractor use
> > > now the new DMetadata IPTC image preview extraction method ! It's
> > > very fast !!!
> >
> > Don't know how for RAW files but preview speed for JPEG files is
> > much slower...
>
> Because, if no preveiw data is found in IPTC tags, the whole image is
> loaded uing Qt.

So, why previous method was faster? Weren't image loaded?

> There is somthing missing for that : the Exif makernote preview tag
> extraction. Exiv2 need to be improved for that. It's planed for the next
> release

What about generating necessary method by Digikam/Image Editor?
>
> > 2. What is sampling factor? In most systems 1x2 (or lower) is default
> >    but offers significantly reduced quality for modest size gains
> >    comparing to 1x1.
>
> sampling factor ?

From ImageMagick man:

-sampling-factor <horizontal_factor>x<vertical_factor>
      sampling factors used  by  JPEG or  MPEG-2  encoder  and  YUV
      decoder/encoder.

      This option specifies the sampling factors to  be used  by  the
      JPEG  encoder  for chroma downsampling.  If this option is omit-
      ted, the JPEG library will use its  own  default values.  When
      reading  or  writing  the YUV  format  and when writing the M2V
      (MPEG-2) format, use -sampling-factor 2x1 to specify  the 4:2:2
      downsampling  method.  To use the same sampling factors as those
      found by the JPEG decoder, use  the  -define  jpeg:preserve-set-
      tings flag.

m.

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Bugzilla from mikmach@wp.pl
In reply to this post by Gilles Caulier-2
Dnia środa, 21 czerwca 2006 20:53, Caulier Gilles napisał:
>
> Fixed to 800x600 with default Qt compression ratio. Look better and
> similar than embedded Jpeg preview from RAW files

OK, looks better. I made few test with conversions and I see major
reason: widget used for preview doesn't use (support?) smoothing. Qt
smoothing is really superb and almost perfectly hides artefacts
in narrow range off zoom (80-120%, which is used for this task).

m.

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Gilles Caulier-2
On Wednesday 21 June 2006 22:57, Mikolaj Machowski wrote:
> Dnia środa, 21 czerwca 2006 20:53, Caulier Gilles napisał:
> > Fixed to 800x600 with default Qt compression ratio. Look better and
> > similar than embedded Jpeg preview from RAW files
>
> OK, looks better. I made few test with conversions and I see major
> reason: widget used for preview doesn't use (support?) smoothing. Qt
> smoothing is really superb and almost perfectly hides artefacts
> in narrow range off zoom (80-120%, which is used for this task).
>

I have unsused smoothing for performance reason. Normally, It's a little bit
long to render the image on the screen by this way. Let's me try again.

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Gilles Caulier-2
In reply to this post by Bugzilla from mikmach@wp.pl
On Wednesday 21 June 2006 22:57, Mikolaj Machowski wrote:
> Dnia środa, 21 czerwca 2006 20:53, Caulier Gilles napisał:
> > Fixed to 800x600 with default Qt compression ratio. Look better and
> > similar than embedded Jpeg preview from RAW files
>
> OK, looks better. I made few test with conversions and I see major
> reason: widget used for preview doesn't use (support?) smoothing. Qt
> smoothing is really superb and almost perfectly hides artefacts
> in narrow range off zoom (80-120%, which is used for this task).
>

Done in svn. Try again...

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/kioslave

Bugzilla from mikmach@wp.pl
In reply to this post by Gilles Caulier-2
Dnia czwartek, 22 czerwca 2006 07:39, Gilles Caulier napisał:
> I have unsused smoothing for performance reason. Normally, It's a little
> bit long to render the image on the screen by this way. Let's me try
> again.

Perfect now. Yes, it is a tiny bit slower but image quality is much
better.

m.

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel