Bug 138923 - Krita doesn't support IPTC/XMP/Exif
Summary: Krita doesn't support IPTC/XMP/Exif
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: File formats (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-17 20:14 UTC by Henrique Vicente de Oliveira Pinto
Modified: 2010-07-14 09:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Henrique Vicente de Oliveira Pinto 2006-12-17 20:14:31 UTC
Version:           =>1.6.0 (using KDE KDE 3.5.5)
Installed from:    SuSE RPMs

So I was talking about creating a script with a friend and we have find out that the support Krita has of EXIF is not good.

It loses some important information. After searching I've seen that it appears that one of the information lost problem is already solved:  http://www.flickr.com/photo_exif.gne?id=325090246

But there are other kinds of EXIF data that is lost.

Just a comparation...

http://www.flickr.com/photo_exif.gne?id=323387384 is a non edited picture full of EXIF data
http://www.flickr.com/photo_exif.gne?id=296290057 is a one edited with Digikam, all the data is preserved
http://www.flickr.com/photo_exif.gne?id=318555478 is one edited with Krita, lots of data are lost after saving it

PS: my pictures I show above doesn't have EXIF data on it, but on this page there is. If you want to check try with your own photos or look for a original photo with data on Flickr. The ones that aren't original (in my account originals doesn't show up because my account is - yet - free) doesn't have EXIF.

At IRC ThomasZ told me that "the code [koffice/filters/krita/jpeg/kis_jpeg_converter.cc] for importing uses libjpeg and libexif (IIRC) I'm it looks like it does not just 'take everything'"

Also, I've left a private message to CyrilleB about the bug as by the time I was talking about it he was almost 2 days idle.

Also BCoppens helped me to identify and confirm the bug and he should confirm it after I submit :)
Comment 1 Henrique Vicente de Oliveira Pinto 2006-12-17 20:15:25 UTC
OOps, http://bugs.kde.org/show_bug.cgi?id=112723 is the first link.
Comment 2 Cyrille Berger 2006-12-18 01:14:31 UTC
First comments:
- 112733 is unrelated
- neither 'exif' (command line utilities from libexif) neither konqueror are able to retrieve information from those image. From what I have seen from the output of krita, we never call any libexif function before, it looks like krita doesn't recognize the data as exif data.
- no exif data is read from those image

Do you know what version of the exif specification are used for this image ?
Comment 3 Henrique Vicente de Oliveira Pinto 2006-12-18 03:03:11 UTC
News...

I noticed now that indeed digiKam doesn't show up all the EXIF data on the properties, but still it seems to save all of them after any edit (I didn't confirmed, but suppose because of the ammount of data).

The version used is 2.2. Yes, as I told, the photos I showed aren't with the EXIF data, but the image properties does have it there.

So, if you are going to have a try on it you can use the following sample images:
http://www.usa.canon.com/consumer/controller?act=SampleImagesAct&fcategoryid=144&modelid=11368
Comment 4 Cyrille Berger 2006-12-18 09:27:55 UTC
I tried to load the images from the link in krita and save them back and the exif tags were keeped. A similar problem was reported a few months ago : http://bugs.kde.org/show_bug.cgi?id=124801. Can you tell me what's your version of libjpeg and of libexif ? I have 6b-13 for libjpeg and 0.6.13 for libexif.
Comment 5 Thomas Zander 2006-12-18 09:49:39 UTC
> I tried to load the images from the link in krita and 
> save them back and the exif tags were keeped.

I specifically saw that the comment was lost.

Looking at the link provided in the original report the image has some 30 tags. I have not been able to recover those after loading/saving.
Comment 6 Thomas Zander 2006-12-18 10:02:17 UTC
> Looking at the link provided in the original report the image has some 30 
> tags. I have not been able to recover those after loading/saving. 

After a short talk on IRC;
exif testexif.jpg | wc
     41     135    3253
exif 325090246_ab69f10186_o.jpg|wc
     41     135    3264

