]> git.sesse.net Git - mlt/blobdiff - src/modules/plus/filter_lift_gamma_gain.yml
Add lift_gamma_gain filter.
[mlt] / src / modules / plus / filter_lift_gamma_gain.yml
diff --git a/src/modules/plus/filter_lift_gamma_gain.yml b/src/modules/plus/filter_lift_gamma_gain.yml
new file mode 100644 (file)
index 0000000..a4a3be3
--- /dev/null
@@ -0,0 +1,89 @@
+schema_version: 0.1
+type: filter
+identifier: lift_gamma_gain
+title: Lift, Gamma, and Gain
+version: 1
+copyright: Brian Matherly
+creator: Brian Matherly
+license: LGPLv2.1
+language: en
+tags:
+  - Video
+description: >
+  A simple lift/gamma/gain effect, used for color grading.
+notes: >
+  Very roughly speaking, lift=shadows, gamma=midtones and gain=highlights,
+  although all parameters affect the entire curve. Mathematically speaking,
+  it is a bit unusual to look at gamma as a color, but it works pretty well
+  in practice.
+  The classic formula is: output = (gain * (x + lift * (1-x)))^(1/gamma).
+  The lift is a case where we actually would _not_ want linear light;
+  since black by definition becomes equal to the lift color, we want lift to
+  be pretty close to black, but in linear light that means lift affects the
+  rest of the curve relatively little. Thus, we actually convert to gamma 2.2
+  before lift, and then back again afterwards. (Gain and gamma are,
+  up to constants, commutative with the de-gamma operation.)
+
+parameters:
+  - identifier: lift_r
+    title: Lift Red
+    type: float
+    minimum: 0.0
+    default: 0.0
+    mutable: yes
+
+  - identifier: lift_g
+    title: Lift Green
+    type: float
+    minimum: 0.0
+    default: 0.0
+    mutable: yes
+
+  - identifier: lift_b
+    title: Lift Blue
+    type: float
+    minimum: 0.0
+    default: 0.0
+    mutable: yes
+
+  - identifier: gamma_r
+    title: Gamma Red
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes
+
+  - identifier: gamma_g
+    title: Gamma Green
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes
+
+  - identifier: gamma_b
+    title: Gamma Blue
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes
+
+  - identifier: gain_r
+    title: Gain Red
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes
+
+  - identifier: gain_g
+    title: Gain Green
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes
+
+  - identifier: gain_b
+    title: Gain Blue
+    type: float
+    minimum: 0.0
+    default: 1.0
+    mutable: yes