[Kdenlive-devel] Color correction tools: How and where to implement them?

Dan Dennedy dan at dennedy.org
Sun Jul 11 11:54:20 UTC 2010


On Fri, Jul 9, 2010 at 12:29 PM, Simon A. Eugster <simon.eu at gmail.com> wrote:
> Hi Hugh,
>
>> In fact Kdenlive already has :
>> * levels (interface isn't great, but it does the job allright)
>> * Curves (with a new curve widget from Krita if I'm not mistaken)
>> * 3-way color correction (actually never used it seriously, not sure how
>> usefull it is)
>
> I didn't see levels and 3-way CC (installed frei0r the wrong way, so the
> plugins were not sorted).
>
> What still needs to be improved:
> * Curves is not really useful at the moment because of the
>   chosen interpolation method. For example, this curve is
>   impossible for now:
>   http://granjow.net/uploads/kdenlive/gimp-curves.png
>   Also it is limited to only 3 points, which is not enough
>   for earnest color correction.

More than likely it was useful to the person who wrote it.

> * 3-Way color correction works basically quite well,
>   but the usability is terrible.
>   If you want to change the blacks, you have to rise the black
>   value to see colors in the color picker, and at the end make
>   it nearly black again. Would be much better to just chose a
>   color and not having to worry about black.
>   Also is it not very convenient not to have a live preview.

All Kdenlive effects have live preview. So, a simple enhancement to
toggle that would help.

> * White balance: You cannot click into a monitor to pick a
>   neutral color from there.

Yeah, why is that? Is that due to the Qt dialog mode? It would be nice
to have the "eye dropper" directly in the effects panel instead of
having to open the dialog.

>   You should also be able to change the color temperature
>   as this also belongs to white balance.

Internally, the color selection sets the temperature, and I feel most
people should use it by interactively selecting the color to be
neutral. I can expose temperature as a parameter, but then I  need a
way to pass invalid color and temperature values to prevent one
parameter from clobbering the other. Otherwise, I will need to add
another parameter to let one choose the defining parameter.

>> The way Curves was implemented (by using a frei0r plugin and adding a
>> widget from Krita) seems to me like being the easiest and most efficient
>> way...
>
> But not for the color displays?
> I would want to have separate widgets for each color display, for being
> able to look at multiple color displays at the same time. Also, using
> frei0r there would make the displays depend on the video size.

What do you feel prevents you from working on that? please understand
that we do not go directly from nothing to DaVinci Resolve. We iterate
and increment.

> Simon
>
>>
>> Please correct me if I'm wrong.
>>
>> Cheers,
>> Hugh
>>
>>
>> 2010/7/7 Simon Eugster <simon.eu <http://simon.eu>@gmail.com
>> <http://gmail.com>>
>>
>>     Hi lists, hi Dan,
>>
>>     As kdenlive lacks basic color information and correction tools like:
>>     Information:
>>     * Levels
>>     * RGB parade etc
>>     * Vectorscope/Waveform

parade and vectorscope are available in frei0r, but they do not make
sense as general video effects. They require special integration into
Kdenlive monitor, but it is not implemented yet.

>>     Correction:
>>     * Curves
>>     * Values
>>     * Others known from GIMP
>>     * 3-way color correction (blacks, mids, whites)
>>     I wanted to ask two things.
>>
>>
>>     First thing is: We have been discussing about using Gimp, GEGL, and
>>     ShowFoto.
>>     http://sourceforge.net/mailarchive/forum.php?thread_name=200907081050.55569.kamikazow%40web.de&forum_name=kdenlive-devel
>>     <http://sourceforge.net/mailarchive/forum.php?thread_name=200907081050.55569.kamikazow%40web.de&forum_name=kdenlive-devel>
>>     http://www.kdenlive.org/forum/call-integrate-gegl-library-mlt-plugin
>>     http://www.kdenlive.org/forum/studying-digikam-color-and-light-tools
>>     What is the current status?

I do not believe digikam/showfoto's image processing or widget code
exists as a library to facilitate reuse. No one has contributed gegl
integration into MLT, and I have been working on higher priority
tasks. Meanwhile, frei0r integration has already addressed many of
these needs. There is no simple and clean integration that exposes all
of the capabilities of one these other tools. You can, however, export
a series of stills (Kdenlive could make this easier) and process them
with the Gimp Animation Plugin or blender and then load the result of
that as a clip.

>>     It is not long ago yet and we have all been busy, so maybe nothing has
>>     changed since.
>>     And about speed of GEGL etc.: My opinion: Better slow color correction
>>     than no color correction at all.
>>
>>
>>     Second thing: The color information tools. As far as I know most of
>>     them would have to be programmed first. But how? I'm currently trying
>>     to figure out how to calculate a vectorscope display (it seems that
>>     everyone in the web knows how to do it, because there are plugins for
>>     every possible tool, but they are always in binary form, and I have
>>     been searching for hours for a formula and haven't found anything).
>>     Now I could just make it a frei0r effect. But as a) frei0r seems to be
>>     dead and b) a vectorscope is not used as effect that should be visible
>>     in the rendered video, I want to ask you how this would best be
>>     implemented. Ideally such that it is reusable by other programs.
>>
>>     The point is also, I would like to do it interactively. Means, if I
>>     e.g. have a levels display[1] I would like to be able to select the
>>     lower 25 % of the curve (all dark pixels) and have them highlighted in
>>     the kdenlive project monitor. So I guess neither frei0r nor MLT would
>>     be suitable for that at the moment? (I don't know MLT yet, and frei0r
>>     only partially) Could MLT probably be extended this way, or is this
>>     not intended?

The frei0r filters that apply need to be enhanced to support that, or
the way frei0r is integrated into MLT could be enhanced to support
that for all filters (currently, the MLT frei0r module acts as a
simple bridge between MLT and frei0r). At that point you have only
addressed the image processing pipeline and not any UI. Any UI change
would need to be done in Kdenlive as that does not exist in MLT or
frei0r.

>>
>>     Simon
>>
>>     [1] http://docs.gimp.org/en/gimp-tool-levels.html

-- 
+-DRD-+




More information about the Kdenlive mailing list