Topaz Deinterlace
Topaz Deinterlace, and the field-order setting that was quietly deleted
- images
- params
- engine
- images
Old DVD rips, TV captures, miniDV transfers, any footage recorded on interlaced video where every other horizontal line belongs to a different moment in time. Topaz Deinterlace runs Topaz's Dione models on that material and unscrews the combing - and it can upscale in the same pass, since interlaced sources are usually SD and you want them bigger anyway. If you've got a box of archive footage, this node plus the rest of the restore chain is the closest thing to a one-stop deinterlace-and-enhance pipeline you'll find in ComfyUI.
What it actually does
The node is a thin, constrained wrapper over the same tvai_up filter the big Upscale node uses - but as a dedicated node the purpose is visible and the constraints are enforced rather than discovered through a failed render. Two things are enforced here:
- The model list is filtered to Dione only (
ddv/dtv/dtdfamilies), so you can't accidentally pick a generic upscaler and wonder why the combing survived. The tooltip onmodeltells you which Dione variants want what: Dione DV/TV/Dehalo expect genuinely interlaced input, while the Dione Robust variants take progressive input (their job is sharpening already-deinterlaced or progressive footage). scale_factoris 1, 2 or 4. 1 is deinterlacing alone; higher values deinterlace and upscale in one pass, which is both faster and usually the right call for SD sources.fpsdefaults to 25 because interlaced material is usually 25 or 29.97 - set it to match your source.
Output is a single images IMAGE batch, resolution scaled by your factor.
Why there's no field-order control
Look closely and you'll notice there's no top-field-first / bottom-field-first dropdown. That's deliberate, and the story is worth knowing because it's the difference between a pack that's honest and one that ships dead weight. It used to have that control, sending a model parameter called interlacing - which did nothing. Topaz's own filter documentation lists only three parameter groups (Hyperion, SAM2 and Grain), no interlacing, and Dione models take no parameters at all. Because parameters is a dictionary option, ffmpeg accepts any key you throw at it and silently drops the ones it doesn't recognise. On genuinely interlaced test footage both field-order settings produced identical output.
So the author measured it, found the control was theatre, and removed it rather than leave a knob that does nothing - on the reasoning that a control which silently has no effect is worse than none. The Dione models figure out field order themselves, and on material combed 210x above the progressive floor, ddv-3 removed 72% of the combing while motion stayed at the right speed.
Install
It ships with the whole pack - from ComfyUI's custom_nodes folder:
git clone https://github.com/donangel85/ComfyUI-TopazVideoLocal.git
Restart ComfyUI; nothing to pip install (numpy is already present). ComfyUI Manager finds it by searching "TopazVideoLocal". Underneath: Windows and a licensed, signed-in Topaz Video installation with the Dione weights on disk.
Common issues
Run the pack's Topaz Diagnostics node before anything else - it tells you whether the install, models or licence is the blocker. If your source is progressive and you run a Dione variant that expects interlaced input, you'll get a weird result; that's what the Dione Robust models are for. And the honest advice from the pack's own testing: deinterlacing progressive footage doesn't help it, it just costs render time - this is a repair node for footage that actually has combing.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| model | COMBO | <no matching model found> | Dione DV/TV/Dehalo expect interlaced input; Dione Robust variants take progressive input. |
| scale_factor | COMBO | 1 | Deinterlacing alone is scale 1. Higher values deinterlace and upscale in the same pass. |
| fps | FLOAT | 25.0001–480 | Interlaced material is usually 25 or 29.97. |
| paramsopt | TOPAZ_UPSCALE_PARAMS | — | |
| engineopt | TOPAZ_ENGINE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |