AMD Video Super Resolution
AMD's answer to RTX Video Super Resolution — no Nvidia card required
- images
- upscaled_images
If you've seen the RTX Video Super Resolution nodes from Comfy-Org, you know the appeal: near-real-time hardware upscaling that adds pixels without inventing detail, all inside a ComfyUI graph. This node is AMD's side of that story. It's the main node in the AMD Video Upscaler pack (Yasei-no-otoko/ComfyUI-AMD-Video-Upscaler), and it exists so Radeon owners get the same drop-in workflow Nvidia users have - without the RTX.
The interface is deliberately a clone of the Nvidia node's: images in, resize_type to choose how you scale, a quality drop-down, and one upscaled_images output. Swap one node for the other in an existing workflow and nothing else moves. The author did that on purpose.
What it's actually doing under the hood
The name "AMD Video Super Resolution" is real, but not in the way the marketing suggests. This does not call Radeon Software's private "Video Upscaling" playback toggle - AMD exposes that only as an Adrenalin UI feature, not an SDK. What this node uses is the programmable backend behind it: AMD AMF, through FFmpeg's sr_amf filter.
Mechanically it's a subprocess, not a model. The node takes your RGB image tensor, pushes it through ffmpeg as 8-bit rawvideo, converts to an NV12 AMF surface, runs the sr_amf hardware filter, downloads the result, and hands you back an RGB tensor. That puts it firmly in the "more pixels, not more detail" camp from the upscaling taxonomy: it's an interpolator, closer to Lanczos than to a diffusion upscaler, and it will not add pores, lashes, or fabric weave. On an already-clean source that's an advantage - it can't hallucinate a face.
The quality setting maps directly onto FFmpeg AMF algorithms:
- LOW → bilinear
- MEDIUM → bicubic
- HIGH → Video SR 1.0 (
sr1-0) - ULTRA → Video SR 1.1 (
sr1-1), the default
resize_type is a dynamic combo: pick "scale by multiplier" and you get a scale float (1–4x, default 2x); pick "target dimensions" and you get width/height ints. Output is rounded to a multiple of 8 to match the Nvidia node's behavior, which keeps AMF surfaces and downstream video nodes happy.
The one trap
This compatible node has no ffmpeg_path input. Look at the source and you'll see ffmpeg_path="ffmpeg" hardcoded - it needs an AMF-capable ffmpeg.exe on your PATH, period. If it isn't, this node just errors. The advanced sibling node and the diagnostics node both let you pass an explicit path, so use them when ffmpeg isn't on PATH.
Install
Install via ComfyUI Manager (search "AMD Video Upscaler") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Yasei-no-otoko/ComfyUI-AMD-Video-Upscaler.git
Restart ComfyUI, then search for AMD Video or AMD AMF in the node menu. There are no Python dependencies (dependencies = [] in the pyproject), but you do need Windows 10/11, an AMD Radeon driver with AMF runtime, and an FFmpeg build compiled with --enable-amf - the author tests against the gyan.dev 8.1.1-full_build. Verify yours:
ffmpeg -hide_banner -filters | Select-String -Pattern 'sr_amf|vpp_amf'
ffmpeg -hide_banner -hwaccels | Select-String -Pattern '^amf$'
No sr_amf in the filter list, no upscaling - that's a build problem, not a node problem.
Gotchas worth knowing
- ULTRA means sr1-1, and not every GPU or driver supports Video SR 1.1. If you get AMF errors on the default setting, drop to HIGH (sr1-0) - the README's own advice.
sr1-1also takes an RGBA AMF path because AMD doesn't support NV12/P010 for it. - No alpha, no HDR. It's an 8-bit RGB pipeline, built for practical frame upscaling.
- Input must be ≥32×32 and
sr_amfonly upscales - it will refuse to shrink. - For video, wire the whole loop the same way as the Nvidia node:
Load Video → Get Video Components → this node → Create Video → Save Video, passingaudioandfpsstraight through. A ready-to-load workflow ships inexample_workflows/.
The AMD path is newer and less battle-tested than Nvidia's, so expectations should be modest - but on a Radeon this is the cheapest way to get hardware-speed upscaling into a ComfyUI graph today. Start with HIGH and 2x, see if it survives your driver, then push.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| resize_type | COMBO | Choose to scale by a multiplier or to exact target dimensions. | |
| quality | COMBO | ULTRA | 4 options: LOW, MEDIUM, HIGH, ULTRA |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscaled_images | IMAGE | — |