ffmpeg Lanczos vs AI upscaling
One command, no install beyond ffmpeg, no cost:
ffmpeg -i in.mp4 -vf scale=3840:-2:flags=lanczos -c:a copy out.mp4. It will upscale
any video to 4K in about the time it takes to re-encode. For a real share of jobs that is the
correct answer and an AI upscaler is overkill. Knowing which jobs is the useful part.
What Lanczos actually does
It is a resampling filter — a windowed sinc function — that computes each new pixel from a weighted neighbourhood of the old ones. It preserves edges better than bilinear or bicubic, which is why it is the standard recommendation for enlargement. It also produces slight ringing next to hard edges, visible as a faint halo, which is the known cost of its sharpness.
What it does not do, at all, is add information. A 480p source resized to 4K contains exactly the detail of the 480p source, distributed over more pixels. It will look bigger and slightly soft. It will not look like it was shot at 4K, because nothing in the arithmetic could make that happen.
When free is the right answer
| Situation | Use | Why |
|---|---|---|
| Clean 1080p → 4K for a delivery spec | Lanczos | Nothing is damaged; you just need the pixel dimensions. |
| Matching resolutions in a timeline | Lanczos | Fast, predictable, no invented detail to mismatch. |
| Batch of 500 files, deadline tonight | Lanczos | Seconds per file against minutes per file. |
| Old 480p footage you want to actually watch | AI | Detail is missing; interpolation cannot invent it. |
| Heavily compressed download | AI | Blocking is a learnable artefact; Lanczos enlarges the blocks. |
| Noisy low-light phone video | AI | Denoise plus reconstruction; Lanczos sharpens the noise. |
The case against reaching for AI by default
An AI upscaler guesses. On degraded footage that guess is a large improvement. On clean footage it is a risk: models can smooth skin into plastic, turn fine fabric texture into a repeating pattern, and render text as confident nonsense. Lanczos has no opinions and therefore no way to be creatively wrong.
Speed is the other half. Lanczos is close to free computationally. A diffusion-based upscaler is minutes per minute of footage on a good machine. If you are resizing because a client asked for 4K deliverables and the source is already sharp, spending an hour of GPU time to arrive somewhere slightly worse is a bad trade.
What an app adds over the command
Mostly: knowing which of these to do, and not having to remember -2 means "keep the
aspect ratio and round to an even number so the encoder accepts it". Crisp picks the appropriate
path for the footage, keeps audio in sync across frame-rate oddities, and puts the whole thing
behind a timeline so you can cut first and upscale the finished sequence once.
But if the command above does what you needed, use it. It is free and it is not a compromise.
The test that settles it for your footage
Take thirty seconds of your worst clip and run it both ways, then watch them back at full screen rather than in a preview window. If the Lanczos version looks acceptable, you are done and you have spent nothing. If it looks like a bigger version of the same bad video — which is exactly what it is — then the source is genuinely degraded and reconstruction is the only thing that will help.
Zoom in on a flat area while it plays, too. Lanczos will never introduce shimmer, because it makes the same decision on every frame. An AI upscaler can, and comparing the two side by side is the fastest way to find out whether a given tool has that problem on your kind of footage.
One thing to get right either way
Do not upscale twice. Going 480p to 1080p and later 1080p to 4K compounds whatever each pass got wrong, and with an AI model it compounds the invented detail as well — the second pass treats the first pass's guesses as real source material. Decide the final resolution and get there in one operation.