FFmpeg bővülő formátumtámogatás és jelentős swscale fejlesztések

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Az FFmpeg projekt folyamatosan bővíti az által támogatott audio- és videóformátumok körét, miközben a teljesítmény optimalizálása továbbra is kézzel írt Assembly kódokkal történik. A legfrissebb változások között megjelent az AHX audiofájlok támogatása is, amely a ’90-es évek végéről származó, Amiga és Commodore 64-szerű szintetikus zenék létrehozására használt formátum.

Új formátumtámogatások

Az AHX (Abyss’ Highest eXperience) Linuxon korábban XMMS plug-ineken keresztül volt elérhető, most azonban a sokoldalú FFmpeg multimédia könyvtár képes az AHX fájlok dekódolására is.

Ezen felül a további Git-beolvasztások során több új formátum is bekerült, például az ADPCM Silicon Graphics N64 dekóder a Nintendo 64 platformhoz, valamint számos további audio- és videóformátum támogatása.

Swscale újraírás – teljesítmény és karbantarthatóság

Az FFmpeg 8.0 kiadása után a fejlesztők újabb nagyobb funkciókon dolgoznak, elsősorban a swscale modul teljes újraírásán. Ez a modul felelős a képátméretezésért, színtér konverzióért és kapcsolódó műveletekért, és az új keretrendszer célja a gyorsabb, könnyebben karbantartható és bővíthető kód biztosítása.

Az új swscale keretrendszer kevésbé függ a fordító automatikus vektorizálásától, és egy új x86 SIMD back-end is beépült. A fejlesztő, Niklas Haas, a több hónapos munka során azt tapasztalta, hogy a single-threaded kód akár 2,1-szer gyorsabb lehet, bizonyos esetekben pedig 40,3-szor gyorsabb, míg a multi-threaded feldolgozás 2,6-szor, egyes esetekben pedig 254-szer gyorsabb a korábbi implementációhoz képest.

Egyéb újítások és építési opciók

A kód újraírása mellett a fejlesztők bevezettek egy "--enable-unstable" build-time opciót, amely lehetővé teszi az „instabil” funkciók használatát, például a jelenleg kísérleti swscale modul kikapcsolását, de a jövőben kiterjeszthető kísérleti kodekek és további funkciók támogatására is.