Sunday, April 7, 2024

FFmpeg 7.0 "Dijkstra" Released with Crucial AArch64 Optimization for HEVC

 Around five months after the release of FFmpeg 6.1, the open-source multimedia framework FFmpeg 7.0 has been released today as a major update introducing new features, new decoders, new filters, and numerous other changes.

Highlights of FFmpeg 7.0 include Dolby Vision profile 10 support in AV1, support for HEIF/AVIF still images and tile still images, support for PacketTypeMetadata from PacketType in enhanced FLV format, D3D12VA hardware acceleration for H264, HEVC, VP9, AV1, MPEG-2, and VC1 decoding, and crucial AArch64 optimizations for HEVC.

New additions also include Ambient Viewing Environment metadata support in MP4/ISOBMFF, EVC decoding using the external library libxevd, EVC encoding using the external library libxeve, as well as support for parallel demuxing, decoding, filtering, encoding, and muxing in the ffmpeg command-line interface (CLI).

Furthermore, FFmpeg 7.0 adds support for the AFGS1 format (AOMedia Film Grain Synthesis 1), introduces LoongArch optimizations for HEVC decoding, as well as RISC-V optimizations for AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, VP8, and other formats, and adds IAMF support inside MP4/ISOBMFF.

This release also enables the gdigrab device to capture windows using the hwnd=HANDLER syntax, introduces the randomi() function in expressions, updates the ffmpeg -bsf options for use as input and output, adds support for Android content URI protocol, and adds hardware-accelerated decoding support to ffplay, dependent on Vulkan renderer through the libplacebo library. HDR10 metadata passthrough has been added as well in FFmpeg 7.0 when encoding with libx264, libx265, and libsvtav1 encoders, along with DXV DXT1 encoder, LEAD MCMP decoder, QOA decoder, experimental VVC decoder, qrencodesrc source, and loopback decoder ffmpeg CLI.

Among other notable changes, this release changes the default bitrate control method from VBR to CQP for QSV encoder, adds the -show_stream_groups option to the ffprobe command, updates the ffprobe -export_side_data film_grain command to also print grain details metadata, updates all ffmpeg CLI options to use as -/opt, equivalent to -opt >, and removes unused ffmpeg CLI options -psnr and -map_channel.

As expected, new filters are introduced in this release, including bitstream showinfo filter, fsync filter, tiltandshift filter, quirc filter, aap filter, dnn filter (using libtorch backend), and qrencode filter.

New muxers and demuxers are also included in FFmpeg 7.0, such as DVD-Video demuxer (supported by libdvdnav and libdvdread), QOA demuxer, IAMF raw demuxer and muxer, closed captioned text muxer RCWT (Raw Closed Captioned Text with Timing), and an AEA muxer.

Under the hood, FFmpeg now requires a compiler compliant with C11. Developers note that this requirement will be upgraded to C17 in future releases, urging system integrators to consider updating their build environments if they lack C17 support.

FFmpeg 6.1 is available for download now from the official website and includes several component updates such as libavutil 59.8.100, libavcodec 61.3.100, libavformat 61.1.100, libavdevice 61.1.100, libavfilter 10.1.100, libswscale 8.1.100, libswresample 5.1.100, and libpostproc 58.1.100.



Post a Comment