Skip to content

Nnedi

Video Single output Transform

Apply neural network edge directed interpolation intra-only deinterlacer.

FFmpeg filter: nnedi — 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 Nnedi());
$result = $node->outputs()[0];

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

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

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
weightsstringnnedi3_weights.binset weights file
deintNnediDeintallall, interlacedset which frames to deinterlace
fieldNnediFieldaaf, a, t, b, tf, bfset mode of operation
planesint7015set which planes to process
nsizeNnediNsizes32x4s8x6, s16x6, s32x6, s48x6, s8x4, s16x4, s32x4set size of local neighborhood around each pixel, used by the predictor neural network
nnsNnediNnsn32n16, n32, n64, n128, n256set number of neurons in predictor neural network
qualNnediQualfastfast, slowset quality
etypeNnediEtypeabsabs, mseset which set of weights to use in the predictor
pscrnNnediPscrnnewnone, original, new, new2, new3set prescreening

Maps to FFmpeg’s nnedi 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.