După aproape un an de dezvoltare, pachetul multimedia FFmpeg 8.0 este disponibil, incluzând un set de aplicații și o colecție de biblioteci pentru operații asupra diferitelor formate multimedia (înregistrare, conversie și decodare a formatelor audio și video). Pachetul este scris în limbajul C și este distribuit sub licențele LGPL și GPL.
Printre modificările din FFmpeg 8.0:
- Pe baza API-ului grafic Vulkan 1.3 au fost implementate codecurile FFV1 (codare și decodare) și ProRes RAW (doar decodare), remarcându-se printr-o creștere semnificativă a performanței datorită paraleleizării operațiunilor. Encoderii și decoderele bazate pe API-ul Vulkan pentru formatele ProRes și VC-2 sunt în faza de testare. Codecurile bazate pe API-ul Vulkan utilizează shader-e computaționale și beneficiază de accelerare hardware.
- Au fost activate extensii ale API-ului grafic Vulkan pentru accelerarea hardware a decodării video VP9, VVC (pe baza VAAPI) și H.264 (pe baza OpenHarmony).
- Au fost activate extensii ale API-ului grafic Vulkan pentru accelerarea hardware a codării video AV1 și H.264 (pe baza OpenHarmony).
- Au fost adăugate decodoare pentru formatele de codare video APV (Advanced Professional Video), ProRes RAW și RealVideo 6.0.
- Au fost adăugate decodoare pentru formatele de codare audio Sanyo LD-ADPCM, Xbox ADPCM IMA și G.728.
- A fost implementat un encoder pentru formatul APV (Advanced Professional Video), bazat pe biblioteca libopenapv.
- În decodorul pentru formatul video VVC (Versatile Video Coding, H.266) a fost implementat suport pentru extensiile IBC (Inter Block Copy), SSC (Screen Content Coding) și ACT (Adaptive Color Transform), precum și pentru modul paletă. A fost adăugat un variantă a decodorului pentru formatul video VVC, utilizând VAAPI. A fost implementată posibilitatea utilizării formatului VVC în containerul multimedia Matroska.
- În biblioteca libx265 a fost adăugat suport pentru codarea canalului alfa (transparență).
- A fost adăugată o interfață pentru utilizarea encoderelor și decoderele accelerate hardware din proiectul OpenHarmony.
- A fost adăugat suport pentru codarea imaginilor animate în format JPEG XL, utilizând biblioteca libjxl.
- A fost îmbunătățit suportul pentru audio și video multi-track în formatul FLV v2.
- În împacheteazătorul de containere multimedia MP4 a fost adăugat suport pentru formatele AV1 și APV.
- A fost eliminată dezactivarea autovectorizării la compilarea în GCC pe sistemele x86, ARM și AArch64.
- Optimizarile asamblării bazate pe instrucțiunile AVX-512 au fost implementate, permițând accelerarea semnificativă a anumitor operații utilizate în decodarea video.
- Filtre noi:
- whisper pentru recunoașterea automată a vorbirii utilizând modelul AI Whisper.
- colordetect pentru a determina intervalul eficient de valori și modul canalului alfa.
- pad_cuda pentru adăugarea de margini la fluxul video de intrare folosind CUDA.
- scale_d3d11 pentru redimensionarea video folosind API-ul grafic Direct3D 11.
- Suportul pentru versiunile bibliotecii OpenSSL mai vechi de 1.1.0 a fost întrerupt.
- Suportul pentru asamblorul yasm a fost întrerupt (doar suportul pentru nasm a fost păstrat).
- Encoderele bazate pe API OpenMAX (Open Media Acceleration) au fost declarate învechite.
- Verificarea este activată implicit. certificatelor TLS (din cauza modificării comportamentului la procesarea TLS, numărul versiunii FFmpeg a fost schimbat semnificativ).
Sursa: opennet.ro
