After five months of development, the FFmpeg 7.0 multimedia package is available, which includes a set of applications and a collection of libraries for operations with various multimedia formats (recording, converting, and decoding audio and video formats). The package is distributed under the LGPL and GPL licenses, and FFmpeg development is conducted in parallel with the MPlayer project.
Notable changes added in FFmpeg 7.0 include:
- In the command-line utility ffmpeg, parallel execution of operations for unpacking/packing media containers, decoding, encoding, and applying filters has been implemented.
- Support for encoding and decoding video in the MPEG-5 (EVC — Essential Video Coding) format has been implemented, using the external library libxevd.
- Demuxers and muxers for the QOA (Quite OK Audio) format, used for lossless audio transmission, have been added. It is claimed that QOA decoding occurs three times faster than Ogg-Vorbis while achieving higher quality and compression levels compared to ADPCM.
- Demuxers and muxers for the IAMF (Immersive Audio Model and Format) format have been added, defining a container for distributing surround sound. The format provides for the transmission of additional information necessary for the operation of sound scene reconstruction algorithms and sound mixing, and also considers the propagation of sound signals in three-dimensional space to recreate sound that is as close to natural as possible. Support for IAMF metadata for MP4 and ISOBMFF formats has been provided.
- An experimental decoder for the VVC (Versatile Video Coding) format, also known as the H.266 video compression standard, has been added. This standard was developed jointly by the MPEG (ISO/IEC JTC 1) and VCEG (ITU-T) working groups, with participation from companies such as Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm, and Sony. H.266 replaces H.265 (HEVC) and provides high efficiency for transmitting and storing all screen resolutions (from SD and HD to 4K and 8K), supports video with High Dynamic Range (HDR), and 360-degree panoramic video.
- The ability to use the D3D12VA (Direct 3D 12 Video Encoding) API for hardware-accelerated decoding of H264, HEVC, VP9, AV1, MPEG-2, and VC1 formats has been implemented.
- The ffplay utility now includes support for hardware accelerated decoding using the Vulkan API and libplacebo.
- Support for the Content URI protocol used on the Android platform has been added.
- The requirements for the build environment have been increased — a compiler with C11 support is now required to compile FFmpeg. In a future release, C17 is planned to be used as the minimum supported version.
- For QSV-based encoders (Intel Quick Sync Video), the default bitrate control method has been changed from VBR (variable bitrate) to CQP (constant bitrate).
- A new DVD-Video media container demuxer has been added, based on the use of the libdvdnav and libdvdread libraries from the VideoLAN project.
- The FLV format implementation now supports metadata transmission in packets (PacketTypeMetadata).
- DXV DXT1 encoder has been added.
- LEAD MCMP decoder has been added.
- The media container muxers RCWT (Raw Captions with Time) and AEA have been added.
- The ability to include AVE (Ambient Viewing Environment) metadata has been implemented for MP4 and ISOBMFF formats.
- Support for the AFGS1 (AOMedia Film Grain Synthesis 1) technology, used in the AV1 Film Grain specification to enhance the efficiency of grainy images, has been implemented.
- Support for still images in HEIF and AVIF formats, as well as mosaic still images, has been added.
- A Dolby Vision profile has been implemented for the AV1 format.
- Support for passing HDR10 metadata during encoding through the libx264, libx265, and libsvtav1 libraries has been provided.
- Optimizations for accelerating HEVC format processing on AArch64 and Loongarch architectures have been added. Performance enhancements have been made for accelerating the encoding and decoding of AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, and VP8 formats on RISC-V architecture systems.
- New filters:
- tiltandshift — video transformation in the Tilt-Shift style, where focus is directed at a specific part of the image while the rest is blurred to create a toy-like impression.
- quirc — QR code detection and decoding using the libquirc library.
- fsync — video frame synchronization based on information from an external file.
- aap — uses the Affine Projection algorithm to determine the similarity of audio segments.
- A DNN backend has been added for creating filters that use machine learning models loaded via libtorch.
- The bitstream filter showinfo has been added for debugging output of packet information.
- A handler for qrencodesrc has been added to insert QR codes.
- Support for loopback decoders has been implemented in the ffmpeg utility, allowing the use of the '-bsf' option for input and output streams, while deprecated options '-psnr' and '-map_channel' have been removed.
- The ffprobe utility has implemented the '-show_stream_groups' option and provides metadata output when using the '-export_side_data film_grain' option.
Source: opennet.ru
