FFmpeg 7.0 released, adding native VVC decoder, multi-threading CLI tools, removing deprecated APIs, etc.

Version 7.0 (codename: Dijkstra) of the multimedia framework ' FFmpeg ' was released on April 5, 2024. FFmpeg 7.0 includes changes such as 'adding a native VVC decoder,' 'supporting IAMF,' 'multithreading the CLI tool,' and 'removing deprecated APIs.'


FFmpeg is an open source multimedia framework that can play, combine, convert, and perform other operations on video and audio. FFmpeg is widely used in video playback applications and video-related web services because it supports many media formats and operating systems.

FFmpeg 7.0, released on April 5, 2024, mainly includes changes such as 'adding a native VVC decoder,' 'supporting IAMF,' 'multi-threading the CLI tool,' and 'removing deprecated APIs.' Details of each change are as follows.

◆Added native VVC decoder
VVC is a relatively new video codec released in 2020, and aims to improve compression rates by 30% to 50% over HEVC. In FFmpeg 7.0, a VVC decoder was added to the codec library 'libavcodec', and most of the VVC features are now supported. However, at the time of the release of FFmpeg 7.0, support for VVC is still in the experimental stage.

The performance differences between VVC and other codecs such as HEVC and AV1 are explained in detail in the following article.

When comparing and evaluating the 4K era video codecs 'HEVC', 'AV1' and 'VVC', which codec is most promising for the future? - GIGAZINE

◆IAMF Support
IAMF is an abbreviation for 'Immersive Audio Model and Formats.' 'Immersive Audio' is a term that refers to a combination of 3D audio signals that reproduce a sound experience close to a natural environment, and IAMF is positioned as a model and format for providing Immersive Audio content in offline playback environments and online streaming environments. FFmpeg 7.0 adds the ability to read and write IAMF to 'libavformat.'

More information about IAMF can be found at the following link:

Immersive Audio Models and Formats

◆Multithreading of CLI tools
FFmpeg consists of many components such as encoders, decoders, multiplexers, demuxers, and filters, but these components were designed to run on a single thread. The FFmpeg development team worked on 'the most extensive refactoring in decades' to make each component work on multiple threads, and reported the completion of multithreading in December 2023. This result was incorporated into FFmpeg 7.0.

FFmpeg command line tool multithreading complete, developer says 'most complex fix in decades' - GIGAZINE

◆ Deprecated APIs removed
FFmpeg 7.0 removes APIs that were deprecated in the release of FFmpeg 6.0. The development team states that the biggest change in the API is that the old bitmask-based channel layout API has been removed and replaced with AVChannelLayout .

In addition, in relation to the XZ Utils backdoor problem discovered in March 2024, the FFmpeg development team posted on X (formerly Twitter) that 'big companies' reliance on unpaid volunteers can cause big problems.' As an example of the tyrannical behavior of large companies, the development team cited an incident in which Microsoft reported a problem related to its own products to the development team as a 'high priority issue.'

The development team proposed a long-term maintenance contract to Microsoft, but Microsoft rejected the proposal and instead offered a one-time payment of several thousand dollars (hundreds of thousands of yen).

in Software, Posted by log1o_hf