After nearly a year of development, the FFmpeg 8.0 multimedia package is now available, including a set of applications and a collection of libraries for operations with various multimedia formats (recording, conversion, and decoding of audio and video formats). The package is written in C and is distributed under LGPL and GPL licenses.
Among the changes in FFmpeg 8.0:
- Codecs FFV1 (encoding and decoding) and ProRes RAW (decoding only) have been implemented on the Vulkan 1.3 graphics API, notable for significantly enhanced performance due to parallel processing of operations. Encoders and decoders based on the Vulkan API for ProRes and VC-2 formats are currently in testing. The Vulkan-based codecs utilize compute shaders and provide hardware acceleration.
- Vulkan graphics API extensions have been utilized for hardware acceleration of decoding video VP9, VVC (based on VAAPI), and H.264 (based on OpenHarmony).
- Vulkan graphics API extensions have been employed for hardware acceleration of encoding video AV1 and H.264 (based on OpenHarmony).
- Decoders for video encoding formats APV (Advanced Professional Video), ProRes RAW, and RealVideo 6.0 have been added.
- Decoders for audio encoding formats Sanyo LD-ADPCM, Xbox ADPCM IMA, and G.728 have been added.
- An APV (Advanced Professional Video) encoder based on the libopenapv library has been implemented.
- The decoder for the VVC (Versatile Video Coding, H.266) video format now supports the IBC (Inter Block Copy), SSC (Screen Content Coding), and ACT (Adaptive Color Transform) extensions, as well as palette mode. A variant of the VVC video decoder using VAAPI has been added. Support for using the VVC format in the Matroska media container has been implemented.
- Support for encoding alpha channels (transparency) has been added to the libx265 library.
- A wrapper for using hardware-accelerated encoders and decoders from the OpenHarmony project has been added.
- Support for encoding animated images in JPEG XL format using the libjxl library has been added.
- Improved support for multi-track audio and video in FLV v2 format.
- Support for AV1 and APV formats has been added to the MP4 media container packager.
- Disabling of auto-vectorization during compilation in GCC on x86, ARM, and AArch64 systems has been removed.
- Assembly optimizations based on AVX-512 instructions have been implemented, significantly speeding up certain operations used in video decoding.
- New filters:
- whisper for automatic speech recognition using the AI model Whisper.
- colordetect for determining the effective range of values and alpha channel mode.
- pad_cuda for adding fields to the input video stream using CUDA.
- scale_d3d11 for resizing video using the Direct3D 11 graphics API.
- Support for OpenSSL library versions older than 1.1.0 has been discontinued.
- Support for the yasm assembler has been discontinued (only nasm support remains).
- Encoders based on the OpenMAX API (Open Media Acceleration) have been deprecated.
- Verification is enabled by default. for TLS certificates (Due to changes in TLS processing behavior, the version number of FFmpeg has changed significantly).
Source: opennet.ru
