Skip to content

Curves

Video Single output Transform

Adjust components curves.

FFmpeg filter: curves — the official reference.

Add it to a graph. The explicit form works for every filter — bind it to its input and read the result from outputs():

$node = $video->addFilter(new Curves());
$result = $node->outputs()[0];

Shorthand. Single-output filters can skip the node — apply() returns the result stream directly:

$result = $video->apply(new Curves());

TODO — when this filter shines: what it’s the right tool for, what to reach for instead when it isn’t, and how it composes with neighbouring filters.

TODO — prose: how the filter actually works and what its key parameters mean (the explanation FFmpeg’s terse option help omits).

TODO — runnable PHP, with the equivalent ffmpeg CLI alongside.

TODO

TODO

ParameterTypeDefaultRange / valuesDescription
presetCurvesPresetNamenonenone, color_negative, cross_process, darker, increase_contrast, lighter, linear_contrast, medium_contrast, …select a color curves preset
masterstringset master points coordinates
redstringset red points coordinates
greenstringset green points coordinates
bluestringset blue points coordinates
allstringset points coordinates for all components
psfilestringset Photoshop curves file name
plotstringsave Gnuplot script of the curves in specified file
interpCurvesInterpNamenaturalnatural, pchipspecify the kind of interpolation

FFmpeg also names these options (use the parameter shown above): mmaster, rred, ggreen, bblue.


Maps to FFmpeg’s curves filter. Verified against ffmpeg n7.1.1.

An Artisan Build project.

Built on FFmpeg — an independent binding, not affiliated with or endorsed by the FFmpeg project. Support FFmpeg.