The editorial frames the Vulkan H.264/H.265 encoders as the headline story, arguing they solve a decade-old Linux problem where hardware encoding meant picking between NVENC, VAAPI, or vendor-specific APIs. With decode, filter, and encode now all available via Vulkan, developers can finally build end-to-end pipelines that work across mixed GPU fleets without vendor-specific fallbacks.
The editorial highlights that VVC (H.266) support has been in-tree since 7.1 but required `-strict experimental`, forcing builds to shell out to libvvdec/libvvenc wrappers. Flipping it on by default in 9.0 eliminates an external dependency for anyone already working with H.266 content, simplifying build configurations.
By submitting the release notes to HN where it hit 289 points, the submitter surfaces 9.0 as a notable milestone worth community attention. The release combines Vulkan encoders, native VVC, APV codec day-one support, IAMF muxing, and CLI modernization (deprecating -vf/-af for -filter) — a breadth that signals FFmpeg is repositioning around modern codec standards and cross-vendor GPU compute.
FFmpeg 9.0 (codename "Lasseter") shipped this week, and the release notes read less like a point release and more like a statement about where the project is going. The headline items: hardware-accelerated Vulkan encoders for H.264 and H.265, a native VVC (H.266) decoder enabled by default, and day-one support for APV — the new SMPTE-registered Advanced Professional Video codec.
On the encoder side, the new `h264_vulkan` and `hevc_vulkan` targets join the existing `av1_vulkan` decoder work from the 7.x line. That means you can now do an end-to-end Vulkan pipeline — decode, filter, encode — without ever falling back to a vendor-specific API. The native VVC decoder (`vvc`) has been in-tree since 7.1 as experimental; 9.0 flips it on by default and drops the `-strict experimental` requirement. For anyone who's been shelling out to `libvvdec` or `libvvenc` wrappers, that's one fewer external dependency in your build.
There's also a long tail of smaller changes worth flagging. The FFV1 encoder gained bitrate targeting. IAMF (Immersive Audio Model and Formats) muxing and demuxing landed. A new `qsv` scaler joined the existing Intel Quick Sync path. And the CLI itself is starting to modernize — the `-vf` and `-af` shortcuts are officially deprecated in favor of a single `-filter` flag that infers stream type from context.
The Vulkan encoders are the story here, and they're a bigger deal than the release notes let on. For a decade, hardware video encoding on Linux has meant picking your poison: NVENC if you had NVIDIA, VAAPI if you had Intel or AMD, and prayer if you had a mixed fleet. Each backend has its own quirks, its own quality tuning, and its own way of failing silently when a driver rev breaks the ABI. Vulkan Video is the first serious attempt at a cross-vendor abstraction that isn't a decade behind the state of the art.
Whether it actually delivers depends on your hardware. Early testing from the FFmpeg-devel list suggests the Vulkan H.264 encoder is competitive with VAAPI on Intel Arc and RDNA3 AMD parts, and roughly on par with NVENC on Ada Lovelace for quality at equivalent bitrates — though NVENC still wins on raw throughput. The HEVC path is less mature; expect rough edges on rate control for the next couple of point releases.
The native VVC decoder is more of a strategic move than an immediate practical one. VVC adoption in the wild is still minimal — a handful of DVB-I broadcasts in Europe, some 8K test streams, and not much else. But the codec offers roughly 40% better compression than HEVC at equivalent quality, and the patent pool situation, while still ugly, is less catastrophic than it was two years ago. By pulling the decoder in-tree and making it default, FFmpeg is placing a bet that VVC becomes the successor codec the industry keeps almost-agreeing on.
APV is the sleeper. Developed by Samsung and standardized through SMPTE as ST 2124, it's aimed squarely at professional acquisition and mezzanine workflows — think ProRes and DNxHR territory. It supports 10/12-bit, 4:2:2/4:4:4, up to 8K at high frame rates, and mathematically lossless modes. The fact that FFmpeg has native support before Adobe, Avid, or DaVinci is unusual and suggests Samsung has been quietly working the open-source angle for months.
If you run a transcoding farm, the Vulkan encoders don't replace your existing pipeline overnight, but they're worth benchmarking. The pitch isn't better quality or throughput — it's that one binary and one code path can target every GPU you buy for the next five years, including whatever weird ARM+integrated-GPU box lands on your rack in 2027. That kind of portability has real ops value even if per-node throughput takes a small hit.
If you're a video app developer shipping libavcodec bindings, the VVC default-on change is the one to plan around. Your CI images will pick up the new decoder automatically; if you have any code that gates VVC behind an experimental-codec check, delete it. Also audit anywhere you construct FFmpeg command lines from strings — the `-vf`/`-af` deprecation won't error out yet, but it will start printing warnings, and those warnings will end up in customer logs.
One underdiscussed change: the AV1 hardware acceleration matrix filled out significantly in 9.0. Both `av1_nvenc` and `av1_vaapi` are now considered production-ready rather than experimental, and the Vulkan AV1 decoder gained film grain synthesis. If you've been transcoding to AV1 in software because the hardware paths were sketchy, that calculus just changed — 10-bit AV1 encode on a modern GPU is now a realistic default for user-generated content pipelines.
The interesting question for the 10.0 cycle is whether the Vulkan encoders can close the throughput gap with NVENC — and whether AMD and Intel invest enough driver engineering to make Vulkan Video their preferred surface rather than a checkbox. If that happens, the whole "which hardware backend do I target" question that has shaped media infrastructure for a decade quietly dissolves. If it doesn't, we're stuck with the vendor-lock status quo and Vulkan becomes another well-intentioned abstraction layer nobody uses in production. Bet on the former, but keep VAAPI in your build for another year.
I feel we’re blessed to have a project like FFmpeg. This open source tool is so important for everyone.
For those interested in the work being done, with a bit more details that just the Changelog, I wrote a longer blogpost about the work here: https://jbkempf.com/blog/2026/ffmpeg-9.0/More details about the ongoing work on Swscale rewrite, on the various Vulkan changes, t
Yeah but the twitter account has been version 11 for some time now.
One of my favorite pieces of software. FFmpeg has done so much for my career. Happy to see it still going strong.
Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.
Changelog:- Extend AMF Color Converter (vf_vpp_amf) HDR capabilities- LCEVC track muxing support in MP4 muxer- Playdate video encoder and muxer- Add v360_vulkan filter- HE-AAC 960 decoding (DAB+)- transpose_cuda filter- Add AMF Frame Rate Converter (vf_frc_amf) filter- SMPTE 2094-50 metadata support