With this filter you can apply matrices of linear transformation with 16bit planar precision to convert color curves.

Transformation

Selects the transformation that needs to be applied; currently, only those conversions are supported:
From "Linear_BT601_NTSC" to "Linear_BT709"
From "Linear_BT601_PAL" to "Linear_BT709"
From "Linear_BT709" to "Linear_BT601_NTSC"
From "Linear_BT709" to "Linear_BT601_PAL"
From "Linear_BT709" to "BT2020_HLG"
From "Linear_BT709" to "BT2100_PQ"
From "Linear_BT709" to "DCI_XYZ"
From "Linear_BT709" to "ZLog"
From "BT2100_PQ" to "Linear_BT2020"
From "BT2100_PQ" to "Linear_BT709"
From "BT2100_PQ" to "BT2020_HLG"
From "CLog3" to "Linear_BT709"
From "CLog3" to "BT2020_HLG"
From "CLog3" to "BT2100_PQ"
From "SLog2" to "Linear_BT709"
From "SLog3" to "Linear_BT709"
From "BT2020_HLG" to "Linear_BT709"
From "BT2020_HLG" to "BT2100_PQ"
From "DCI_XYZ" to "Linear_BT709"
From "LogC" to "Linear_BT709"
From "VLog" to "Linear_BT709"



Interpolation

Selects the interpolation method that is gonna be used:
- Trilinear
- Tetrahedral

Trilinear interpolation is used by default only for historical reasons as when this was developed it only had one interpolation method, namely trilinear.
Although this was far from ideal as it can produce ripples, plenty of people used it (as they were using this function),
therefore when tetrahedral was introduced it was agreed to leave trilinear as default to allow people to still obtain the same results when upgrading.
However, in practice, tetrahedral should always be used and it's the suggested method.

Info about this filter

A Linear Transformation is essentially a matrix that maps all points of a certain space to another,
which includes of course points belonging to a certain curve to other in order to get a different curve.
Of course, a linear transformation can be used in encoding to map some values to some other values
and therefore have conversions from curves like PQ to HLG and so on.
The transformation is performed with 16bit precision, which means that if your input source is lower,
let's say, 8bit planar yv12, it will be brought to 16bit planar RGB internally,
the linear transformation will be applied with 16bit planar precision
and then the result will be brought down to 8bit planar yv12.
Planar RGB 16bit is strongly suggested as your source as it's gonna be faster,
in fact 4:2:0, 4:2:2, 4:4:4 planar up to 16bit will be converted back and forth internally.