Which shows that there is no loss in at least 1.6.1 using libexif 0.6.13
I suggest you close the bug as 'worksforme'
Comment 7 Henrique Vicente de Oliveira Pinto 2006-12-18 17:09:16 UTC
Interesting thing. It appears that plus EXIF 2.2 anything else is also used by those cameras to store metadata information...

I've downloaded the exif CLI program and I don't see some details that Flickr shows on there [and that should be there, like the owner name of the camera, which I can see that is still there if I read the file using nano, for example, or put on a service like Flickr]... Digikam doesn't show it, but after saving it is not lost... So I'm not sure this is EXIF and I suppose it is not, let me have a day to find out if it is EXIF or something else. If it is something else (probably) we should close it and open a feature request...

PS: I've just looked at Wikipedia and I've find out that maybe them are using also this: http://en.wikipedia.org/wiki/Extensible_Metadata_Platform . Now I've to go to school, after I'm back I'll take a look and I hope to find out the "problem".
Comment 8 Cyrille Berger 2006-12-19 11:55:39 UTC
I change the title of the bug and its status. As krita doesn't support IPTC nor XMP. It's allready on my todo, digikam support them through exiv2, I think the best course of action might be to follow their lead, but I don't want to hurry, and as it probably require a small amount of work, I much prefer to delay the decision to a data closer to the release of krita2.
Comment 9 Henrique Vicente de Oliveira Pinto 2006-12-19 20:26:06 UTC
oh, great :)

First sorry for blaming Krita for possible not having a decent EXIF support and for my delay in checking the things...

All right then. Thank you very much and happy new year!

PS: just an idea I'll better report later: have you ever thought about a way to send a picture from digikam to krita 'on live'? I mean, to use the other's features, but without having to save and edit possibly 'multiple times'. Cut/Paste would be enough, but what I think is that maybe there could be another improved way to avoid losing the metadata.
Comment 10 Cyrille Berger 2007-07-08 19:43:56 UTC
reassinging this to whoever wants to do it. I grew tired of it.
Comment 11 Cyrille Berger 2007-07-15 22:31:59 UTC
SVN commit 688358 by berger:

