FFmpeg 7.1 is released today, and while it is a .1 release, it’s a major release with numerous features, notably on the codecs side: it features a full VVC native decoder, a new MV-HEVC decoder, a new LC-EVC decoder, a new xHE-AAC decoder, it finishes the IAMF decoder and it also adds Vulkan hardware encoding, VVC encoding, and other hardware accelerations.
We decided, a couple of years ago, to do our own VVC decoder, instead of using the official vvcdec decoder. There are a tons of reasons to prefer native decoders inside FFmpeg, notably for better control of the codebase, but mostly because it allows sharing code between decoders, and this is especially true for the VVC decoder (and other MPEG decoders)
The VVC decoder was a large project, notably done by Google Summer of Code students last year, and the main decoder landed in FFmpeg 7.0, but it was not complete, and was therefore marked as experimental. The continuation of the work, notably numerous extensions but also optimizations were implemented, which makes that now the decoder can decode DVB streams. This means that the decoder is now production ready in 7.1!. Congratulations to the amazing VVC team, and mostly Nuo Mi and Frank Plowman.
This decoder shares some code with the H.264 and the HEVC decoders, which means that some assembly optimizations are shared or that most SEI parsing is shared (for example, the H.274 Film Grain should work with VVC).