Po deseti měsících vývoje je k dispozici multimediální balík FFmpeg 5.0, který zahrnuje sadu aplikací a kolekci knihoven pro operace s různými multimediálními formáty (záznam, převod a dekódování zvukových a videoformátů). Balík je distribuován pod licencemi LGPL a GPL, vývoj FFmpeg probíhá paralelně s projektem MPlayer. Významná změna čísla verze je vysvětlena podstatnými změnami v API a přechodem na novou schéma vydávání, podle které budou nové významné verze vydávány jednou ročně a verze s prodlouženou dobou podpory jednou za dva roky. FFmpeg 5.0 se stane prvním LTS vydáním projektu.
Mezi změnami přidanými do FFmpeg 5.0 lze vyzdvihnout:
- Bylo provedeno významné vyčištění starých API pro kódování a dekódování a byl proveden přechod na nové N:M API, které nabízí jednotné programové rozhraní pro zvuk a video, stejně jako dělené kodeky pro vstupní a výstupní toky. Všechna stará API, která byla dříve označena jako zastaralá, byla odstraněna. Bylo přidáno nové API pro bitstreamové filtry. Formáty a kodeky byly odděleny – rozbalovače mediakontejnerů již nezabudovávají celý kontext dekodérů. Bylo odstraněno API pro registraci kodeků a formátů – všechny formáty jsou nyní vždy registrovány.
- Knihovna libavresample byla odstraněna.
- Do knihovny libswscale byl přidán jednodušší API založené na AVFrame.
- Podpora grafického API Vulkan byla významně zlepšena.
- Byla přidána podpora hardwarového urychlení dekódování a kódování formátů VP9 a ProRes s použitím API VideoToolbox.
- Byla přidána podpora architektury LoongArch, používané v procesorech Loongson, a také podpora SIMD rozšíření LSX a LASX dodávaných v LoongArch. Pro kodeky H.264, VP8 a VP9 byly implementovány optimalizace specifické pro LoongArch.
- Byla přidána podpora protokolu Concatf, který definuje formát pro přenos seznamu prostředků ("ffplay concatf:split.txt").
- Byly přidány nové dekodéry: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (rastrové obrázky).
- Byly přidány nové kodérky: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Parametry kodérů AAC byly změněny s cílem dosáhnout vyšší kvality.
- Byly přidány obalovače mediakontejnerů (muxer): Westwood AUD, Argonaut Games CVG, AV1 (nízkopřekryvný bitstream).
- Byly přidány rozbalovače mediakontejnerů (demuxer): IMF, Argonaut Games CVG.
- Byl přidán nový parser pro zvukový kodek AMR (Adaptive Multi-Rate).
- Byl přidán obalovač payload dat (packetizer) pro přenos nezkomprimovaného videa pomocí protokolu RTP (RFC 4175).
- Nové filtry pro video:
- segment a asegment — rozdělení jednoho streamu s videem nebo zvukem na několik streamů s časovým nebo snímkovým oddělením.
- hsvkey a hsvhold — nahrazují ve videu část barevného rozsahu HSV hodnotami v odstínech šedé.
- grayworld — barevná korekce videa pomocí algoritmu založeného na hypotéze šedého světa.
- scharr — aplikace Scharrových operátorů (varianta Sobelova operátora s jinými koeficienty) na vstupní video.
- morpho — umožňuje aplikovat různé morfologické transformace na video.
- latency a alatency — měří minimální a maximální zpoždění filtrace pro dříve aplikovaný filtr.
- limitdiff — určuje rozdíl mezi dvěma nebo třemi videostreamy.
- xcorrelate — počítá vzájemnou korelaci mezi videostreamy.
- varblur — proměnlivé rozmazání videa s určením poloměru rozmazání z druhého videa.
- huesaturation — aplikace úpravy odstínu, saturace nebo intenzity na video.
- colorspectrum — generování videostreamu s daným barevným spektrem.
- libplacebo — použití pro zpracování HDR shaderů z knihovny libplacebo.
- vflip_vulkan, hflip_vulkan a flip_vulkan — varianty filtrů vertikálního nebo horizontálního převrácení videa (vflip, hflip a flip), realizované pomocí grafického API Vulkan.
- yadif_videotoolbox — varianta deinterlacing filtru yadif na základě frameworku VideoToolbox.
- Nové filtry pro zvuk:
- apsyclip — použití psychoakustického omezovače na zvukový stream.
- afwtdn — potlačuje širokopásmový šum.
- adecorrelate — aplikace algoritmu dekolorace na vstupní stream.
- atilt — použití spektrálního posunu pro zadaný frekvenční rozsah.
- asdr — určení zkreslení signálu mezi dvěma zvukovými streamy.
- aspectralstats — výstup statistik se spektrálními charakteristikami každého zvukového kanálu.
- adynamicsmooth — dynamické vyhlazení zvukového streamu.
- adynamicequalizer — dynamické vyrovnávání zvukového streamu.
- anlmf — použití algoritmu nejmenších středních čtverců na zvukový stream.
Zdroj: opennet.ru
