Codecs for upscaled video
A great upscale can be ruined in the final encode. Here’s how to choose a codec, quality level and bit depth that keep the detail you just created.
| Codec | Use it for | Notes |
|---|---|---|
| H.264 (libx264) | Maximum compatibility | Plays everywhere; files are larger at high resolutions; use yuv420p |
| HEVC / H.265 (libx265) | 4K and 8K delivery, 10-bit | Smaller than H.264 at similar quality; add -tag:v hvc1 for Apple players |
| AV1 (SVT-AV1) | Efficient delivery, web | Royalty-free and efficient; slower to encode; check playback support |
| ProRes 422 HQ / DNxHR HQ | Editing masters | Large files, easy to edit, survive re-encoding |
8-bit vs 10-bit
8-bit video has 256 levels per channel, and smooth skies and gradients can show steps (banding). 10-bit has 1024. Even from an 8-bit source, encoding an upscale in 10-bit hides banding introduced by processing. Use -pix_fmt yuv420p10le with HEVC or AV1. Keep H.264 at 8-bit yuv420p for compatibility.
Quality: CRF vs bitrate
CRF (constant rate factor) targets constant quality and lets the file size vary, which is best for masters and archives. Target bitrate fixes the size, which suits upload limits and platforms with recommended rates. Plan either one with the bitrate calculator.
Containers and audio
- MP4 for H.264/HEVC/AV1 delivery; add
-movflags +faststartfor web playback. - MOV for ProRes.
- Copy the audio (
-c:a copy) unless the codec or container needs a change.
The FFmpeg generator writes these settings for you.
FAQ
What CRF should I use?
For libx264, 18 is commonly treated as visually near-lossless and 23 is the default. For libx265 the default is 28, and around 20–22 is a good high-quality setting. For SVT-AV1 the scale runs 0–63, and values around 25–35 are typical for high quality. Always check a sample.
Why does my upscaled video have banding in the sky?
Smooth gradients plus 8-bit encoding and a modest bitrate cause banding. Encode in 10-bit (HEVC or AV1 with yuv420p10le) and raise the quality.
Should I keep the upscale as ProRes?
For editing, yes. Intermediate codecs (ProRes 422 HQ, DNxHR HQ) decode easily and survive re-encoding. Make the small delivery MP4 at the very end.