SOP/Sat

kdenlive2304_effects-sop_sat

Description

This effect/filter changes Slope, Offset, and Power of the color components, and the overall Saturation, according to the ASC CDL (Color Decision List)[1]

Changing the slope means multiplying the pixel value with a constant value. Black pixels will remain black, while brighter ones will be changed. All effects can be observed well when applied on a greyscale gradient and looking at the RGB Parade.

You can use this effect to achieve proper white balance.

Parameters

Parameter

Value

Description

Slope R / G / B / @

Integer

Slope is the multiplier to the incoming data in the respective color channels. Allowed values are from 0 to 1000, default is 50

Offset R / G / B / @

Integer

Offset is a summation to the incoming data in the respective color channels. Allowed values are from 0 to 2048, default is 1024.

Power R / G / B / @

Integer

Power is a power function (i.e. 22) to the incoming data in the respective color channels. Allowed values are from 0 to 1000, default is 50.

Overall Saturation

Integer

Changes the overall saturation. Allowed values are from 0 to 1000, default is 100.

See also

Tips & Tricks chapter Waveform and RGB Parade where this effect is used to adjust the white balance of a clip.

Notes

This filter implements a standard way of color correction proposed by the American Society of Cinematographers: The Color Decision List, also known as the ASC CDL[1] with the goal to exchange rudimentary color correction information between post-production tools.

The ASC CDL is a standard format for basic primary color correction (primary meaning affecting the whole image and not only selected parts).

Basically there are two stages in the correction:

  1. SOP correction for each channel separately

  2. Overall saturation correction

All corrections work on [0,1], so the RGB(A) values need to be transposed from [0,…,255] to [0,1].

  1. SOP correction

    • Slope: out = in * slope;   0 <= slope <

    • Offset: out = in + offset;  -∞ < offset <

    • Power: out = in^power;     0 < power <

  2. Saturation

    • Luma: Y = 0.2126 R + 0.7152 G + 0.0722 B (according to Rec. 709)

    • For all channels: out = luma + sat * (in-luma)

As the values may exceed 1 (or 0), they need to be clipped where necessary.