FFmpeg 5.0 multimedia package release

After ten months of development, the FFmpeg 5.0 multimedia package is available, which includes a set of applications and a collection of libraries for operations on various multimedia formats (recording, converting and decoding audio and video formats). The package is distributed under the LGPL and GPL licenses, FFmpeg development is carried out adjacent to the MPlayer project. The significant change in the version number is due to significant changes in the API and the transition to a new release generation scheme, according to which new major releases will be formed once a year, and releases with extended support time - once every two years. FFmpeg 5.0 will be the first LTS release of the project.

Some of the changes added in FFmpeg 5.0 include:

  • Significant cleaning of old APIs for encoding and decoding has been carried out and a transition has been made to the new N:M API, which offers a single programming interface for audio and video, as well as separating codecs for input and output streams. Removed all old APIs previously marked deprecated. Added new API for bitstream filters. Separated formats and codecs - Media container unpackers no longer embed the entire decoder context. Removed APIs for registering codecs and formats - all formats are now always registered.
  • Removed libavresample library.
  • A simpler API based on AVFrame has been added to the libswscale library.
  • Significantly improved support for the Vulkan graphics API.
  • Added support for hardware accelerated decoding and encoding of VP9 and ProRes formats using the VideoToolbox API.
  • Added support for the LoongArch architecture used in Loongson processors, as well as support for the LSX and LASX SIMD extensions provided in LoongArch. LoongArch-specific optimizations have been implemented for H.264, VP8 and VP9 codecs.
  • Added support for the Concatf protocol, which defines the format for transferring a list of resources ("ffplay concatf:split.txt").
  • Added new decoders: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (bitmaps).
  • Added new encoders: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. AAC encoder settings have been changed to achieve higher quality.
  • Added media container packers (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
  • Added media container unpackers (demuxer): IMF, Argonaut Games CVG.
  • Added a new parser for the AMR (Adaptive Multi-Rate) audio codec.
  • A payload data packer (packetizer) has been added to transfer uncompressed video using the RTP protocol (RFC 4175).
  • New video filters:
    • segment and asegment - division of one stream with video or sound into several streams divided by time or frames.
    • hsvkey and hsvhold - replace part of the HSV color range in the video with grayscale values.
    • grayworld - video color correction using an algorithm based on the gray world hypothesis.
    • scharr - application of the Ball operator (a variant of the Sobel operator with different coefficients) to the input video.
    • morpho - allows you to apply various morphological transformations to the video.
    • latency and alatency - measures the minimum and maximum filtering delay for the previously applied filter.
    • limitdiff defines the difference between two or three video streams.
    • xcorrelate - Calculates the cross-correlation between video streams.
    • varblur - Variable video blur with the definition of the blur radius from the second video.
    • huesaturation - Apply hue, saturation, or intensity adjustments to the video.
    • colorspectrum - generating a video stream with a given color spectrum.
    • libplacebo - application for processing HDR shaders from the libplacebo library.
    • vflip_vulkan, hflip_vulkan, and flip_vulkan are variants of the vertical or horizontal video flip filters (vflip, hflip, and flip) implemented using the Vulkan graphics API.
    • yadif_videotoolbox is a variant of the yadif deinterlacing filter based on the VideoToolbox framework.
  • New sound filters:
    • apsyclip - Applying a psychoacoustic clipper to an audio stream.
    • afwtdn - Suppresses broadband noise.
    • adecorrelate - apply the decorrelation algorithm to the input stream.
    • atilt - apply spectral shift for a given frequency range.
    • asdr - definition of signal distortion between two audio streams.
    • aspectralstats - displays statistics with the spectral characteristics of each audio channel.
    • adynamicsmooth - dynamic smoothing of the sound stream.
    • adynamicequalizer - dynamic equalization of the audio stream.
    • anlmf - Apply the least mean squares algorithm to the audio stream.

Source: opennet.ru

Add a comment