Po dziesięciu miesiącach prac rozwojowych dostępny jest pakiet multimedialny FFmpeg 5.0, który zawiera zestaw aplikacji oraz kolekcję bibliotek do operacji na różnych formatach multimedialnych (nagrywanie, konwersja i dekodowanie formatów audio i wideo). Pakiet jest dystrybuowany na podstawie licencji LGPL i GPL, a rozwój FFmpeg prowadzony jest równolegle z projektem MPlayer. Znaczna zmiana numeru wersji jest wynikiem poważnych zmian w API oraz przejścia na nową zasadę wydawania wersji, zgodnie z którą nowe znaczące wydania będą powstawać raz do roku, a wydania z przedłużonym czasem wsparcia – raz na dwa lata. FFmpeg 5.0 będzie pierwszym LTS-wydaniem projektu.
Wśród zmian wprowadzonych w FFmpeg 5.0 można wyróżnić:
- Przeprowadzono znaczną czystkę starych API do kodowania i dekodowania oraz wprowadzono nowy API N:M, oferujący jednolity interfejs programistyczny dla dźwięku i wideo, a także separujące kodeki dla strumieni wejściowych i wyjściowych. Usunięto wszystkie stare API, wcześniej oznaczone jako przestarzałe. Dodano nowe API dla filtrów bitstream. Podzielono formaty i kodeki – demontażniki kontenerów multimedialnych nie osadzają już całego kontekstu dekoderów. Usunięto API do rejestracji kodeków i formatów – wszystkie formaty są teraz zawsze zarejestrowane.
- Usunięto bibliotekę libavresample.
- Do biblioteki libswscale dodano prostszy interfejs API oparty na AVFrame.
- Znacznie poprawiono wsparcie dla graficznego API Vulkan.
- Dodano wsparcie dla sprzętowego przyspieszenia dekodowania i kodowania formatów VP9 i ProRes przy użyciu API VideoToolbox.
- Dodano wsparcie dla architektury LoongArch, stosowanej w procesorach Loongson, a także wsparcie dla dostarczanych w LoongArch SIMD-rozszerzeń LSX i LASX. Dla kodeków H.264, VP8 i VP9 zrealizowano optymalizacje specyficzne dla LoongArch.
- Dodano wsparcie dla protokołu Concatf, definiującego format do przesyłania listy zasobów ("ffplay concatf:split.txt").
- Dodano nowe dekodery: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (obrazy rastrowe).
- Dodano nowe enkodery: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Zmieniono parametry enkodera AAC, aby osiągnąć wyższą jakość.
- Dodano demontowane kontenery multimedialne (muxer): Westwood AUD, Argonaut Games CVG, AV1 (niskokosztowy bitstream).
- Dodano montowane kontenery multimedialne (demuxer): IMF, Argonaut Games CVG.
- Dodano nowe narzędzie do analizy kodeka dźwiękowego AMR (Adaptive Multi-Rate).
- Dodano pakiet danych (packetizer) do przesyłania nieskróconego wideo za pomocą protokołu RTP (RFC 4175).
- Nowe filtry wideo:
- segment i asegment — dzielenie jednego strumienia wideo lub dźwięku na kilka strumieni z podziałem na czas lub klatki.
- hsvkey i hsvhold — zastępują w wideo część zakresu kolorów HSV wartościami w odcieniach szarości.
- grayworld — korekcja kolorów wideo z użyciem algorytmu opartego na hipotezie szarego świata.
- scharr — zastosowanie operatora Scharra (wersja operatora Sobela z innymi współczynnikami) do wejściowego wideo.
- morpho — umożliwia zastosowanie różnych transformacji morfologicznych do wideo.
- latency i alatency — mierzą minimalne i maksymalne opóźnienie filtracji dla wcześniej zastosowanego filtru.
- limitdiff — określa różnicę między dwoma lub trzema strumieniami wideo.
- xcorrelate — oblicza wzajemną korelację między strumieniami wideo.
- varblur — zmienne rozmycie wideo z określeniem promienia rozmycia z drugiego wideo.
- huesaturation — zastosowanie wideo korekcji odcienia, nasycenia lub intensywności.
- colorspectrum — generowanie strumienia wideo o zadanym spektrum kolorów.
- libplacebo — zastosowanie do obróbki HDR shaderów z biblioteki libplacebo.
- vflip_vulkan, hflip_vulkan i flip_vulkan — warianty filtrów pionowego lub poziomego odwrócenia wideo (vflip, hflip i flip), zrealizowane za pomocą API graficznego Vulkan.
- yadif_videotoolbox — wariant filtru deinterlacingu yadif oparty na frameworku VideoToolbox.
- Nowe filtry dźwięku:
- apsyclip — zastosowanie psychoakustycznego ogranicznika do strumienia dźwiękowego.
- afwtdn — tłumi szerokopasmowy szum.
- adecorrelate — zastosowanie do strumienia wejściowego algorytmu dekorelacji.
- atilt — zastosowanie przesunięcia spektralnego dla określonego zakresu częstotliwości.
- asdr — określenie zniekształcenia sygnału między dwoma strumieniami dźwiękowymi.
- aspectralstats — wyświetlanie statystyk z cechami spektralnymi każdego kanału dźwiękowego.
- adynamicsmooth — dynamiczne wygładzanie strumienia dźwiękowego.
- adynamicequalizer — dynamiczne wyrównanie strumienia dźwiękowego.
- anlmf — zastosowanie algorytmu najmniejszych średnich kwadratów do strumienia dźwiękowego.
Źródło: opennet.ru
