Effects » User » Broadcast » Two-axis vector balance

Two-axis vector balance
Release date: Sept. 26, 2018
Creation date: June 5, 2016
License: unknown

Lightworks user effect TwoAxisVector.fx

Written at the request of David Rasberry. There are tools supplied with Lightworks
which give more precise colour correction. This is designed for fast efficient
two-axis colour cast removal where such precision may be overkill.

Modified 16 June 2016 by jwrl.
Reinstated hue adjustment. Taken out of the original effect because of code "bloat",
a side effect of the other changes here was that the code became more compact and
efficient allowing its return, still with a total overall size reduction.

Added U/V gain to the existing U/V offset functions and changed the algorithm used to
implement the offset.

Signal clipping that could distort colour levels in whites and blacks under adverse
conditions has been addressed as far as is currently possible. By its very nature
there will always be the potential to clip individual RGB levels.

Execution order is now changed. Gain and pedestal happen prior to anything else.
Then comes U/V gain and offset, master saturation, white and black desaturation,
then finally hue.

Since the range of gain adjustment available more than compensates for it, automatic
luminance tracking has been removed. It wasn't doing what it was designed to do very
well and had the potential to add significant distortion.

Cross platform compatibility check 29 July 2017 jwrl.
Explicitly defined samplers to compensate for cross platform default sampler state
differences. Some extra code cleanup to improve efficiency has also been done.

Modified 6 April 2018 jwrl.
Added authorship and description information for GitHub, and reformatted the original
code to be consistent with other Lightworks user effects.

Modified 21 May 2018 jwrl.
Corrected spurious display of _Crgb and _C_uv arrays as user parameters.

Modified by LW user jwrl 26 September 2018.
Added notes to header.
Definitions and declarations