restore metadata framework (under the strict condition stated on krita's mailing list)

meaning krita can again load exif and iptc tags

BUG: 112727
CCBUG: 138923


 M  +8 -4      filters/krita/CMakeLists.txt  
 M  +4 -2      filters/krita/jpeg/CMakeLists.txt  
 M  +176 -1    filters/krita/jpeg/kis_jpeg_converter.cc  
 M  +1 -1      filters/krita/jpeg/kis_jpeg_converter.h  
 M  +49 -1     filters/krita/jpeg/kis_jpeg_export.cc  
 A             filters/krita/libkisexiv2 (directory)   filters/krita/libkisexiv2#685376
 A             filters/krita/libkisexiv2/CMakeLists.txt   filters/krita/libkisexiv2/CMakeLists.txt#685376
 A             filters/krita/libkisexiv2/kis_exif_io.cpp   filters/krita/libkisexiv2/kis_exif_io.cpp#685376 [License: LGPL (v2+)]
 A             filters/krita/libkisexiv2/kis_exif_io.h   filters/krita/libkisexiv2/kis_exif_io.h#685376 [License: LGPL (v2+)]
 A             filters/krita/libkisexiv2/kis_exiv2.cpp   filters/krita/libkisexiv2/kis_exiv2.cpp#685376 [License: LGPL (v2+)]
 A             filters/krita/libkisexiv2/kis_exiv2.h   filters/krita/libkisexiv2/kis_exiv2.h#685376 [License: LGPL (v2+)]
 A             filters/krita/libkisexiv2/kis_iptc_io.cpp   filters/krita/libkisexiv2/kis_iptc_io.cpp#685376 [License: LGPL (v2+)]
 A             filters/krita/libkisexiv2/kis_iptc_io.h   filters/krita/libkisexiv2/kis_iptc_io.h#685376 [License: LGPL (v2+)]
 M  +5 -1      krita/image/CMakeLists.txt  
 M  +12 -0     krita/image/kis_layer.cc  
 M  +8 -0      krita/image/kis_layer.h  
 A             krita/image/metadata (directory)   krita/image/metadata#685376
 A             krita/image/metadata/kis_legacy_importer.cc   krita/image/metadata/kis_legacy_importer.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_legacy_importer.h   krita/image/metadata/kis_legacy_importer.h#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_entry.cc   krita/image/metadata/kis_meta_data_entry.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_entry.h   krita/image/metadata/kis_meta_data_entry.h#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_io_backend.cc   krita/image/metadata/kis_meta_data_io_backend.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_io_backend.h   krita/image/metadata/kis_meta_data_io_backend.h#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_schema.cc   krita/image/metadata/kis_meta_data_schema.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_schema.h   krita/image/metadata/kis_meta_data_schema.h#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_store.cc   krita/image/metadata/kis_meta_data_store.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_store.h   krita/image/metadata/kis_meta_data_store.h#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_value.cc   krita/image/metadata/kis_meta_data_value.cc#685376 [License: LGPL (v2+)]
 A             krita/image/metadata/kis_meta_data_value.h   krita/image/metadata/kis_meta_data_value.h#685376 [License: LGPL (v2+)]
 M  +0 -1      krita/plugins/paintops/CMakeLists.txt  
 M  +1 -1      krita/plugins/paintops/dynamicbrush/lib/sensors/kis_dynamic_sensor_time.cc  
 M  +2 -1      krita/plugins/viewplugins/CMakeLists.txt  
 M  +0 -4      krita/plugins/viewplugins/bracketing2hdr/bracketing2hdr.cc  
 A             krita/plugins/viewplugins/metadataeditor (directory)   krita/plugins/viewplugins/metadataeditor#685376
 A             krita/plugins/viewplugins/metadataeditor/CMakeLists.txt   krita/plugins/viewplugins/metadataeditor/CMakeLists.txt#685376
 A             krita/plugins/viewplugins/metadataeditor/editors (directory)   krita/plugins/viewplugins/metadataeditor/editors#685376
 A             krita/plugins/viewplugins/metadataeditor/editors/dublincore.rc   krita/plugins/viewplugins/metadataeditor/editors/dublincore.rc#685376
 A             krita/plugins/viewplugins/metadataeditor/editors/dublincore.ui   krita/plugins/viewplugins/metadataeditor/editors/dublincore.ui#685376
 A             krita/plugins/viewplugins/metadataeditor/editors/exif.rc   krita/plugins/viewplugins/metadataeditor/editors/exif.rc#685376
 A             krita/plugins/viewplugins/metadataeditor/editors/exif.ui   krita/plugins/viewplugins/metadataeditor/editors/exif.ui#685376
 A             krita/plugins/viewplugins/metadataeditor/kis_entry_editor.cc   krita/plugins/viewplugins/metadataeditor/kis_entry_editor.cc#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/kis_entry_editor.h   krita/plugins/viewplugins/metadataeditor/kis_entry_editor.h#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/kis_meta_data_editor.cc   krita/plugins/viewplugins/metadataeditor/kis_meta_data_editor.cc#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/kis_meta_data_editor.h   krita/plugins/viewplugins/metadataeditor/kis_meta_data_editor.h#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/kritametadataeditor.desktop   krita/plugins/viewplugins/metadataeditor/kritametadataeditor.desktop#685376
 A             krita/plugins/viewplugins/metadataeditor/metadataeditor.cc   krita/plugins/viewplugins/metadataeditor/metadataeditor.cc#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/metadataeditor.h   krita/plugins/viewplugins/metadataeditor/metadataeditor.h#685376 [License: LGPL (v2+)]
 A             krita/plugins/viewplugins/metadataeditor/metadataeditor.rc   krita/plugins/viewplugins/metadataeditor/metadataeditor.rc#685376
Comment 12 Halla Rempt 2010-07-14 09:50:30 UTC
I think our metadata framework is pretty good now.