[Digikam-devel] Non-destructive image editing

Gilles Caulier caulier.gilles at gmail.com
Fri Jul 17 06:48:03 BST 2009


2009/7/17 Gilles Caulier <caulier.gilles at gmail.com>:
> Le 15 juillet 2009 13:44, Jean-Michel Pouré<jm at poure.com> a écrit :
>> Dear friends,
>>
>> At Kdenlive.org, we are still very impressed by showfo quality.
>
> Thanks.
>
>> We would
>> like a solution that would allow to use showfo in conjunction with MLT.
>>
>> We thought of a feature that may interest you:
>> non-destructive photo correction
>>
>> In video, Kdenlive works as such :
>> * The source video is left unchanged.
>> * During video editing, Kdenlive processes the video using the MLT
>> syntax. The film is previewed without modifying the source.
>> * Video is exported only during final rendering.
>>
>
> This also done like this in digiKam. Image is loaded in memory and
> each action on image is stored in queue of ONG files as cache. Until
> end, original is not touched, if you overwrite original of course.
>
> But in photo management, this is not non-destructive photo editing exactly...
>
>
>> One drawback of image manipulation programs like Gimp or Showfoto is
>> that they modify the original image.
>
Until you save image no.

There is 2 way to apply non-destructive photo editing :

1 save resulting images in a queue of tmp file (PNG is the best
format) and register this queue to database .In digiKam GUI, use can
see a preview of each version and choose the right in workflow.
Problem is space consuming, but it's fast.

2 register in database and in image metadata (XMP media management
namespace) all actions in editor (Actions List). When image is save,
only list is recorded : in this case space is preserved, but time to
restore image can be long because we need to replay all registered
actions in editor.

There is 2 bugzilla entries about these subjects :

https://bugs.kde.org/show_bug.cgi?id=142056

https://bugs.kde.org/show_bug.cgi?id=125387

>>
>> Of course, you can duplicate images but it is a loss of space.
>>
>> So the idea is to ask MLT to process photos.

We have already a dedicated framework in digiKam named DImg...

>>
>> The beauty is it would possible, in theory to store MLT processing
>> syntax in PNG tags. This would make a completely non-destructive
>> solution.

Use XMP MM namespace. No need to re-invent the wheel. PNG support
metadata. Look Exiv2 project for details...

>>
>> Only when exporting to third-party on-line solutions or DVDs the photos
>> would be processed. But the source would remain.
>>
>> MLT is very reliable and quite easy to implement. You would only need to
>> implement plugins in MLT and load your effects. Then modify showfoto to
>> use MLT. It would require layers to showfoto. But it is probably a
>> needed feature.

This require to break a lots of parts in digiKam. We will never do it
(:=)))). It's a lots of work, and regression test to do.

Best

Gilles Caulier



More information about the Digikam-devel mailing list