Bug 149875

Summary: support interlaced PNG images
Product: [Applications] digikam Reporter: Michał Kosmulski <michal>
Component: Plugin-DImg-PNGAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: marcel.wiesweg, rapsys
Priority: NOR    
Version: 0.9.2   
Target Milestone: ---   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In: 0.10.0
Sentry Crash Report:
Attachments: Sample image - noninterlaced PNG
Sample image - interlaced PNG

Description Michał Kosmulski 2007-09-14 23:54:41 UTC
Version:           0.9.2 (using KDE KDE 3.5.7)
Installed from:    Slackware Packages
OS:                Linux

As of 0.9.2, Digikam doesn't support interlaced PNG images (it doesn't show thumbnails for them in the album view nor can it display them in the image editor). I created some PNG images using the GIMP. If they are saved as uninterlaced PNGs, both the thumbnails and the image editor work as expected. If I generate them in the interlaced PNG format, no thumbnails are shown and the image viewer/editor can't display them.
Comment 1 Marcel Wiesweg 2007-10-02 19:26:29 UTC
Can you give me a sample image? Same image, one version with, the other without interlacing. Attach it if it is a small one, or you can send it to my mail address, file size is then no problem.
Comment 2 Michał Kosmulski 2007-10-02 22:45:33 UTC
Created attachment 21741 [details]
Sample image - noninterlaced PNG

This is a non-interlaced PNG file, displayed correctly by the image editor
Comment 3 Michał Kosmulski 2007-10-02 22:47:39 UTC
Created attachment 21742 [details]
Sample image - interlaced PNG

This is the same image as attachment 21741 [details], but saved as an interlaced PNG
file. Both were created using the GIMP by taking a screenshot of the KDE bug
tracking system's homepage and saving as PNG with interlacing turned either on
or off. Note, that for both images, the thumbnail in the main digikam window is
displayed correctly, only the image editor has problems with interlaced PNGs.
Comment 4 Mikolaj Machowski 2007-10-03 00:53:08 UTC
Confirming problem for Showfoto 0.7svn

I see thumbnail in thumbbar but get message "Cannot load file int.png"

This is console output:

Found dcraw version: 8.77
QMultiInputContext::changeInputMethod(): index=0, slave=xim
QMultiInputContext::changeInputMethod(): index=0, slave=xim
QFile::open: No file name specified
QFile::open: No file name specified
libpng warning: Ignoring bad adaptive filter type
libpng warning: Extra compressed data.
libpng warning: Extra compression data
libpng error: incorrect header check
showfoto: WARNING: Failed to load image int.png
showfoto: WARNING: [Digikam::DImg* Digikam::DImgInterface::getImg()] 
d->image is NULL
Comment 5 Marcel Wiesweg 2007-10-16 18:03:13 UTC
Debugging another problem I noted a problem in the PNG loader that may be causing this (doc says that png_set_interlace_handling shall be called before png_read_update_info). I will look into that later.
Comment 6 caulier.gilles 2008-12-05 20:31:01 UTC
Mik,

What's news about this file ? It still valid using digiKam 0.9.5 or 0.10.0 ?

Gilles Caulier
Comment 7 Mikolaj Machowski 2008-12-05 22:51:34 UTC
Confirming for latest showfoto from svn (3.5 branch)

mikolaj@localhost ~ $ showfoto inter.png
QFile::open: No file name specified
QFile::open: No file name specified
libpng error: incorrect header check
showfoto: WARNING: Failed to load image inter.png
showfoto: WARNING: [Digikam::DImg* Digikam::DImgInterface::getImg()] d->image is NULL
mikolaj@localhost ~ $ showfoto --version
Qt: 3.3.8b
KDE: 3.5.10
showFoto: 0.9.0-beta2
Comment 8 Marcel Wiesweg 2008-12-11 19:18:48 UTC
*** Bug 144268 has been marked as a duplicate of this bug. ***
Comment 9 Marcel Wiesweg 2008-12-14 19:26:23 UTC
SVN commit 896911 by mwiesweg:

png_set_interlace_handling need to be called before calling png_start_read_image() or png_read_update_info()

CCBUG: 149875

 M  +2 -1      NEWS  
 M  +4 -2      libs/dimg/loaders/pngloader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=896911
Comment 10 Marcel Wiesweg 2008-12-14 19:30:07 UTC
SVN commit 896915 by mwiesweg:

Backport commit 896911 to KDE3.
png_set_interlace_handling need to be called before calling
png_start_read_image() or png_read_update_info()

CCBUG: 149875


 M  +4 -2      pngloader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=896915